我正在开发一个基于微服务的新项目。它是一个内部应用程序,只有大约 10 个微服务。我们将使用网关 API 进行身份验证,并可能使用一些微服务聚合。(可能是带有 Spring Boot 的 Netflix zuul)
我不清楚的是我们如何为 A/B 测试和 Canary 测试进行路由。假设我有 100 个客户端,我们想要 A/B 测试一个新版本的微服务。客户端应用程序不需要更改,它只是对微服务提供的功能进行内部更改。
我知道我们会建立一个新的微服务,即(比如说)v2。我感到困惑的是如何将(例如)客户 1-10 引导到新版本。我们需要能够集中配置它而不改变客户端上的任何东西。
我们知道他们的 MAC 地址(以及其他识别属性),并且可以插入我们想要识别他们的消息的任何类型的标头。
那么我如何将这些引导到 API 的 v2 以进行 A/B 测试或 Canary 部署呢?