dubbo与zk搭建rpc服务

dubbo入门

rpc远程调用框架
服务治理
集群容错机制
负载均衡
动态配置
服务治理
路由策略

1、 结构

生产者:提供接口
消费者:调用接口
注册中心:负载均衡,容错机制,路由,服务治理
监控中心:监控

2、 流程

1、注册到zk:zk创建节点,节点名称-节点值(服务器IP+port)
2、订阅:watch事件通知
3、监控中心:记录调用的次数及每次调用的状态

zookeeper基础

分布式协调工具
发布订阅watcher:监控节点的变化
负载均衡
分布式通知
master选举:主备 投票机制 ping机制 心跳检测
zk分布式锁:redis分布式锁不同、
分布式配置中心:

1、 zk应用场景

1、数据发布订阅(配置中心)
2、命名服务
3、master选举
4、集群管理
5、分布式队列
6、分布式锁

2、 zk结构

树形结构
节点:名称、内容(节点信息)
节点类型:
	持久节点:断开时仍然存在节点
	临时节点:节点存在时,断开时去除
	持久顺序节点:节点编号
	临时顺序节点:
节点watcher:
	节点事件通知

3、 zk实现分布式队列

入队:创建顺序节点
出队:消费者取出所有节点,移除最小号节点

4、 window安装zk

解压,修改配置文件
启动服务端
启动客户端
命令行:
	查看所有节点:ls /
	创建(持久)节点:create /name content
	修改节点内容:set /name content-update
	创建子节点:create /name/name2 content2	
可视化工具
开启,配置zk地址:

zookeeper

在linux下安装配置

结构:类似于linux的树形结构

znode:
	名称唯一
	节点类型:持久、顺序、临时、临时顺序

zk指令:
	操作节点

有序性
可复制
快速(内存)

session会话机制:
	分配客户端id
	发送心跳保持会话有效
	会话请求顺序FIFO

数据结构:
	节点数据:状态、配置、位置
	节点元数据
	数据大小限制:1M


节点类型:
	持久节点:
		- 即使在创建该特定znode的客户端断开连接后,持久节点仍然存在。默认情况下,除非另有说明,否则所有znode都是持久的。
	临时节点:
		- 客户端活跃时,临时节点就是有效的。当客户端与ZooKeeper集合断开连接时,临时节点会自动删除。因此,只有临时节点不允许有子节点。如果临时节点被删除,则下一个合适的节点将填充其位置。临时节点在leader选举中起着重要作用。
	顺序节点:
		顺序节点可以是持久的或临时的。当一个新的znode被创建为一个顺序节点时,ZooKeeper通过将10位的序列号附加到原始名称来设置znode的路径。例如,如果将具有路径 /myapp 的znode创建为顺序节点,则ZooKeeper会将路径更改为 /myapp0000000001 ,并将下一个序列号设置为0000000002。如果两个顺序节点是同时创建的,那么ZooKeeper不会对每个znode使用相同的数字。顺序节点在锁定和同步中起重要作用。这个计数器对于父znode是惟一的。计数器的格式为%010d——即填充为0(0)的10位数字(计数器采用这种格式是为了简化排序),即“<路径> 0000000001”。注意:用于存储下一个序列号的计数器是由父节点维护的带符号int(4字节),当增加到2147483647之后计数器将溢出(导致名称“<path>-2147483648”)。
	临时顺序节点

watch监听机制:
	在znodes设置watch,监听znode变化
	* 监听数据变更
	* 监听子节点变化


锁特点:
	排他性:只有一个线程能获取到
	阻塞性:其他未抢到的线程阻塞,直到锁释放出来,再抢。
	可重入性:线程获得锁后,后续是否可重复获取该锁。

zookeeper锁:
	阻塞性,jdk栅栏
	可重入性,计数器实现

dubbo

zookeeper下载:
https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/
解压配置config:
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
配置环境:
vi /etc/profile			
export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
source /etc/profile    
启动服务:
zkServer.sh start
zkServer.sh status 
启动客户端:
zkCli.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值