本篇主要是对dubbo进行一些基本的介绍,让大家了解一下什么是dubbo。这里是基于dubbo 2.7.x版本进行的介绍。
什么是dubbo
如果现在公司要你做一个分布式的服务程序,要保证整个系统的高可用、高并发、高可靠,你会怎么做?首先肯定会去网上搜是否有现成的框架,通过搜索你很有可能会搜到dubbo、spring cloud等,他们都是为了分布式服务程序做准备的。当然,你也有可能会觉得这些都太low,自己去开发一个,那你要考虑哪些东西呢?
1、服务之间调用如何做负载均衡
2、服务之间调用出错了如何进行降级处理
3、服务之间如何进行高效稳定的通信
4、服务端如何暴露服务、消费端如何调用服务
5、如何监控到整个服务系统的运行情况
6、...
除了功能上的实现,你还得考虑如何对业务端透明、能够快速接入。
以上说的这些如果你要自己做一个的话,估计没个一年半载是不太可能的。此时dubbo、spring cloud就显露身影了。这里我们不讨论Spring Cloud,只介绍dubbo,从上面的问题可以看出,dubbo就是为了解决这些东西的框架,再进一步总结:一套基于RPC的分布式服务通信和治理框架。
比对
这两幅图更形象地说明了dubbo到底是什么。
社区活跃度
作为一款主流的rpc通信框架,dubbo的成长自然也是离不开社区的贡献,从对应的源码star我们就能看出dubbo的受关注度。
另外从issue的解决情况也看出来活跃度
模块
这里说的模块主要是指dubbo调用各方的构成,截取官网一张图:
可以看到有4个模块
- 服务提供方
- 服务消费方
- 服务注册方
服务监控方
其中必须的是服务提供方、消费方和注册方。
简单的介绍一下这个图:大概就是有一个服务注册方,服务提供方启动的时候把提供的服务注册到注册方,服务消费方在启动的时候去注册方订阅服务,一旦有服务变动,注册方会主动通知到服务消费方进行服务列表更新,另外我们可以启动服务监控方对所有运行的服务进行监控。元素
最后介绍一下dubbo目前有哪些元
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。