ServiceComb/CSE和Spring Cloud技术栈对比

当Spring Cloud和CSE都构建于Spring Boot基础之上的时候,可以方便地将基于Spring Cloud技术栈的应用迁移到CSE上来。
ServiceComb/CSE和Spring Cloud技术栈对比_第1张图片

上图中展示了CSE和Spring Cloud通常情况下的一种开发组合。实际上,CSE和Spring Cloud都提供了非常良好的扩展性,它们能够使用的组件都不是完全互斥的,而是可以相互融合使用。比如在配置更新下发方面,CSE可以通过实现archaius的接口使用git作为配置中心,而Spring Cloud也可以通过实现PropertySources使用CSE的配置中心做动态配置。

Spring Cloud应用快速上华为云ServiceStage,一般有两种选择:

  • 使用Spring Cloud物理多租引擎。Spring Cloud物理多租引擎集成了常用的中间件(Spring Cloud Config,Spring Cloud Netflix等),用户可以像本地使用这些中间件一样使用云上服务,

    具体参考:1、购买SpringCloud引擎,2、应用接入SpringCloud引擎
  • 将替换的功能迁移到CSE。这里的原理和步骤可以参考基于CSE的微服务架构实践-Spring Boot技术栈选型。使用CSE的便利性在于开发者开发阶段不需要考虑集成和使用Config、Netflix、Ribbon等组件的使用,CSE已经默认集成好了相关管控能力,并提供了配套的云上中间件。

 

项目

CSE

Spring Cloud

说明

服务注册/发现

服务中心

eureka, consul等

 

配置管理

配置中心

git等

 

熔断隔离降级(服务、方法级别)

bizkeeper, thread pool

Hystrix

CSE的bizkeeper也是基于Hystrix。但在技术选型的时候,不推荐Hystrix,大量产品的使用效果并不好。CSE内置了线程池隔离能力,这个应该是首选。

负载均衡、隔离重试(实例级别)

loadbalancer

Ribbon

 

调用链

tracing(zipkin),APM

zipkin

CSE的APM提供了无侵入埋点,使用Handler也实现了zipkin侵入式埋点。

网关

Edge Service

Spring Cloud Gateway

 

REST 客户端

RPC, RestTemplate

Feign, RestTemplate

 

 

上面表格列举了部分常见的组件和中间件,CSE和Spring Cloud都各自存在其他大量不一样的工具集合,以配套对应的框架进行更加高效的功能开发。在“架构实践”之后,会进一步分享“工程实践”方面的内容,敬请期待。

你可能感兴趣的:(技术剖析)