生产服务器具有通过 HTTP 传递的持续传入数据流。为了测试系统的新版本,我将新版本部署到临时服务器,在其上运行测试,当我满意时,我想在真实数据上进行测试,但不影响生产系统。
为了实现这一点,我想复制传入的 HTTP 流量并将副本定向到暂存系统。我之前已将其嵌入到应用程序本身中,但出于多种原因,我不想再这样做了。我有什么选择?
- 有代理可以做到这一点吗?
- 是否有可以执行此操作的 Web 服务器?我发现最接近的是 Apache 的取证模块,但我不确定它是否合适,它的目标显然略有不同。
- 或者我应该在互联网层进行此操作?
当然,临时服务器希望将回复发送到某个地方,就像生产系统一样。当然,这些回复不应该返回到生产系统的客户端。在某个阶段简单地丢弃它们是可以的,但如果我可以将它们引导到某个日志记录工具进行检查,那就太好了。
答案1
我倾向于捕获 TCP 流量,从中提取请求数据,然后使用几行脚本将请求反馈回暂存服务器。对于您不希望在暂存和生产之间发生变化的请求,您甚至可以将 TCP 流的响应与暂存服务器生成的响应进行比较,以验证正确性。