网闸环境下的微服务架构设计:从物理隔离到逻辑协同的实战思考

当微服务遇到物理隔离,架构设计的重心就从“如何拆得更细”转向了“如何在断开的网络间安全地交换数据”。

一、问题的起点:Dubbo 能在双向网闸中用吗?

这是一个很现实的场景——某政务系统需要跨网闸调用内网服务,技术负责人第一反应是:我们用的是 Dubbo,能直接穿过去吗?

答案是:默认的 dubbo 协议不行,但改用 Triple 协议(HTTP/2)可以。

根本原因在于网闸的工作原理:双向网闸采用“2+1”模块架构(外网单元 + 内网单元 + 隔离交换单元),通过分时切换实现物理隔离——同一时刻只连接一侧网络,彻底阻断任何持续的 TCP 连接。

  • dubbo 协议:基于 TCP 长连接,需要持续会话,被网闸物理切断
  • Triple 协议(Dubbo 3):基于 HTTP/2,请求-响应模式,可被网闸识别和摆渡

所以 Dubbo 可以“用”,但必须换协议,且跨网闸的调用不再具备微服务的实时特性。

二、这还算微服务吗?

不算。跨网闸的调用,本质上已经退化为“异步数据交换”或“系统集成”。

微服务的三大核心特征在跨网闸场景下全部失效: