etcd的应用举例
1.服务发现
(1) 先用LeaseGrant获取租约ID;
(2)Key:系统名称/服务名称/服务版本/服务唯一ID
Value:服务地址
(3)用Put方法存储并有租约
(4)定时用LeaseKeepAlive方法刷新
这样服务发现和心跳都有了
2.订阅发布
(1)创建Topic节点
(2)用put方法在该节点下发布值:key:主题名称 value:数据的
(3)订阅方用 WatchRange方法监视Topic节点
3.负责均衡
类似服务发现,创建一个服务Key,轮训地址,同时记录当前的地址
4.分布式锁
(1)etcd提供了全局锁方法,通过相同key就可以创建全局锁
利用该功能可以创建系统唯一ID
5.队列
(1)创建 queue节点
(2)用Watch方法监视该节点