Dubbo 入门介绍
一、什么是Dubbo
Dubbo 是阿里巴巴公司一个开源的高性能服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案,使得应用可通过高性能 RPC 实现服务的输出、输入功能和 Spring 框架无缝集成。
官方链接地址:http://dubbo.io/
官方GitHub 链接地址:https://github.com/ApacheInfra/dubbo
二、Dubbo 的应用场景
当一个网站变得复杂后,不可避免的需要拆分应用进行服务化,以提高开发效率,调优性能,节省关键竞争资源等。
当服务越来越多时,服务的URL地址信息就会爆炸式增长,配置管理变得非常困难。当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动。
基于上面的问题,我们就可以使用Dubbo。
三、Dubbo 体系架构
![Image 1][]
各个角色介绍:
Container:服务运行的容器
Provider:“服务提供者”,用来暴露服务供服务消费者调用
Registry:“服务注册中心”,服务注册与发现的中心目录
Consumer:“服务消费者”,调用远程服务
Monitor:“服务监控中心”,统计服务的调用次数和调用时间的日志服务
调用关系说明:
0:服务容器负责启动、加载和运行服务提供者
1:服务提供者在启动时,向服务注册中心注册自己提供的服务
2:服务消费者在启动时,向服务注册中心订阅对应的服务
3:注册中心返回服务提供者地址列表给消费者,如果发生变化,注册中心将基于长连接推送变更数据给消费者。
4:服务消费者从提供者地址列表,调用对应提供者中的服务接口
5:服务消费者和提供者,在内存中累计调用次数和调用时间,定时发送统计数据到监控中心
四、服务注册中心Registry
对于服务提供方,它需要发布服务,而且由于应用系统的复杂性,服务的数量、类型也不断膨胀;对于服务消费方,它最关心如何获取到它所需要的服务,而面对复杂的应用系统,需要管理大量的服务调用。而且,对于服务提供方和服务消费方来说,他们还有可能兼具这两种角色,即既需要提供服务,有需要消费服务。
通过将服务统一管理起来,可以有效地优化内部应用对服务发布/使用的流程和管理。服务注册中心可以通过特定协议来完成服务对外的统一。Dubbo提供的注册中心有如下几种类型可供选择:Multicast、Zookeeper、Redis和Simple,现在使用的较多的是Zookeeper 注册中心。
基于Zookeeper 搭建Dubbo 服务图解
![Image 1][]
五、总结
初步了解到Dubbo ,整理了一下关于Dubbo 的入门介绍,如果后续学习到更多关于Dubbo 的知识,会在博客分享出来。Dubbo 有很长一段时间停止了更新,在去年的时候又开始更新新版本,希望能够开发出更多的适用功能。
参考资料:
http://shiyanjun.cn/archives/1075.html
http://shiyanjun.cn/archives/325.html
http://www.ityouknow.com/springcloud/2017/11/20/dubbo-update-again.html
[Image 1]:
还没有评论,来说两句吧...