一:负载均衡

    什么叫负载均衡?

        简单的说,负载均衡就是可以把请求过来的http请求,分配到不同的tomcat上,来缓解只有一个tomcat的压力。对于很大的项目,都是分模块开发的,比如:一个项目中的用户模块可以单独拿出来放到一个tomcat上。每一个模块都可以放到一个服务器上。到了后期的时候,一个模块也很庞大了,放到一个服务器上也会有压力,这个时候,就引入了分布式服务的概念了。比如,把订单模块的service层分离,使用duboo来进行远程的调用。dubbo的作用就是调用远程的服务就像调用本地的服务一样。

二:dubbo和zookpeer的关系:

    

    Dubbo建议使用zookeeper作为服务的注册中心

    1.Zookeeper的作用:

        Zookeeper的作用就是充当这个服务注册中心的,并且能负载均衡,作为服务方要提供服务就来ZP这个注册,消费方想获取服务就来ZP这获取服务,消费方是通过IP地址和服务器的对应关系来获取服务的。ZP通过心跳机制可以检测挂掉的机器,并把挂掉的机器的信息从服务列表中删除。

    2.dubbo的作用:

        是一个管理中间层的工具,他是一个框架,里面可以装你想装的服务,然后连接到一个分布式的注册中心,这个注册中心可以是Zookeeper,也可以是Memcached,Redis等。它把注册中心进行的抽象,可以连接不同的传输媒介在注册中心来提供和获取服务。

    3.Zookeeper负载均衡的实现

        单注册中心的承载能力是有限的,在流量达到一定的时候就需要分流,负载均衡就是为了分流而存在的,一个Zookeeper配合相应的web应用就可以很容易的达到负载均衡;光负载均衡还不够,节点之间的数据还没进行同步,Zookeeper天然就具有这样的功能。命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动 的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。 其他特性还有Mast选举,分布式锁等。

    

以上内容为个人在网上搜集的资料的整理;

https://www.cnblogs.com/xiaofei1208/p/7077733.html

https://blog.csdn.net/huoyan403/article/details/70477642

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐