简介

​ 微服务有两张实现架构, 一个是Pivotal团队的Spring Cloud, 一个是阿里的Dubbo.

​ Spring Cloud基于SpringBoot, 提供了提供了微服务开发的一些常用组件, 如服务注册和发现(Eureka)、配置中心(Spring Cloud Config)、熔断器(Hystrix)、智能路由(Zuul)、负载均衡(Ribbon)等。

​ Dubbo是阿里巴巴开源的一个分布式服务框架. 包含三个核心功能: PRC远程调用, 集群容错, 服务发现.

​ 总的来说, 两者的比较本质上是比较 REST 和 RPC. SpringCloud 是一个完整的微服务解决方案, 提供分布式情况下各种解决方案的合集. 而 Dubbo 是一个高性能的 java RPC 框架.

Spring Cloud 和Dubbo的比较

  1. 微服务关注点

    微服务关注点Spring CloudDubbo
    配置管理Config
    服务发现Eureka,ZookeeperZookeeper
    负载均衡Ribbon自带
    网关Zuul
    分布式追踪Spring Cloud Sleuth
    容断Hystrix不完善
    通信方式Http,MessageRPC
    安装模块Spring Cloud Security

    Spring Cloud拥有很多项目模块, 包含了微服务的方方面面.

  2. Spring Cloud GitHub仓库更新速度快, Dubbo更新速度慢.

  3. Dubbo是中文文档, 更易上手, 学习成本低. 广泛用于阿里的各大站点, 非常成熟和稳定.

Spring Cloud 和 Kubernetes的比较

  1. Spring Cloud是一个构建微服务的框架, k8s是通过对运行的容器的编排来实现构建微服务.
  2. 两者都提供了构建微服务所需的全部功能.
  3. Spring Cloud采用Java语言开发, 基于Spring平台, 继承Spring Boot快速开发的优势, 是Java程序员实现微服务的最佳实现. k8s是面向DevOps人员的, 要学习很多运维的知识, 学习成本很高
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐