一:易用性
1:Dubbo3支持更多的语言:Go、Rust、Python
2:开箱即用,如果后续我们基于Spring开发,就是配置几个Xml的事,如果是基于SpringBoot的话,就是打几个注解的事。
二:超大规模微服务服务实践
1:高性能通信
通信比原有的Dubbo性能明显提升。Dubbo制定了Triple协议,已经可以支持GRPC了
GRPC是基于Http2这个通信协议,而且支持流式处理,并且使用protobuf作为序列化协议,传输内容减少,传输效率提升,整体通信效率大大增强。
作为Dubbo3通信能力的提升是它很大的一个亮点,对比于现有的SpringCloud,它使用的是Http1.x作为通信协议。而且基于GRPC这种通信技术可以实现反应式编程这种异步化的处理,而OpenFeign是使用的同步化的处理,通信效率就天差地别了。
2:高可扩展性
Dubbo3支持SPI的这种序列话方式,我们知道SpringBoot的自动配置也是基于SPI的这中方式,SPI的这种方式在Dubbo3中被用到了极致。他所有的组件都可以根据你的需要进行替换和定制,根据你的需要可以选择你需要的组件来使用,所以他才能支持多种序列化方式和协议。
3:丰富的服务治理能力
Dubbo3可以选择市面上所有的主流的注册中心nacos、zookeeper,配置中心也可以选择阿波罗、nacos,服务降级限流也可以支持很多的组件。
4:超大规模集群的水平拓展
字面意思
三:云原生友好
什么叫云原生呢?云原生是基于分布部署和统一运管的分布式云 ,以容器、微服务、DevOps等技术为基础建立的一套云技术产品体系,云原生是一种新型技术体系,是云计算未来的发展方向,云原生应用也就是面向“云”而设计的应用,在使用云原生技术后,开发者无需考虑底层的技术实现,可以充分发挥云平台的弹性和分布式优势,实现快速部署、按需伸缩、不停机交付等
云原生友好,就是我们本地开发出来的程序,不经过任何修改就可以很好的部署在云环境当中。
1:容器调度平台(Kubernetes)
将服务的组织和注册交给的底层容器平台,这是云原生的方式。在云的环境下,K8S这种使用方式是极其普遍的。
2:Service Mesh
服务代理的意思。Service Mesh,它将分布式服务的通信抽象为单独一层,在这一层中实现负载均衡、服务发现、认证授权、监控追踪、流量控制等分布式系统所需要的功能
原有的Mesh结构中听过边车模式(Sidecar)完成负载均衡、路由等操作,但是存在链路的性能损耗加大,现有系统迁移繁琐的问题。Dubbo3引入了ProxyLess Mesh直接和控制面交互通信。集成Service Mess更加方便,效率更高。