我是条汉子 发表于 2017-3-1 09:33:24

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

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





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




三、看图说话

节点角色说明:
[*]Provider: 暴露服务的服务提供方
[*]Consumer: 调用远程服务的服务消费方
[*]Registry: 服务注册与发现的注册中心(一般用ZooKeeper实现)
[*]Monitor: 统计服务的调用次数和调用时间的监控中心(Dubbo提供了单独的Dubbo Monitor程序)
[*]Container: 服务运行容器

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

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

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

  调用关系说明:


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

  四、Dubbo提供的各个组件


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

a) 功能:监控服务的调用次数,调用时间等信息,将服务下线或上线等
b) 源码地址:https://github.com/alibaba/dubbo/tree/master/dubbo-monitor
c) war包,可以直接在tomcat中部署,请从群中下载

五、Dubbo生态组件


[*]注册中心:ZooKeeper
    a) 版本:3.4.6
    b) 在线文档:http://zookeeper.apache.org/doc/r3.4.6/
    c) 请从群中下载
[*]ZooKeeper信息查看:ZooInspector,请从群中下载






来自为知笔记(Wiz)
页: [1]
查看完整版本: Dubbo系列(1)_背景介绍和基本情况