微服务集成测试全攻略
1. 应用级控制与集成测试要点
应用级控制主要涉及管理任意给定时间运行的实例数量。集成测试应包括对实例数量进行扩展(若支持动态扩展),以确保以下几点:
- 重新平衡按预期进行。
- 内部状态可从检查点或变更日志流恢复,且数据局部性得以保留。
- 外部状态访问不受影响。
- 对有状态数据的请求 - 响应访问不受应用实例数量变化的影响。
进行这些系统的全面控制,目的是确保微服务在各种故障模式、不利条件和不同处理能力下仍能按预期工作。
2. 本地集成测试方法
2.1 在测试代码运行时创建临时环境
将测试库嵌入代码是一种较窄的选择,但根据客户端、代理和框架编程语言的兼容性,它可能效果很好。此方法中,测试代码在与应用相同的可执行文件中启动必要组件。
以 Kafka Streams 应用为例,其测试代码会启动自己的 Kafka 代理、模式注册表和微服务拓扑实例。测试代码可以启动和停止拓扑实例、发布事件、等待响应、模拟代理故障和其他故障模式。测试结束后,所有组件都会终止并清理状态。以下是示例伪代码:
broker.start(brokerUrl, brokerPort, ...);
schemaRegistry.start(schemaRegistryUrl, srPort, ...);
//The first instance of the microservice
topologyOne.start(brokerUrl, schemaRegistryUrl,
inputS
超级会员免费看
订阅专栏 解锁全文
794

被折叠的 条评论
为什么被折叠?



