安装注册中心Zookeeper
Zookeeper使用java开发的, 所以安装Zookeeper的前提是安装JDK.
安装JDK
# 解压缩jdk安装包
tar -zxf jdk-x.x.x.tar.gz
# 移动到指定目录: /usr/local/jdk
mv jdk-x.x.x /usr/local/jdk
# vim编辑profile配置环境变量
vim /etc/profile
##########################
JAVA_HOME=/usr/local/jdk
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export PATH
##########################
# 使配置生效
source /etc/profile
安装Zookeeper
解压缩
tar -zxf zookeeper-3.4.6.tar.gz
移动位置
mv zookeeper-3.4.6 /usr/local/zookeeper
提供数据保存目录
可以在任意位置创建一个目录,用于保存Zookeeper执行期间的数据.
建议在/usr/local/zookeeper目录中创建目录.
mkdir /usr/local/zookeeper/data
修改配置文件
/usr/local/zookeeper/conf/zoo.cfg配置文件.
部分版本默认不存在zoo.cfg配置文件.但是提供zoo_sample.cfg配置文件模板
cp zoo_sample.cfg zoo.cfg
修改内容: 修改数据保存目录位置. 建议使用绝对路径配置.
# 检查时间周期, 2000毫秒
tickTime=2000
# 基础的同步数据初始参数
initLimit=10
# 同步数据的最小单元
syncLimit=5
# 修改数据保存目录
dataDir=/usr/local/zookeeper/data
# 服务端端口号. 默认为2181
clientPort=2181
# 最大客户端连接数
#maxClientCnxns=60
#
# 自动计数容量
#autopurge.snapRetainCount=3
# 自动计数基数
#autopurge.purgeInterval=1
启动
bin/zkServer.sh start
查看状态
bin/zkServer.sh status
正常执行状态反馈
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: standalone
服务未执行状态反馈
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
关闭
bin/zkServer.sh stop
客户端访问
使用Zookeeper提供的命令行客户端,访问Zookeeper服务器.
默认访问localhost:2181
bin/zkCli.sh [-p 端口 -h 主机名/IP]
Dubbo支持的协议
协议是客户端和服务器进行数据通讯的标准.常使用字符串约束.
用不同的分隔符,描述不同的数据信息.
Dubbo中支持多种数据通讯协议.
dubbo协议 - 官方推荐
默认协议, 单一长连接NIO协议.
单一:一次访问只使用一个连接.
长连接: 从开始通讯到结束通讯,中途不中断.
NIO: 基于net[socket]实现的IO流,作为通讯的基础载体.
Dubbo协议默认使用的端口号是20880.
只适合传输少量数据. 不适合传输大文件.如:视频,文件等.
单次连接传输数据默认上限为500KB.
所有的在dubbo协议中传递的数据,都必须是可序列化的数据.
RMI协议
基于java中的JDK基础java.rmi.*实现的协议.
基于序列化的协议.所有的在RMI协议中传输的数据,都必须可序列化.
是一个阻塞式的短连接协议.
短连接: 可能在一次访问中,使用多次连接通讯.
阻塞: 当客户端未访问的时候,服务器线程状态为阻塞状态.
Hessian协议
是基于HTTP的一个应用层协议.
需要额外提供hessian协议jar包.否则无法执行代码.
所有资源可序列化.
Redis协议
基于Redis服务器实现的. 在redis中发布服务信息. 客户端不需要感知redis所在位置.
基于点对点的访问策略.
客户端开发麻烦.
来源:CSDN
作者:YaoRoy
链接:https://blog.csdn.net/YaoRoy/article/details/104904351