四、ZooKeeper 典型应用场景----命名服务

一、什么是命名服务?

命名服务(Naming Service),是分布式系统中比较常见的一类场景。在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源戒服务的地址,提供者等信息。被命名的实体通常可以是集群中的机器,提供的服务地址,进程对象等等——这些我们都可以统称他们为名字(Name)。其中较为常见的就是一些分布式服务框架中的服务地址列表。通过调用 ZK 提供的创建节点的 API,能够很容易创建一个全局唯一的 path,这个 path 就可以作为一个名称。

 

二、dubbo中应用

阿里开源的分布式服务框架 Dubbo 中使用 ZooKeeper 来作为其命名服务,维护全局的服务地址列表。dubbo如果单单从开发者使用的角度来说很容易上手的,他是一个RPC通信框架,基于XML配置的,我虽然工作中一直没有使用过dubbo这个框架,但也去研究学习过,是一个可以快速上手的框架,但是想完全掌握一个框架,最好是去研究他的源码,熟悉其架构原理。

如何实现:

1、服务提供者在启动的时候,向 ZK 上的挃定节点/dubbo/${serviceName}/providers 目彔下写入自己的 URL 地址,这个操作就完成了服务的发布。


2、服务消费者启劢的时候,订阅/dubbo/${serviceName}/providers 目彔下的提供者 URL 地址, 并向/dubbo/${serviceName} /consumers目彔下写入自己的 URL 地址。

注意,所有向 ZK 上注册的地址都是临时节点,这样就能够保证服务提供者和消费者能够自劢感应资源的变化。另外,Dubbo 还有针对服务粒度的监控,方法是订阅/dubbo/${serviceName}目彔下所有提供者和消费者的信息。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值