检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Spring Cloud应用实现全链路灰度 概述 准备工作 灰度规则设置 结果验证 父主题: ServiceComb引擎应用治理
type: abort percentage: 100 fallbackType: ReturnNull forceClosed: false 当上述配置开启时访问MyMicroservice的任意接口的请求
结果验证 访问灰度环境实例。 执行以下命令请求consumer: curl -H "id:1" http://{endpoint}/sayHello?name={name} 执行结果: consumer -> providerA[group:gray] -> providerB[group:gray]
概述 背景信息 在微服务架构下,有些开发需求会使微服务调用链路上的多个微服务同时发生了改动,通常每个微服务都会有灰度环境或分组来接收灰度流量。此时希望通过进入上游灰度环境的流量,也能进入下游灰度的环境中,确保一个请求始终在灰度环境中传递,即使这个调用链路上有一些微服务没有灰度环境
准备工作 Spring Cloud应用基于Sermant Agent接入ServiceComb请参考通过Sermant Agent托管Spring Cloud应用。 部署Demo应用程序 登录云容器引擎。 选择已创建的CCE集群节点,单击目标集群名称。 在集群管理页面左侧导航栏中,选择“工作负载
灰度规则设置 Sermant Agent监听配置范围 Sermant Agent使用CSE作为配置中心时,监听的范围有以下三个: app=default&environment=&service={服务名} app=default&environment= public=default
容错 容错的原理为:根据重试时间间隔的是否固定,分为固定间隔重试和指数间隔重试两种策略,默认重试策略为固定间隔重试。 Java Chassis的容错作用于微服务消费者,需要微服务应用集成容错模块,启用bizkeeper处理链。 配置示例如下: servicecomb: handler:
隔离仓 隔离是一种异常检测机制,常用的检测方法是请求超时、流量过大等。一般的设置参数包括超时时间、同时并发请求个数等。 Java Chassis的隔离作用于微服务消费者,需要微服务应用集成隔离模块,启用bizkeeper-consumer处理链。 配置如下: servicecomb:
// other customization return mappingConverter; } @Bean public MongoClientOptions mongoOptions() { return MongoClientOptions.builder()
(rateLimiter != null) { dcs.withRateLimiter(rateLimiter); } return dcs.get(); } catch (Throwable th) { if (th instanceof RequestNotPermitted)
Cloud广泛应用于构建微服务应用。使用ServiceComb引擎托管Spring Cloud应用,主要目的是使用高可靠的商业中间件替换开源组件,对应用系统进行更好地管理和运维,改造过程应尽可能降低对业务逻辑的影响。 托管Java Chassis应用 Java Chassis是Apache基金
BasicTextEncryptor(); textEncryptor.setPassword(salt); return textEncryptor.encrypt(value); } //测试解密是否正常 public static String
负载均衡 负载均衡作用在客户端,是高并发、高可用系统必不可少的关键组件,目标是尽力将网络流量平均分发到多个服务器上,以提高系统整体的响应速度和可用性。 Java Chassis的负载均衡作用于微服务消费者,需要微服务应用集成负载均衡模块,启用loadbalance处理链。 配置示例如下:
悉和掌握如下开发能力: 使用Java语言进行微服务开发。假设您已经基于一种ServiceStage支持的微服务开发框架开发了应用系统,并期望将应用系统托管在ServiceComb引擎上运行。本文档提供微服务应用接入ServiceComb引擎的相关技术支持。开源微服务开发框架如何使
elloServicecomb"), grpc.WithDiscovery(r), ) if err != nil { return } defer conn.Close() } 应用部署 参考快速体验ServiceStage选择合适的方式部署应用。 父主题: ServiceComb引擎托管应用
Chassis进程退出前,先将实例状态修改为DOWN,然后等待一段时间再进行后续的退出过程: servicecomb: boot: turnDown: # 实例状态修改为DOWN以后等待时间,默认值为0,即不等待。 waitInSeconds: 30
Response, err error) { resp = &api.Response{ Message: req.Message, } return } func main() { // **初始化ServiceComb注册中心,默认从环境变量读取配置** r, err := registry
Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消
导入配置 参数名称 参数说明 相同配置 终止导入:导入过程中,如果遇到和系统中相同的配置,导入终止。 跳过:导入过程中,如果遇到和系统中相同的配置,该配置会被跳过,继续导入其余配置。 覆盖:导入过程中,如果遇到和系统中相同的配置,该配置的值会被替换。 配置文件 单击“导入文件”,选择待导入配置文件。
概述 Java Chassis是Apache基金会管理的开源微服务开发框架,最早由CSE捐献,目前有上百个开发者为项目做出贡献。相对于Spring Cloud,Java Chassis它提供了如下独特的功能: 灵活高性能的RPC实现。Java Chassis基于Open API,