文档首页/ 微服务引擎 CSE/ 最佳实践/ CSE最佳实践汇总
更新时间:2024-11-20 GMT+08:00
分享

CSE最佳实践汇总

本文汇总了基于微服务引擎(CSE,Cloud Service Engine)中ServiceComb引擎、注册配置中心和应用网关常见应用场景的操作实践,为每个实践提供详细的方案描述和操作指导,帮助用户轻松在不同应用场景中使用CSE。

表1 ServiceComb引擎最佳实践一览表

最佳实践

说明

其他框架改造为Spring Cloud接入ServiceComb

本章节描述如何将HSF、Dubbo框架改造为Spring Cloud框架并接入ServiceComb引擎的操作。

通过Spring Cloud Huawei SDK托管Spring Cloud应用

Spring BootSpring Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。适用于如下场景:

  • 基于Spring Boot开发的应用系统,不具备微服务基本能力。应用系统通过集成Spring Cloud Huawei,具备服务注册发现、动态配置管理等能力。
  • 基于Spring Cloud开源技术体系开发的应用系统,例如已经采用Eureka实现注册发现、采用Nacos实现动态配置,应用系统通过集成Spring Cloud Huawei,使用高可靠的商业中间件替换开源中间件,降低维护成本。
  • 基于Spring Cloud其他开发体系,例如Spring Cloud Alibaba、Spring Cloud Azure等构建的云原生应用,使用Spring Cloud Huawei迁移到华为云运行。

通过Sermant Agent托管Spring Cloud应用

CSE提供Sermant Agent,支持Spring Cloud应用无需任何修改接入ServiceComb引擎,当前已支持应用注册发现、配置、优雅上下线、标签路由等功能。

通过Sermant Agent托管Dubbo应用

CSE提供Sermant Agent,支持Dubbo应用无需任何修改接入ServiceComb引擎,当前已支持应用注册发现、标签路由功能。

托管Java Chassis应用

Java Chassis是Apache基金会管理的开源微服务开发框架,最早由CSE捐献,目前有上百个开发者为项目做出贡献。相对于Spring Cloud,Java Chassis,它提供了如下独特的功能:

  • 灵活高性能的RPC实现。Java Chassis基于Open API,给出了不同RPC开发方式的统一描述,让微服务接口管理更加规范,同时保留了灵活的开发者使用习惯。Java Chassis基于Reactive,实现了高效的REST、Highway等通信协议,同时保留了传统Servlet等通信协议的兼容。
  • 丰富的服务治理能力和统一的治理职责链。负载均衡、流量控制、故障隔离等常见的微服务治理能力都可以开箱即用,同时提供了统一的治理职责链,让新的治理功能的开发变得简单。

托管Kratos应用

Kratos是轻量级Go微服务框架,包含大量微服务相关功能及工具。本文介绍如何将Kratos应用接入ServiceComb引擎。

托管Kitex应用

Kitex,作为Golang微服务RPC框架,具有高性能、强可扩展的特点。本文介绍如何将Kitex应用接入ServiceComb引擎。

Spring Cloud应用实现优雅上下线功能

在应用使用过程中,应用的发布、重启、扩缩容操作无法避免,为了保证应用正确上下线、流量不丢失,微服务引擎基于Sermant Agent提供了一套优雅上下线的方案,包括预热、延迟下线等,避免了请求超时、连接拒绝、流量丢失等问题的发生。

Spring Cloud应用实现标签路由功能

在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配http请求头中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。

Spring Cloud应用实现全链路灰度

本文通过示例演示Sermant Agent全链路灰度功能。假设应用的架构由Sermant Agent以及后端的微服务架构(Spring Cloud)组成,后端调用链路:providerA->providerB,通过consumer调用后端服务,所有服务挂载的Sermant Agent使用CSE注册中心。

Dubbo应用实现标签路由功能

在微服务存在多个版本、多个实例的情况下,需要管理服务之间的路由,达到无损升级、应用拨测等业务目的。Sermant Agent提供了标签路由的能力,标签路由通过匹配dubbo attachment中的信息,把符合规则的流量转发到对应的标签应用中,从而实现标签路由的功能。

Spring Cloud应用对接ASM进行服务发现

随着istio服务网格的发展,越来越多的应用都会接入服务网格,Sermant Agent提供了一种能让Spring Cloud应用也能访问服务网格中的应用的解决方案。

表2 注册配置中心最佳实践一览表

最佳实践

说明

Spring Cloud Eureka应用接入Nacos引擎

本章节通过一个demo进行全流程的Spring Cloud Eureka应用接入Nacos引擎操作演示。

用户自建Nacos迁移到CSE Nacos

本文介绍一种基于Nacos Sync的注册中心迁移方案,方案适用于在华为云上自建Nacos的用户。

Nacos Sync是一款开源组件,支持注册中心的双向同步与平滑迁移,通过配置同步任务的方式,进行服务的迁移,Nacos Sync能使源集群的服务信息和CSE Nacos的服务信息保持同步,从而实现自建配置注册中心和CSE Nacos之间的平滑迁移,适用于对业务不中断有诉求的用户。

表3 应用网关最佳实践一览表

最佳实践

说明

通过应用网关访问gRPC协议的服务

应用网关支持访问gRPC协议的服务。本文以固定地址服务为例,演示如何配置gRPC协议服务的接入与路由。

相关文档