一、本文目的

        主要介绍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,请从群中下载


Dubbo系列(1)_背景介绍和基本情况的更多相关文章

  1. Dubbo系列(3)_官方Demo说明

    一.本文目的     通过Dubbo的官方Demo介绍,学会搭建一个简单的Dubbo程序,包括服务端.客户端.接口等. Demo地址:https://github.com/alibaba/dubbo/ ...

  2. Dubbo系列_概述

    一.本文目的         学习使用Dubbo也有一段时间了,准备写一个系列文章介绍Dubbo的相关知识和使用,供自己以后回顾和他人学习.有兴趣的同学可以加入群:74085440一起探讨 二.书写计 ...

  3. NLP系列(4)_朴素贝叶斯实战与进阶

    作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:http://blog.csdn.net/han_xiaoyang/article/details/50629608 htt ...

  4. NLP系列(4)_朴素贝叶斯实战与进阶(转)

    http://blog.csdn.net/han_xiaoyang/article/details/50629608 作者: 寒小阳 && 龙心尘 时间:2016年2月. 出处:htt ...

  5. Dubbo 系列(05-1)服务发布

    目录 Dubbo 系列(05-1)服务发布 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 服务暴露整体机制 2. 源码分析 2.1 前置工作 2.2 ...

  6. Dubbo 系列(07-5)集群容错 - Mock

    Dubbo 系列(07-5)集群容错 - Mock [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关文档推荐: Dubbo 实战 - 服务降级 ...

  7. Dubbo 系列(07-4)集群容错 - 集群

    BDubbo 系列(07-4)集群容错 - 集群 [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 相关文档推荐: Dubbo 集群容错 - 实战 D ...

  8. Dubbo 系列(07-3)集群容错 - 负载均衡

    目录 Dubbo 系列(07-3)集群容错 - 负载均衡 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 负载均衡算法 1.2 继承体系 2. 源码分析 ...

  9. Dubbo 系列(07-1)集群容错 - 服务字典

    Dubbo 系列(07-1)集群容错 - 服务字典 [toc] Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 本篇文章,将开始分析 Dubbo 集群容错方面的 ...

随机推荐

  1. pyenv 使用简介

    pyenv 是一个 python 版本管理工具,可以方便用户在不同的 python 版本间切换,例如我的电脑里默认的 python 是 2.6, 但我还想装 2.7 3.5 等.另有一个名为 pyen ...

  2. POJ 2540 Hotter Colder --半平面交

    题意: 一个(0,0)到(10,10)的矩形,目标点不定,从(0,0)开始走,如果走到新一点是"Hotter",那么意思是离目标点近了,如果是"Colder“,那么就是远 ...

  3. android整体架构概述--①

    android的logo 是由设计师去厕所时来的灵感. 其中android的命名都是以甜点的名字来定的. android的系统一共有四层. 1.Linux内核和驱动层 2.函数库  由C或C++编写 ...

  4. SQL Server日期与字符串之间的转换

    本文导读:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.下面主要就介绍一下SQL Serv ...

  5. PHP命令行模式

    <?php error_reporting(E_ALL); header('Content-Type:text/plain;charset=utf-8'); interface CommandA ...

  6. Typescript 其实就想排个序和枚举取数

    Typescript里的sort和C#差不多,但是略有不太一样,反正官方文档没说明白,就自己研究吧 list =list.sort((n1,n2) => { if(n1 > n2) { r ...

  7. springmvc 通过异常增强返回给客户端统一格式

    在springmvc开发中,我们经常遇到这样的问题:逻辑正常执行时返回客户端指定格式的数据,比如json,但是遇NullPointerException空指针异常,NoSuchMethodExcept ...

  8. 去除项目中的SVN标记

    第一步:建立一个名字叫做remove-svn-folders.reg的文本(先建立txt文件,然后粘贴内容后再修改文件名字),记得后缀要叫.reg.文本的内容为: Windows Registry E ...

  9. Oracle date 和 timestamp 区别

    1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型.它可以存储月,年,日,世纪,时,分和秒.它典型地用来表示什么时候事情已经发生或将要发生.    ...

  10. Theano2.1.5-基础知识之打印出theano的图

    来自:http://deeplearning.net/software/theano/tutorial/printing_drawing.html Printing/Drawing Theano gr ...