基于CSE的微服务架构实践-Spring Cloud技术栈选型
当Spring Cloud和CSE都构建于Spring Boot基础之上的时候,可以将CSE理解为竞争和替代性的产品。
上图展示了CSE和Spring Cloud通常的开发组合。CSE和Spring Cloud都提供了非常良好的扩展性,他们能够使用的组件都不是完全互斥的,而是可以相互使用的。比如在配置更新下发方面,CSE可以通过实现archaius的接口使用git作为配置中心,Spring Cloud也可以通过实现PropertySources使用CSE的配置中心做动态配置。
Spring Cloud应用快速上云,一般有两种选择:
· 使用Spring Cloud物理多租引擎。Spring Cloud物理多租引擎集成了常用的中间件(Spring Cloud Config,Spring Cloud Netflix等),用户可以像本地使用这些中间件一样使用云上服务。
· 将替换的功能迁移到CSE。这里的原理和步骤可以参考[基于CSE的微服务架构实践-Spring Boot技术栈选型]( https://bbs.huaweicloud.com/blogs/eca98a6f399a11e9bd5a7ca23e93a891)。使用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都各自存在其他大量不一样的工具集合,以配套对应的框架进行更加高效的功能开发。在“架构实践”之后,会进一步分享“工程实践”方面的内容,敬请期待。
- 点赞
- 收藏
- 关注作者
评论(0)