首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在流量镜像时防止重复写API调用

在流量镜像时防止重复写API调用
EN

Stack Overflow用户
提问于 2020-11-25 08:16:30
回答 1查看 161关注 0票数 1

我正在考虑使用流量镜像与Istio的黑暗测试版本。

镜像流量将意味着像订单和支付之类的写API被多次调用,我不想这样做,否则我会向客户收取两次费用&发送给他们一个重复的产品。

是否有一种标准的方法来防止这种情况(在生产中,顽固性似乎是一件很奇怪的事情),还是镜像实际上只适用于read?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-30 09:02:23

问题

有使用流量镜像设置的图解

虽然这些镜像请求被镜像为“火与忘”,镜像服务的答复只是被删除(由特使代理侧加)到/dev/null,而不是返回给调用者,但它仍然使用这个api。

解决方案

如评论中所述

在我看来,您应该使用一些自定义标头来添加用于测试目的的路径,因此这只能由您或您的组织进行测试,并且客户不应该参与其中。

本主题由克里斯汀·波斯塔( Christian Posta )详细描述这里

当我们将新版本的服务部署到测试集群并镜像通信量时,我们需要注意对环境其他部分的影响。我们的服务通常需要与其他服务(数据查询、更新数据等)协作。如果与其他服务的协作只是简单地读取或获取请求,而这些协作者能够承担额外的负载,这可能不是问题。但是,如果我们的服务改变了协作者中的数据,我们需要确保这些调用被导向测试加倍,而不是实际的生产流量。

您可能会考虑以下几种方法,所有这些方法都在上面的链接中描述:

  • 为某些测试概要文件提供协作服务
  • 合成交易
  • 虚拟化测试集群的数据库
  • 实现测试集群的数据库

实际上,将生产流量镜像到我们的测试集群(无论该集群是否存在于生产环境还是非生产环境中)是降低新部署风险的一种非常强大的方法。像Twitter和亚马逊这样的大型网络公司已经这么做多年了。这种方法带来了一些挑战,但正如上面的模式所讨论的那样,也存在一些不错的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65000792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档