springCloudAlibaba、dubbo各自的使用场景是什么?
Dubbo 底层是使用 Netty 这样的 NIO 框架,是基于 TCP 协议传输的,配合以 Hession 序列化完成 RPC 通信 。而 SpringCloud 是基于 Http 协议 + rest 接口调用远程过程的通信 ,相对来说, Http 请求会有更大的报文,占的带宽也会更多。 但是 REST 相比 RPC 更为灵活 ,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适,至于注重通信速度还是方便灵活性,具体情况具体考虑。 背景区别 : Dubbo 是来源于 阿里团队 ,SpringCloud 是来源于 Spring 团队 ,Spring 广泛遍布全球各种企业开发中,可以确保 SpringCloud 的后续更新维护,Dubbo 虽然来自国内顶尖的阿里团队,但是曾经被阿里弃用停更,后来阿里又低调重启维护。 定位区别: Dubbo 是 SOA 时代的产物,它的关注点主要在于 服务的调用,流量分发、流量监控和熔断 。而 Spring Cloud 诞生于微服务架构时代,考虑的是 微服务治理的方方面面 ,另外由于依托了 Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。 双方都有各自的优缺点,可根据市场行情或公司需求进行自选. 模块区别:
Dubbo 主要分为 服务注册中心,服务提供者,服务消费者,还有管控中心 SpringCloud 则是一个完整的分布式一站式框架,他有着一样的服务注册中心,服务提供者,服务消费者,管控台,断路器,分布式配置服务,消息总线,以及服务追踪等; 性能区别: Dubbo 的每次测试除去网络波动之外,都表现非常稳定 Spring Cloud 在第一次最慢,之后越来越快,连续测试 4 次以上单次测试性能超过 dubbo ;Spring Cloud-zuul 在第一次最慢,之后也表现越来越快,连续 4 次以上测试 单次性能与 dubbo 相近,相差在 0.02ms 内
Spring Cloud微服务是目前最流行、最成熟的微服务解决方案, 微服务适合移动互联网、物联网高并发的API集群化部署和运维场景。 微服务案例:淘宝、支付宝、高德地图、新浪微博、微信API都是案例。 微服务领域目前为止最成熟、最完善的微服务架构方案就是Java Spring Cloud。其他语言只是写API,还没有成套的成熟方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。