方案实践"/>
政采云基于 Dubbo 的混合云跨网方案实践
对云岛业务结构的公司来说,云平台属于公司内部、完全可控的局域网,而岛端则是有自己安全网络策略的独立内部网络。需要云岛通信时,会基于需求,按客户要求走流程开通一些端口,这个过程需要一定的成本且不完全可控。业务上,如果这种跨网需求增多,则会逐渐变成痛点。如果可以搭建一个透明的跨网传输网络,配合良好的顶层设计,就可以在业务支撑、安全管控和运维成本中寻求较好的平衡。
本文将介绍政采云基于 Dubbo 的跨网方案落地过程中面临的技术挑战、社区合作以及更深层次抽象的一些思考。在政采云这种政企业务场景中的数据跨网,与业界公有云、自建私有云的公司相比,既有共性又有自己的特点,希望能为大家提供新的思路或者启发。
前言
稳定、高效、可靠的基础设施是互联网企业应对业务高峰流量的底层基石。作为政采云的基础技术平台,基础平台部一直致力于通过业内前沿技术的落地,保障公司内部所有业务在线生产系统所依赖的基础技术平台能稳定、安全、低成本、可持续地运行与发展。
由于公司对 Dubbo 框架的重度使用,跨网数据传输系统一般基于 Dubbo 特性开发,在政采云内部就有多个版本的实现。
早在几年前,政采云就上线了基于 Dubbo Filter 转发的方案,它解决了岛到云的单向数据传输,安全认证等问题。另外,业务部门也有按照自己的需求,推出网状点对点的方案,实现了一定程度的透明传输。
结合前两年的探索实践以及业界相关领域技术的成熟度,2022 年下半年,我们对各跨岛方案,进行了整合升级,也就是现在的高速公路方案,保障跨岛标准化同时,解决了之前方案实践过程中面临的很多业务痛点,包括:
- 单向传输:因为架构原因,如需双向需要对等重新部署一套,成本较大。
- 白名单开通成本高:点对点的网状架构,需要两两开通白名单,因为政企网络特殊性,开通流程复杂且慢。
- 平台维护成本高:业务各自一套数据传输平台,重复建设且运维成本高。
- 公共功能的缺失:核心功能,业务可以按需开发,但是数据审计、链路追踪、可观测性等公共特性,往往没有足够投入。
跨网数据传输系统演进
1.1 历史架构
图一
自左向右、自下而上进行模块介绍:
- 业务 Web:业务 Web 作为数据发送方,调本地集群 Provider 时,携带跨岛信息过去(Dubbo 上下文)。
- 岛业务 Center:本地虚拟 Provider,通过 Filter 拦截跨岛请求,通过 http 传送到云平台 Dubbo 网关,返回数据后反序列化返回岛业务 web。
- Dubbo 网关:接收 Http 请求,通过泛化调用云端 Provider,处理数据后返回业务 Center。
- 云业务 Center:普通 Dubbo Provider。
1.2 高速公路架构
图二
1.2.1 隧道机制
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据 (或负载) 可以是不同协议的数据帧或包。
高速公路架构中,使用了隧道这个概念。两端(业务层)是 Dubbo 私有协议,跨网传输过程中,则使用了 http 协议,http 协议可以更好的被中间设备、网关识别转发。这个机制的最大便利在于对业务的低侵入性。对于业务集群的应用完全不需要修改。
图三
除了路由标记,出口 / 入口 Dubbo 协议字节流没有任何业务外信息,所以可以路由任何 Dubbo 请求。
图四
更多推荐
政采云基于 Dubbo 的混合云跨网方案实践
发布评论