Dubbo是什么?
Dubbo由阿里开源,并贡献给Apache,当Ali推出springCloudAlibaba后,很自然的成为SpringCloudAlibaba的核心组件。Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
使用Dubbo可以像调用本地方法一样调用远程方法;只需简单配置,没有任何API侵入。
他自身的软负载均衡及容错机制 可在内网替代nginx lvs等硬件负载均衡器。
使用Dubbo服务注册中心自动注册& 配置管理
不需要写死服务提供者地址,注册中心基于接口名自动查询提供者ip。
Dubbo使用类似zookeeper等分布式协调服务作为服务注册中心,可以将绝大部分项目配置移入zookeeper集群。
服务接口监控与治理
Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,针对不同应用的不同接口,可以进行 多版本,多协议,多注册中心管理。
Dubbo能做什么?
1.透明化的远程方法调用使用Dubbo,可以让我们就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
2.软负载均衡及容错机制
可在内网替代F5等硬件负载均衡器,降低成本,减少单点故障。
3.最重要的呢,服务自动注册与发现
不再需要写死服务提供方地址,注册中心帮助我们实现,基于接口名 查询服务提供者的IP地址功能,并且能够平滑添加或删除服务提供者。
其核心部分包含:
1.远程通讯:
基于NIO框架进行抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式。
2.集群容错:
提供基于接口方法的透明的,远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等,集群支持。
3.自动发现
提供注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。