Spring cloud和Dubbo区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lvhao2813/article/details/80018133

Spring boot是创建产品级的Spring应用和服务,简化了配置文件,使用嵌入式web服务器,有很多开箱即用微服务功能,可以和spring cloud联合部署。

spring cloud 是 微服务工具包,为开发者提供了在分布式系统的配置管理、服务发现、断路器、智能路由、微代理、控制总线等开发工具包。


zookeeper


Dubbo默认不支持rest因此基于它扩展出了自己的DubboX(当当扩展)

Spring Cloud相对Dubbo来说是新事物,其在微服务领域涵盖的点比Dubbo要广

其中Spring Cloud的配置管理Dubbo是不具备的,当然可以借助Zookeeper实现,但是不推荐。Spring Cloud提供的方案是Spring Cloud Config,再加上Spring Cloud Bus可以实现配置的广播动态刷新。

服务注册和发现作为基础的能力Dubbo是有的,默认大概提供了zookeeper,广播,redis等几种。Spring Cloud在这块也有多个方案,比如Spring Cloud Consul,再比如Netflix系的 Eureka

路由和负载均衡Dubbo默认提供了几种方式,可以扩展。Spring Cloud同样有ribbon和zuul,其实现的路由和负载功能更强大,其中也包括了授权、安全、服务质量监控等。

服务调用Dubbo使用了私有的Dubbo协议,通过RPC调用长连接,调用方调用服务接口时跟本地的服务调用类似,异常序列化反序列化、上下文信息都跟本地调用类似(当然也有其他协议也可以自己扩展,个人感觉Dubbo的扩展性做的很不错。),spring cloud应该是推荐HTTP,但是对于返回结果,异常序列化、上下文传递这块还需要自己定义规范和实现,感觉需要做的工作很多    。

断路器这块Dubbo提供的比较简单,SpringCloud借助Spring Cloud hystrix实现了复杂的服务级别可用性,比如服务隔离、熔断、恢复、降级等,同时提供了可视化的监控。

至于后面的全局锁、leader选举、分布式消息等等Dubbo是不提供的,Spring Cloud都提供了相应的解决方案。

借助Spring的强大背景,Spring Cloud目前发展的也比较迅速,社区也比较活跃,刚才看了github上最近的更新是3小时前。

Dubbo基本不维护了,更加稳定。spring cloud对应支持的组件比较多。

spring cloud更加全面,以后的主流可能更加偏向于spring cloud

猜你喜欢

转载自blog.csdn.net/lvhao2813/article/details/80018133