程序员入门笔记:zookeeper在dubbo起了什么作用
Posted 程序员交流学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员入门笔记:zookeeper在dubbo起了什么作用相关的知识,希望对你有一定的参考价值。
zookeeper实现的是资源的订阅发布基本原理就是,分布式的环境下服务方实际上是资源,每个服务方把自己的服务的节点信息,注册在zk上,消费者通过zk获取到所需要的服务的相关信息,比如url之类。尚学堂陈老师为大家简单分享zookeeper在dubbo所起到的作用。
我们都知道zk有个很重要的功能,会主动通知消费者所订阅资源的变化信息,比如,同一个服务 某台机器相关进程关闭后,zk会通知消费者,资源的变化情况,这样,就实现了服务的动态添加减少。
这一点在分布式环境下非常重要,设想如下场景:
某网站在做抢购活动,突然发现,后台某个服务资源吃紧,需要增加服务器,而又不能影响当前业务,简单来说他的功能类似于注册中心。
dubbo的服务提供者会在zookeeper上面创建一个临时节点,表明自己的IP和端口,当消费者需要使用服务时,会先在zookeeper上面查询,找到服务提供者,做一些负载的选择(比如随机、轮流),然后按照这些信息,访问服务提供者。
zookeeper负责保存了服务提供方和服务消费方的的URI(dubbo自定义的一种URI),服务消费方找到zookeeper,向zookeeper要到服务提供方的URI,然后就找到提供方,并调用提供方的服务。解耦,分布式,failover。
dubbo是管理中间层的工具,在业务层到数据仓库间有非常多服务的接入和服务提供者需要调度,dubbo提供一个框架解决这个问题。
注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。
以上是关于程序员入门笔记:zookeeper在dubbo起了什么作用的主要内容,如果未能解决你的问题,请参考以下文章