20、微服务测试与监控全解析

微服务测试与监控全解析

1. 跨功能测试概述

在测试微服务系统时,除了对特定功能进行测试外,跨功能需求(CFR)测试也至关重要。传统的“非功能需求”这一术语不太贴切,同事Sarah Taraporewalla提出的“跨功能需求”更能体现这些系统行为是大量交叉工作的结果。

许多CFR只有在生产环境中才能真正满足,但我们可以定义测试策略来评估是否朝着满足这些目标前进,这类测试属于属性测试范畴,性能测试就是典型例子。

对于一些CFR,可在单个服务层面进行跟踪。例如,支付服务需要更高的服务持久性,而音乐推荐服务可接受更多停机时间,因为核心业务在短时间内无法推荐类似Metallica的艺术家也能存活。这种权衡会影响系统的设计和演进,微服务系统的细粒度特性为我们提供了更多权衡机会。

CFR测试应遵循金字塔原则,有些测试需端到端进行,如负载测试;有些则不需要。例如,在端到端负载测试中发现性能瓶颈后,编写小范围测试以在未来捕获问题。还有些CFR很适合快速测试,如检查HTML标记是否使用了适当的无障碍功能,无需网络往返即可快速完成。

需要注意的是,对CFR的考虑往往为时过晚,建议尽早关注并定期审查。

2. 性能测试的重要性与实施

性能测试是确保部分跨功能需求得以满足的重要手段。将系统分解为更小的微服务时,网络边界的调用次数增加,可能导致系统运行速度下降,因此追踪延迟源尤为重要。

性能测试可采用多种方式,可选择隔离单个服务的测试,也可从检查系统核心流程的测试开始,还可对端到端流程测试进行大规模运行。为生成有价值的结果,通常需逐步增加模拟客户数量来运行给定场景,以观察调用延迟随负载增加的变化情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值