Spring Cloud应用接入华为云微服务CSE

概述
Cloud应用可以方便的接入CSE提供的基础服务 。接入CSE服务有如下好处:
开发者可以专注于业务系统的开发,把精力从中间件的可靠性评估、集群部署、运维监控等复杂的事情中解放出来 。
实现业务快速交付和敏捷开发 。利用PaaS平台,根据业务规模,动态的调整资源使用,降低业务风险 。
下图展现了CSE基础服务、PaaS平台服务和第三方服务的关系:
CSE官方支持微服务框架接入和 Cloud微服务框架接入 。两个框架接入的步骤基本类似 。在本文中,主要介绍 Cloud应用接入CSE的原理,然后通过一个 Cloud应用改造的案例,说明改造步骤 。
为了使用CSE基础服务,还需要开发者拥有华为云账号,可以登路华为云免费注册 。建议开发者先通过CSE提供的“快速体验微服务能力”了解CSE,在下面的章节中,会省略体验过程中涉及到的一些公共操作,比如如何获取AK/SK认证信息等 。
演进路线图
CSE提供了非常丰富的开箱即用的微服务管控能力,这些能力通过CSE的RPC框架集成 。如果使用 Cloud,开发者需要组合非常多的三方组件来完成这些功能,下面列举了部分功能:
CSE功能 Cloud实现方式
负载均衡策略
使用组件
实例故障隔离和失败重试
使用/组件
微服务隔离、熔断、容错
使用组件
微服务方法级别隔离、熔断、容错
使用组件,定义复杂的配置规则
流量控制
实现流量控制算法,定义复杂的配置规则
故障注入
实现动态配置,定义故障规则
灰度发布
实现灰度发布算法,定义灰度发布规则
微服务监控,包括调用链等
使用组件
Cloud 自带,没有集中监控能力,或者集成
CSE还提供了非常友好的管理界面,帮助开发者在运行时管理和监控微服务 。Cloud开发者在使用CSE的过程中有非常多灵活的选择,下面是一个可选的技术路线:
Cloud开发者通过修改pom文件,就可以接入CSE提供的公共服务中心和配置中心服务,使用公共服务作为注册发现、动态配置功能,节省了开发、部署、git等 Cloud提供的服务的时间和购买部署公共服务的机器成本 。
这个步骤一般在1小时内就可以完成开发和部署测试,提供了快速上云的通道 。
这个步骤完成后,业务原有的功能基本不受任何影响(一些严重依赖于服务发现中间件的功能除外) 。接入也给用户提供了一个可以直观感受CSE提供的功能的机会,用户可以根据实际的运维感受,作出更加理性的选择是否使用CSE进行下一步的演进 。
这个步骤会在 Boot框架中集成CSE的REST框架 。通过这个步骤,CSE提供的所有微服务管理功能都可以开箱即用,业务可以专注于逻辑的开发 。完成这个步骤,用户需要对CSE的设计原理,与 Boot集成原理和关系有一定初步了解,这样才能够快速解决文档中未提到的一些技术问题 。开始之前,建议开发者先进行如下准备工作,以更好的解决开发过程中可能遇到的问题 。
完成第一步,并体验CSE阅读CSE的设计原理,了解CSE框架的设计思路和组件组成体验在 Boot中使用CSE,理解在 Boot框架下使用CSE的基本原理 。
对于多数后台服务,对外只提供REST接口,不提供WEB页面 。这些服务运行于J2EE容器(比如)会额外多出很多性能损耗 。CSE提供了轻量级的HTTP服务器来提供REST服务,可以极大的提高性能和减少资源占用 。Edge 是CSE提供的和CSE微服务完美配合的网关服务,除了高性能,还支持强大的灰度版本管理能力、异步编程扩展能力和治理能力 。
遗留系统快速接入