Zookeeper和Dubbo的关系
试想: 假设有 n 个游客人 , 去到一个城镇, 这个城镇中有m个旅馆。
这n个人如何才能最好程度地居住下来呢? 你想想看,m个旅馆,不知道哪个旅馆已经满了,莫非每个人都要每个旅馆跑一次,如果满了再跑下一个。。这样看起来效率也低了。。。
解决方法就是:
在城镇的入口设立一个注册中心,注册中心里面汇全部的旅馆信息。。但凡来到这个城镇的人都可以来到这个注册中心查看,(我们不考虑旅馆在顾客前往该旅馆的时候的该旅馆的床位变化),这样的效率就大大提升了。
这里我们就可以理解:
Zookeeper 就相当于是一个注册中心,各个旅馆都要在这里登记床位信息, 并且每个游客都要先在这里查询旅店信息,再选择旅馆。 Zookeeper起到信息注册中心的作用。更加严谨说法是:ZooKeeper是一个分布式的,开放源码的分布式应用协调服务,它是为一个分布式应用提供一致性服务的软件,提供的服务包括:配置维护,域名服务,分布式同步,组服务等。。
而Dubbo就相当于 旅客和 旅馆的这么一个框架,听起来摸不着边, 在实际应用中,我们可能有一些服务提供方,还有一些服务消费方, 这个时候, Dubbo就可以帮我们搭建起来一个 Provider-Customer的使用框架,帮我们实现了分布式的构建。
dubbo是alibaba开源的分布式框架,最大特点是按照 分层
的方法来架构,使用这种方式可以让各个层之间解耦(最大限度地松耦合)。Dubbo理解
SpringCloud
dubbo是alibaba旗下的,而对应的Spring系列呢? 大名鼎鼎的SpringCloud
SpringCloud五大神兽:
- 服务发现——Netflix Eureka
- 客服端负载均衡——Netflix Ribbon
- 断路器——Netflix Hystrix
- 服务网关——Netflix Zuul
- 分布式配置——Spring Cloud Config
不对SpringCloud展开。