Spring Cloud: 多种微服务架构的简单比较

简介

​ 微服务有两张实现架构, 一个是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 Cloud Dubbo
    配置管理 Config
    服务发现 Eureka,Zookeeper Zookeeper
    负载均衡 Ribbon 自带
    网关 Zuul
    分布式追踪 Spring Cloud Sleuth
    容断 Hystrix 不完善
    通信方式 Http,Message RPC
    安装模块 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人员的, 要学习很多运维的知识, 学习成本很高

你可能感兴趣的:(Spring,Cloud)