首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用代理复制TCP流量

使用代理复制TCP流量
EN

Stack Overflow用户
提问于 2011-08-31 01:59:51
回答 4查看 23.6K关注 0票数 27

我需要从一台机器(端口)发送(复制)流量到两台不同的机器(端口)。我还需要处理TCP会话。

一开始我使用的是em-proxy,但它的开销似乎相当大(超过50%的cpu)。然后,我安装了haproxy,并设法重定向流量(而不是复制)。开销是合理的(小于5%)。

问题是我不能在haproxy配置文件中说出以下内容:

  • 侦听特定地址:端口和您找到的任何内容,将其发送到两台不同的机器上:端口并丢弃其中一台机器的应答。

Em-proxy的代码非常简单,但在我看来,EventMachine会产生很多开销。

在我深入研究haproxy代码并尝试更改(复制流量)之前,我想知道有没有类似的东西?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2013-09-26 02:50:08

我专门为此目的创建了一个代理。

https://github.com/chrislusf/teeproxy

使用

代码语言:javascript
复制
./teeProxy -l :8888 -a localhost:9000 -b localhost:9001

tee-proxy是反向代理。对于每个传入的请求,它将请求克隆成2个,然后将它们转发到2个服务器。服务器a的结果照常返回,但是服务器b的结果被忽略。

tee-proxy同时处理GETPOST和其他HTTP方法。

票数 28
EN

Stack Overflow用户

发布于 2015-05-08 17:17:03

试试https://github.com/agnoster/duplicator

我尝试了teeproxy,但在GET之外的其他一些请求中得到了奇怪的结果。

票数 3
EN

Stack Overflow用户

发布于 2018-07-23 18:02:19

我还写了一个反向代理/负载均衡器,用于与Node.js类似的目的(它只是为了好玩,目前还没有准备好生产)。

https://github.com/losnir/ampel

它非常固执己见,目前支持:

使用轮询选择(1:1)

  • POST
  • GET使用请求拆分。没有“主”和“影子”的概念--响应的第一个后端将为客户端请求提供服务,然后所有其他响应都将被丢弃。

如果有人发现它很有用,那么我可以将其改进为更灵活。

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

https://stackoverflow.com/questions/7247668

复制
相关文章

相似问题

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