Dubbo系列(1)_背景介绍和基本情况

一、本文目的
        主要介绍Dubbo的产生背景和需要解决的问题


二、产生背景
        随着大数据量、高并发的互联网应用越来越多,单机系统已经无法满足系统的需要。通过SOA搭建一个分布式服务框架,用于分担压力,提高处理能力,这些都是Dubbo需要解决的问题,Dubbo可以认为是一个SOA的解决方案,是阿里巴巴贡献的开源框架,由Java语言编写


三、看图说话
节点角色说明:

  1. Provider: 暴露服务的服务提供方
  2. Consumer: 调用远程服务的服务消费方
  3. Registry: 服务注册与发现的注册中心(一般用ZooKeeper实现)
  4. Monitor: 统计服务的调用次数和调用时间的监控中心(Dubbo提供了单独的Dubbo Monitor程序)
  5. Container: 服务运行容器

a) 直接使用ApplicationContext启动Dubbo服务

b) 使用Dubbo提供的main(com.alibaba.dubbo.container.Main.main(null))方法入口启动Dubbo服务,可打成jar包运行(推荐)

c) 使用tomcat/jetty等作为Dubbo服务的容器(不推荐,原因是tomcat和dubbo都需要管理)

调用关系说明:

  1. 0服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,
  6. 再选另一台调用。
  7. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。


四、Dubbo提供的各个组件

  1. 管理控制台:Dubbo-Admin
    a) 功能:查看Dubbo的所有服务提供者和消费者、调整服务的负载权重等
    b) 源码地址:https://github.com/alibaba/dubbo/tree/master/dubbo-admin
    c) war包,可以直接在tomcat中部署,请从群中下载
  2. 监控中心:Dubbo-Monitor

a) 功能:监控服务的调用次数,调用时间等信息,将服务下线或上线等
c) war包,可以直接在tomcat中部署,请从群中下载

五、Dubbo生态组件
  1. 注册中心:ZooKeeper
        a) 版本:3.4.6
        b) 在线文档:http://zookeeper.apache.org/doc/r3.4.6/
        c) 请从群中下载
  2. ZooKeeper信息查看:ZooInspector,请从群中下载 






posted @ 2016-10-25 14:44    阅读(1034)  评论(0编辑  收藏  举报