如何集成测试 microservices

查看原文

本文讲的是 A Sane Approach Pre-Production & In Production。真是的超级长的一篇,看完了原文觉得要吐血。作者认为正确的方法不是写成千上万的本地测试,也不是把几十种服务拉到本地来跑,而是应该 1) instrument services 2) understand operational semantic of services。

Testing in production 需要的手段有 A/B testing,特性开关,Canary,分布式追踪,监控等等。作者认为写一百个测试也挡不住一个坏掉的地方会把整个服务搞挂掉。与其在上面搞得心累,不如把 unhealthy 也看成一种 healthy,让程序尽可能地能扛 failure。真的要搞挂了,用类似 Canary 这种手段以最快的速度回滚,只让最小的用户受到影响。