流量镜像也称为影子流量,指将实时流量的副本发送到镜像服务。流量镜像发生在主服务的关键请求路径之外。
在非生产或者测试环境中,尝试访问一个服务所有可能的测试用例组合是个非常不现实的任务。在某些情况下,编写这些用例的所有工作也可能与实际生产所需的用例不匹配。在理想情况下,可以使用实时的生产用例和流量来帮助完善在测试环境中错过的功能区域。
一旦我们能够可靠地进行流量镜像,就可以开始做一些有价值的事情,例如通过请求流量对比工具Diffy,可以将引入测试集群的流量与生产集群中的预期行为进行比较。例如,我们可能想比较请求结果与预期结果间的偏差,或者API协议中的数据损坏情况,以便更好地兼容。
除此之外,需要注意以下问题:
·当流量镜像到不同的服务时,会发生在请求的关键路径之外。
·忽略对任何镜像流量的响应,镜像流量被视为“即发即忘”。