扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
下载地址 :https://archive.apache.org/dist/zookeeper/
创新互联于2013年开始,是专业互联网技术服务公司,拥有项目成都网站制作、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元冀州做网站,已为上家服务,为冀州各地企业和个人服务,联系电话:18982081108问题1:zookeper安装
- 修改conf下zoo_sample.cfg - >zoo.cfg
- bin下启动zkServer.cmd
- 启动成功 :binding to port 0.0.0.0/0.0.0.0:2181
1.去官网下载apache-zookeeper-3.6.2-bin.tar.gz
名字中带有bin的压缩包(就不会出现闪退)
2.将conf目录下zoo_sample.cfg文件重命名为zoo.cfg
3.双击zk.Server.cmd启动程序
下载链接:在3.5.5版本后,官方提供了bin的包,可以不需要配置环境,直接上手查看
之后以管理员方式启动bin文件夹中的cmd文件
会报错,我们需要吧conf里的,zoo_simple复制一份,改成zoo.cof
问题3:修改zookeeper端口号zoo.cfg添加
admin.serverPort=8887
问题4:出现ZooKeeper audit is disabled.为日志记录,有无所谓Dubbo修改zkServer.cmd添加
"-Dzookeeper.audit.enable=true"
,以管理员身份运行,启动zkCli.cmd查看 ls /
下载地址 :https://github.com/apache/dubbo-admin/tree/master,Download-ZIP
1.dubbo为什么性能高rpc框架的速度却决于序列化方式和网络传输方式
本地对象在网络上传输必须要实现serializable接口,序列化方案有xml,json,二进制流。。
dubbo采用二进制流(最快),并且dubbo采用socket通信能建立长连接,不用像http需要七步(三握手四挥手)
dubbo-admindubbo可视化管理,dubboAdmin和minitor。
链接:https://github.com/apache/dubbo-admin
下载好之后,这个是dubbo的一个服务管理中心,可以看到我们注册的服务
用cmd打开,mvn clean package -Dmaven.test.skip=true
,打成jar包
过程可能有点慢,耐心等待
完成之后,把打包好的jar放入zookeeper根目录
之后先启动zookeeper,再跑jar包
查看是否连接成功
注意端口号,8080,如果提示冲突,就是跟zookeeper服务端冲突,用上面zoo.cfg修改端口号即可
zookeeper:注册中心
dubbo-admin:是一个监控管理后台
举例
provider,服务端server
package com.tang.service;
import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
@Service//在项目一启动就注册到注册中心,导入dubbo包内的
@Component//为什么不加service注解,应为dubbo的注册service,用于区分
public class TicketServiceImpl implements TicketService{@Override
public String getTicket() {return "好好学习,天天向上";
}
}
package com.tang.service;
public interface TicketService {public String getTicket();
}
application.properties
server.port=8001
#注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
#服务名字
dubbo.application.name=privoder1
#那些服务要注册
dubbo.scan.base-packages=com.tang.service
# dubbo端口号修改,跟admin监控页面冲突
dubbo.protocol.port=20881
启动,启动后查看dubbo-admin
启动过程可能遇到端口冲突问题windows查询端口占用命令 :netstat -ano | findstr 8080
干掉端口进程 :taskkill /f /pid 28808
linux相关命令 :netstat -anp | grep 8080
ps -ef | grep java
kill -9
pom.xml 依赖不能错
4.0.0 org.springframework.boot spring-boot-starter-parent 2.7.1 com.tang provider-server 0.0.1-SNAPSHOT provider-server Demo project for Spring Boot 8 org.apache.dubbo dubbo-spring-boot-starter 2.7.3 com.github.sgroschupf zkclient 0.1 org.apache.curator curator-framework 2.12.0 org.apache.curator curator-recipes 2.12.0 org.apache.zookeeper zookeeper 3.4.14 org.slf4j slf4j-log4j12 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
customer,客户端server:
package com.tang.service;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.stereotype.Service;
@Service//这里要用spring的注解哟,只有spring可以字自动装配
public class UserService {//想拿到票,需要调用远程服务,拿到我们服务之者的方法,要去注册中心拿服务
@Reference//引用 Pom坐标可以定义路径相同的接口名
TicketService ticketService;
public void buyTicket(){String getTicket = ticketService.getTicket();
System.out.println("注册中心zk拿到==>"+getTicket);
}
}
package com.tang.service;
public interface TicketService {public String getTicket();
}
package com.tang;
import com.tang.service.UserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class ConsumerServerApplicationTests {@Autowired
UserService userService;
@Test
void contextLoads() {userService.buyTicket();
}
}
步骤:
前提:zookeeper服务已开启!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流