zookeeper在dubbo中作用

前言

最近在给一些人讲架构的时候,常被问到一个问题, dubbo与zk是什么关系,所以今天我就来简单整理一下
dubbo建议使用zk作为服务的注册中心,当然也可以使用redis等等

zk作用

名字服务

我觉得这个很好理解哦,哪一个服务得由哪个机器来提供必需得让调用者知道.也就是ip与服务名称的对应关系
dubbo服务提供者在zk上面创建一个临时节点,表明自己ip和端口.消费者使用服务时,就去zk上查询,找到服务提供者.然后再去连服务提供者

集群管理

上面提到了这个ip与服务名称的对应关系,如果咱们直接通过硬编码的方式把这个对应关系在调用方业务代码中实现也是可以的(dubbo直连).但是不利于维护啊;
况且,如果服务提供者宕掉了,消费者并不知道,会继续去请求挂掉的机器提供服务. 但是zk就可以通过心跳机制,能够检测挂掉的机器,并且把挂掉的机器ip和服务名称对应关系从列表中删除.

所以以上这两点,基本就可以说明它在dubbo中起到的作用了吧!

统一配置中心

敲黑板!!!这个是额外加的哈,和dubbo没啥关系了.
咱们应用中,可能会有各种配置,什么redis的,数据库, fastdfs的等等.每次部署的时候,就得改动一堆配置文件(每个服务都得改一遍),然后重新打包,所以如果有一个集中管理配置的方法,在这个集中地方统一修改了.这么多服务的正常运行都得依赖这个配置.所以一般采用一个集群来提供这个配置服务.配置在集群中得一致,这个时候,就可以采用zk了.

小结

dubbo最简单说, 就是一个远程调用的分布式框架.只不过这个框架要完成调度需要一个分布式注册中心,可以用zk,也可以用其他. 只不过推荐的是zk罢了.


在这里再欠几篇博客,有时间我把zk原理写一写.好多的底层都是用的zk,写好了再放地址.

猜你喜欢

转载自blog.csdn.net/kwy15732621629/article/details/80070393
今日推荐