dubbo概述
架构历史:
1、单一应用架构
 缺点:单一的系统架构,当系统变得庞大,复杂后;新的扩展、维护,会变得复杂和困难。
每次启动系统,都需要启动所有的东西。而你的扩展,有些东西却没有任何关联。
2、垂直应用机构
	优点:垂直应用架构解决了单一应用架构所面临的扩容问题,能够将流量分散到各个子系统当中,
而且系统的体积可控,一定程度上降低了开发人员之间的协同以及维护的成本,提升开发效率。
	缺点:但是垂直架构中相同的逻辑代码需要复制,不能复用。
3、分布式架构
	优点:公共的逻辑业务抽取出来形成对外服务。这样对于维护和升级都只需要针对相应的系统进行。
也可以让前段业务系统与底层数据访问分离,团队分工更为明确。
	当某个dubbo服务,负载过重时,可以直接增加对应服务的机器数量,用以分担负载。
	此时,dubbo的Monitor,就起到监控作用,统计服务的调用次数和调用时间。
	分布式系统所依赖的基础设施包括服务框架,消息中间件,数据访问中间件,配置中心,分布式缓存系统。
持久化存储(关系数据库,nosql数据库)、搜索引擎、CDN网络、负载均衡系统、运维自动化系统、硬件虚拟化、
镜像管理系统,分布式文件系统、日志收集系统、监控系统、离线计算、实时计算、数据仓库等等。
原理:
dubbo架构说明:
		1、服务提供者(provider)含服务容器(container)
		2、服务消费者(consumer)
		3、注册中心 (registry)
		4、监控中心 (monitor)
dubbo调用关系:
		1、container启动,将provider注册到registry。
		2、consumer启动,从registry中获取provider。
		3、调用的时候,monitor进行监控统计。
		4、registry维护provider的信息。
调用关系说明:
		1、服务容器负责启动,加载,运行服务提供者。
		2、服务提供者在启动时,向注册中心注册自己提供的服务。
		3、服务消费者在启动时,向注册中心订阅自己所需的服务。
		4、注册中心返回服务提供者地址列表给消费者,如果地址有变更,注册中心将基于长连接推送变更地址列表给消费者。
		5、服务消费者从地址列表中,基于软负载均衡算法,选择一台提供者进行调用,如果失败,再选另一台调用。
		6、服务提供者和消费者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
健壮性:
		  1、注册中心宕机,消费者仍能通过本地缓存的地址列表对提供者进行调用。
		  2、监控中心,不影响使用。
	伸缩性:
		  1、提供者无状态,可以动态增加机器部署实例。实现高负载。
使用:
	  一、协议:
		    1、dubbo 缺省协议,采用单一长连接和NIO异步通讯。适用于小数据量大并发的场景。不适用于传递大量的数据服务,如文件,视频等。
 
                     
                    
                 
                    
                
 
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号