大家好,又见面了,我是你们的朋友全栈君。
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
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131336.html原文链接:https://javaforall.cn