dubbo学习记录(一)dubbo简介

     作为阿里开源的项目,dubbo出现也有段时间了,之前接触过一点,但是没细研究,这次抽出时间来具体学习一下。

一、什么是Dubbo?

     Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

   (RPC:远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。举个例子:java中的类调用来说。A类请求B类的方法,可以把B当做一个服务提供者,服务提供者B在另外一台主机上。A发送请求参数通过网络请求请求B的方法,B收到参数之后通过相应方法进行处理返回处理的结果。)

  (SOA:面向服务架构,是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能)

二、Dubbo出现背景

 

单一应用架构

 

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。

垂直应用架构

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率。此时,用于加速前端页面开发的Web框架(MVC)是关键。

分布式服务架构

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。

流动计算架构

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

 

三、Dubbo的用途

 

         1、降低服务的配置管理难度。

         2、自动进程负载均衡。

         3、自动描述应用间的依赖关系图,帮助架构师管理。

         4、查看服务访问量以及响应时间,及时调整服务所需机器数量。


四、Dubbo架构


Provider暴露服务的服务提供方

Consumer调用远程服务的服务消费方
Registry服务注册与发现的注册中心
Monitor统计服务的调用次数和调用时间的监控中心
Container服务运行容器


  


详细内容请看dubbo文档点击打开链接






              

                      

 

posted @ 2018-01-06 22:59  十禾。  阅读(171)  评论(0编辑  收藏  举报