zoukankan      html  css  js  c++  java
  • SpringCloud与Dubbo区别对比

    1:SpringCloud与Dubbo区别对比

    (1):活跃度

    目前SpringCloud的活跃度明显远高于Dubbo(参考github)

    (2):主要区别

      Dubbo Spring Cloud
    服务注册中心       Zookeeper Spring Cloud Netflix Eureka
    服务调用方式 RPC           REST API
    服务监控 Dubbo-monitor Spring Boot Admin
    断路器 不完善 Spring Cloud Netflix Hystrix
    服务网关 Spring Cloud Netflix Zuul
    分布式配置 Spring Cloud Config
    服务跟踪 Spring Cloud Sleuth
    消息总线 Spring Cloud Bus
    数据流 Spring Cloud Stream
    批量任务 Spring Cloud Task
    ...... ...... ......
















    最大的区别:Spring Cloud抛弃了Dubbo 的RPC通信,采用的是基于HTTP的REST方式。 严格来说,这两种方式各有优劣。虽然在一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。
    而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适

    例如:品牌机与组装机的区别

    使用Dubbo构建的微服务架构就像组装电脑,各环节我们的选择自由度很高,但是最终结果很有可能因为一条内存质量不行就点不亮了,总是让人不怎么放心,但是如果你是一名高手,那这些都不是问题;

    而Spring Cloud就像品牌(下面所有的框架负载均衡,服务网关。。。都是自己的)机,在Spring Source的整合下,做了大量的兼容性测试,保证了机器拥有更高的稳定性,但是如果要在使用非原装组件外的东西,就需要对其基础有足够的了解。

    2:总结SpringCloud与Dubbo

    Dubbo和Spring Cloud并不是完全的竞争关系,两者所解决的问题域不一样:Dubbo的定位始终是一款RPC框架,而Spring Cloud的目的是微服务架构下的一站式解决方案。
    非要比较的话,Dubbo可以类比到Netflix OSS技术栈,而Spring Cloud集成了Netflix OSS作为分布式服务治理解决方案,但除此之外Spring Cloud还提供了包括config、stream、security、sleuth等分布式服务解决方案。 当前由于RPC协议、注册中心元数据不匹配等问题,在面临微服务基础框架选型时Dubbo与Spring Cloud只能二选一,这也是两者总拿来做对比的原因。
    Dubbo之后会积极寻求适配到Spring Cloud生态,比如作为SpringCloud的二进制通讯方案来发挥Dubbo的性能优势,或者Dubbo通过模块化以及对http的支持适配到Spring Cloud

  • 相关阅读:
    <unittest学习8>unittest生成测试报告
    <unittest学习7>unittest的封装方法
    <unittest学习6>unittest多种加载用例方法
    <unittest学习5>unittest的几种执行方式和java的junit的很像
    <unittest学习4>跳过用例
    实验3.1
    I
    大数据运维---Zookeeper学习
    裸金属纳管
    一次Linux系统被攻击的分析过程
  • 原文地址:https://www.cnblogs.com/wangju/p/11813901.html
Copyright © 2011-2022 走看看