在Spring Cloud中集成和使用CSE快速实现商业产品
微服务+DevOps可以极大的解放公司的生产力,大型公司通过构建成套的工具链,逐步开始品尝到微服务带来的甜头。而对于小型公司,实施微服务并不容易,选择合适的PaaS平台和微服务开发框架,是大家的首选。
Spring Cloud是许多开发者尝试微服务的首选,使用Spring Cloud,需要有步骤的构建如下能力:
1. 服务注册、发现,负载均衡控制;
2. 统一配置管理,动态配置;
3. 微服务可靠性和容错:对于异常情况具备隔离、熔断和容错机制;
4. 微服务调用链跟踪和可视化,微服务监控;
5. 微服务网关,发布服务和认证;
为了支撑这些能力,Spring Cloud提供了很多可以选择的方案。
能力 | 可选方案 |
服务注册、发现 | 中间件Eureka,Consul;接口DiscoveryClient |
负载均衡控制 | Ribbon |
统一配置管理 | Spring Cloud Config |
动态配置 | Archaius |
可靠性和容错 | Hystrix |
微服务调用链 | Spring Cloud Sleuth |
微服务监控 | Spring Cloud 自带,没有集中监控能力,或者集成prometheus |
RPC支持 | Feign |
实际的项目会比这里列举的内容还会复杂很多,包括解决性能、弹性伸缩、部署和运维的问题。
CSE针对Spring Cloud微服务提供的扩展
CSE(Cloud Service Engine)是华为推出的针对微服务的开发、管理和运维平台,它提供的JAVA SDK基于ServiceComb java chassis。CSE将JAVA SDK的功能完美的集成到Spring Cloud,让Spring Cloud开发者能够快速构建上述能力,真正的专注于业务逻辑的开发。
Spring Cloud应用构造上述能力可以分为如下几个步骤:
使用CSE商业级服务发现和动态配置机制
通过修改pom依赖关系,即可将Eureka或者Consul换位CSE的服务中心和配置中心。免去部署和运维中间件的烦恼。
使用CSE REST框架集成可靠性和容错机制、集成调用链和监控机制
通过优化接口定义,可以快速将Spring Cloud REST接口定义修改为CSE的REST接口定义。CSE的REST接口定义是Spring Cloud REST接口定义的子集,更加简洁。CSE的REST接口切换为Spring Cloud可以不做任何修改,有很好的可移植性,即使后续发布为gRPC等RPC框架的接口定义,也是无缝的。
使用轻量级容器和Edge Service,实现弹性和高性能
管理服务路由是网关的主要业务逻辑,使用Edge Service管理服务路由,可以实现灰度版本管理、客户端调用控制,以及灵活的扩展机制。
Talk is Cheap, Show me the Code
Spring Cloud应用从无到有,到商业可用,会花费好几个月时间。现在具备这些能力,一个普通微服务开发者仅仅需要一周时间即可完成。开发者可以通过
https://huaweicse.github.io/cse-java-chassis-doc/spring-cloud-using-cse/spring-cloud-using-cse.html
来体验Spring Cloud应用具备商业可用特性的几个步骤。里面包括了详细的步骤说明、原理介绍和可以执行的代码。
- 点赞
- 收藏
- 关注作者
评论(0)