我有两个企业网络段 - 绿色(可以访问 Internet)和红色(内部网络)。所以,它是这样工作的:互联网 ↔ 绿色 ↔ 红色。
两个部分中的每一个都有自己的 Red Hat Fuse、Red Hat AMQ(或 ActiveMQ)、Apache Camel 包——为简单起见,我们称这个包为“套件”。该套件在两个细分市场中都是相同的,用于集成。绿色和红色之间的所有流量都通过 Suite-Suite 对传递。一端的套件接收流量,以某种方式打包,通过消息代理 (AMQ) 发送,然后另一端的套件将其解包并将其发送到所需的节点。因此,Suite-Suite 就像某种防火墙和隔离/检查软件一样使用。
可悲的是,对于一般交通转移案例,Suite-Suite 转移是一项要求。我知道这会损害性能并且它并不优雅。
问题是:通用的 TCP 流量(即 http 和 gRPC 流量)如何被 AMQ/ActiveMQ 包装并在段之间透明地承载?
如何组织这种交流?例如,我考虑将流量放入 SOCKS5 隧道之类的东西中,然后为 AMQ 包装 SOCKS5 流量(通过将其转换为 AMQP 等)。
我也知道可以使用 Apache Camel 为 AMQ 编写连接器,因此可以这样完成: 流量 ↔ 拦截器 ↔ 套件 ↔ AMQP 或其他 AMQ-AMQ 协议 ↔ 套件 ↔ 解码器和发送器 ↔ 流量。