检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何进行本地开发和测试? 本地开发工具给开发者提供开发、调试、测试过程中的服务发现、注册和查询功能。 概念阐述 本小节介绍如何在开发者本地进行消费者/提供者应用的开发调试。
因为需要使用灰度发布功能,所以在发布服务时需要增加版本或者灰度标签,在本文示例中,consumer作为客户端,仅设置基线版本,服务端均设置基线版本、灰度版本,灰度版本添加版本号:SERVICE_META_VERSION=2.0.0,或者添加灰度标识:SERVICE_META_PARAMETERS
开始之前需要对业务的性能做一些基本的摸底,对常见的接口进行测试,查看时延。 业务性能很好的情况。 即非并发场景,接口的平均时延小于10ms。
以下测试结果为加入mesher前后的性能测试对比,使用的payload很小,就是字符串helloworld,但是加入了一定的代码以增加服务端的计算时间来模仿业务代码执行耗时。
providerA-gray:name---{name}---version----2.0.0-------parameters----group:grayProviderB-gray:name---{name}---version---2.0.0---parameters---group:gray 访问基线环境实例
准备本地开发调试环境 本地开发调试环境用于搭建一个简易的测试环境,可以有以下两种选择: 下载本地轻量化微服务引擎。 使用ServiceComb引擎专享版,并开放公网访问的IP,保证本地环境能够访问。 准备云上环境 微服务应用部署到云上,需要先准备云上环境。
云上测试环境是相对比较稳定的集成测试环境。本地开发测试完成后,各个业务将本领域的服务部署到云上测试环境,并且可以调用其他领域的服务进行集成测试。根据业务规模的复杂程度,可以将云上测试环境进一步分为α测试环境、β测试环境、γ测试环境等,这些测试环境集成程度由低到高。
调用次数基线 设置调用次数基线,即开启统计调用错误率至少需要达到的调用数量。 例如,设置“调用次数基线”为10,为统计错误率,则至少要记录10个调用。 熔断开启条件 错误率阈值熔断 勾选“错误率阈值熔断”时生效,设置“错误率阈值”,即调用错误的百分比。
适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算等。 适用计费项 根据需要托管的微服务实例数量总额选择ServiceComb引擎的规格,系统会根据选择的引擎规格计费,以下计费项支持按需计费。
命名空间管理 命名空间可以实现不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。不同的命名空间下,可以存在相同的Group或Data ID的配置。
适用场景 按需计费适用于具有不能中断的短期、突增或不可预测的应用或服务,例如电商抢购、临时测试、科学计算等。 适用计费项 根据需要托管的微服务实例数量总额选择注册配置中心Nacos引擎的规格,系统会根据选择的引擎规格计费,以下计费项支持按需计费。
持续升级还需要构建自动化测试能力,以减少版本升级的验证时间和控制版本升级的风险,及早发现问题。持续的构建自动化能力和升级版本,是被证明有效的构建高质量软件的最佳实践。 父主题: 托管Java Chassis应用
nacos-rest-consumer通过调用接口graceDownOpen测试验证优雅下线能力;调用接口graceDownClose对比未开启优雅下线时请求处理情况。查看调用情况可使用nacos-rest-consumer接口的stat方法进行请求统计。
性能测试和故障演练。这个过程中会发现非常多的系统不稳定问题,服务治理的策略会在解决这些问题的过程中应用,并写入配置文件作为应用程序缺省值。 业务上线运行。上线运行的过程中碰到未考虑的场景,需要采用配置中心动态调整治理参数,以保障业务平稳运行。
由于项目A是使用0.1.0版本编译和测试的,那么组件A可能无法正常工作。例如0.2.0版本和0.1.0不兼容,并且项目A恰好使用了这些不兼容的接口。 使用项目C的0.1.0版本。由于项目B是使用0.2.0版本编译和测试的,那么组件B可能无法正常工作。
ServiceComb引擎 如何进行本地开发和测试? 证书加载错误 无效头名称 mesher性能损耗是多少?
一般情况下,会创建一个测试环境和一个生产环境。通过ServiceStage,能够非常方便地管理云上环境,详细内容请参考准备环境。 对接微服务应用 用于微服务应用对接ServiceComb引擎,涉及到对已经开发好的应用的配置文件、构建脚本的修改。
BasicTextEncryptor textEncryptor = new BasicTextEncryptor(); textEncryptor.setPassword(salt); return textEncryptor.encrypt(value); } //测试解密是否正常
servicecomb: loadbalance: userLoginAction: | rule: Random # 说明负载均衡规则为随机模式,默认是轮询模式RoundRobin 示例 以Spring Cloud Huawei负载均衡demo为例测试负载效果
虽然Spring Cloud Hoxton.SR8声称支持Spring Boot 2.2.x版本,但是多数组件都是集成2.3.5.RELEASE进行测试的,紧跟社区的版本配套关系,能够极大的减少兼容性问题的发生。三方软件版本管理策略会进一步说明三方软件兼容性问题的最佳实践。