Dubbo框架
文章目录
1、Dubbo是什么?
Dubbo是阿里公司推出解决分布式服务问题的框架,是一个基于SOA面向服务体系结构的基础设施,提供了诸如服务发布注册、容错调用、部署、调用次数监控、每个服务的性能监控等很多功能。
RPC是指远程调用协议,指两个服务器交互数据
官网:http://dubbo.apache.org/zh-cn/
2、Dubbo的应用场景
① RPC分布式服务
当网站变大后,不可避免的需要拆分应用进行服务化,以提高开发效率,调优性能,节省关键竞争资源等。
比如:为了适用不断变化的市场需求,以及多个垂直应用之间数据交互方便,我们把公共的业务抽取出来作为独立的模块,为其他的应用提供服务,系统逐渐依赖于抽象和rpc远程服务调用。
② 配置管理
当服务越来越多时,服务的URL地址信息就会爆炸式增长,配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。
软负载均衡及容错机制,可以内网替代F5等硬件负载均衡器,降低成本,减少单点
③ 服务依赖
当进一步发展,服务间依赖关系变得错踪复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整的描述应用的架构关系。
④ 服务扩容
当服务的调用量越来越大,服务的容量问题就暴露出来,这个服务需要多少机器支撑?什么时候该加机器?等等…
3、Dubbo的核心功能
Remoting:网络通信框架,提供对多种nio框架抽象封装,包括“同步转异步”和“请求-响应”模式的信息交换方式
Cluster:服务框架,提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持
Registry:服务注册,基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器
4、Dubbo的核心组件
Provider:暴露服务的服务提供方