networking - 通过 ActiveMQ / AMQ 包装 http / gRPC 流量
问题描述
我有两个企业网络段 - 绿色(可以访问 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 协议 ↔ 套件 ↔ 解码器和发送器 ↔ 流量。
解决方案
推荐阅读
- ios - 如何快速保存文本字段中的文本?
- javascript - ngFor 正在重新渲染 observables 变化的内容
- sql - 收到错误“SQL 编译错误:无法评估不支持的子查询类型”
- javascript - 想要 ping lambda 响应最多 4 或 5 秒或更短
- powerbi - 在 PowerBi 中根据今天的日期在卡片中显示文本值
- reactjs - 如何格式化 React Select 的值
- algorithm - A* 在路径重建上无限递归
- python-3.x - Flask:如何多次从 request.files 中读取“文件”?
- java - 用抽象类的类名在Java中创建一个新对象?
- javascript - 为什么我的 JavaScript 代码会出现“请求的资源上不存在‘Access-Control-Allow-Origin’标头”