您的位置:首页 > 其它

【Dubbo】初识

2017-04-26 21:26 239 查看

Dubbo的背景



ORM:最开始代码都写在一起,开发效率很高,同时也好部署

MVC:但是业务逐渐复杂,开发人员增多,采用MVC,垂直分为三层

RPC:随着内部功能细化,变多,用户增多,采用集群负载均衡,采用RPC

SOA:但是服务越来越多,难以负荷,所以要面向服务,采用SOA,进行服务治理

其实就是一个软件在不断发展,不断变得复杂。采用的手段就是分层,细化,然后组织管理

比较像一个公司,创业时一个人都干了;然后开始简单分工,职责分担;业务多了,人多了,就分成一个个部门;部门越来越多,也得对部门进行管理

Dubbo的作用

1. 提供高性能和透明化的RPC远程服务调用

2. 提供SOA服务治理方案



如上图所示,随着系统的复杂,我们就会越来越多的服务,不断增多,不断更新

服务之间会有大量的通信,那就需要RPC的优化

大量的服务的管理,那就需要服务治理

Dubbo的设计

角色设计



当然服务的治理,或者叫管理,就需要引入一些角色进行管理

首先所有的服务都得到注册中心去注册,让人家知道自己的存在

然后所有需要调用服务的对象就订阅注册中心,需要调用时候就知道怎么调,同时注册中心更新了也会通知他们

最后,还会有一个监视器来记录所有的调用,服务什么的,用来监管协调

框架设计



一个庞大复杂的图,其实对应的是那几个角色

细化了10层,都有不同的职责和功能,同时对应着代码中的各个包

这个,在理解代码的时候可以好好研究

Dubbo的技术



Dubbo作为一个架构,会用到很多的技术,有很多是对接的第三方框架

上图是为了为了实现一些功能所用到的技术

Dubbo小结

当前常常说到微服务,Dubbo和Spring Cloud都对其提出解决方案

在这里,Dubbo常常使用的Dubbo+Zookeeper

个人看来,它们就是在解决服务多了怎么办的问题

总体思想还是分而治之吧,不过用Dubbo需要了解很多技术,根据自身情况搭建同时解决相应的问题
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: