Dubbo二(安装Zookeeper_Dubbo支持的协议)

末鹿安然 提交于 2020-03-17 21:50:59

安装注册中心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所在位置.

基于点对点的访问策略.

客户端开发麻烦.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!