本篇为通用服务平台系列第二篇,是关于通用代理服务关键细节设计的相关描述。让我们一起来看看通用代理服务如何兼容各个不同产品线,如何设计才能具有一定的自适应性,以达到通用特性,及降低代理服务升级部署代价。
1. 统一协议必要性
因为是通用代理需要兼容各个不同的产品线,各自协议可能都不同,那么这种情况就需要统一协议来将各系统协议差异进行屏蔽才有可能通用化,这是基础前提条件。不管是已有产品线接入,还是新加入产品线,都可以通过发布客户端通信库,将统一协议实现封装在内来解决。客户端无需了解统一协议细节,现有协议也无需更改可达到快速上线目的。至于统一协议细节,涉及到通用代理的数据转发关键细节,后续章节会介绍关键字段。
2. 与具体业务无关的低耦合
上一篇分析了代理服务的常用功用和主要职责可以知晓代理服务最为核心的是数据的路由转发!代理服务一般作为客户端接入系统的前哨,通常需要足够稳定能长时间不间断运行,且尽量降低代理服务的升级部署几率。为了达到该目的,一般代理服务应该设计为不进行具体业务处理、尽量低耦合、只处理数据路由转发及链路必要处理。只有保持相对的低耦合不参与具体业务才能保证服务不会随着业务变更而需要升级部署。
3. 链路处理
链路处理是因为代理是客户端连接系统的第一关卡,在某些特定情况下