通信世界网消息(CWW)在移动业务飞速发展的背景下,运营商根据国家需求不断提升自身服务能力——各类业务交互、客户通知需要及时、准确发送至用户,因此运营商发送给用户的各类消息日益增多。然而,目前业务支撑系统的短消息管理过于分散,各系统模块都需要对消息模板进行配置和维护,这也导致系统很难及时响应运营商快速变化的消息运营需求。
如何加强消息管理成为运营商提升服务水平的关键。为此,本文提出了一种基于微服务架构的统一消息管理技术,利用微服务架构的技术特点,将短消息进行统一管理,可大大降低维护和二次开发的成本,以便提高短消息运营的效率。
现有技术方案短板明显
当前业务支撑系统短信消息模板分设在各个子系统,例如在个人客户管理系统、政企业务系统甚至在计费账务的后台系统都有各自的短信模板管理。同时,各系统单独负责短信发送、黑名单控制、限流、追尾、历史记录查询等功能,各个模块都需要对短信消息进行配置和维护。
这种管理方式技术存在很多弊端。一是短信消息模板散落在10个以上的系统中,导致短信模板数量超4万,各子系统发送策略不完善,消息发送功能受限;二是各系统单独负责短信发送、黑名单控制、限流、追尾、历史记录查询等功能,重复性工作量大;三是不利于应用迁移和扩容,随着业务开展,拆分多套BDS、账务节点,短信消息模板需要从现有节点迁移数据到新增节点,短信消息模板需要同步。
为此,本文提出了基于微服务架构的“统一消息中心”建设理念,可实现中心化解耦和微服务化,满足企业中台规范的业务场景支撑要求:模板统一管理、 发送策略统一管理、支持多种类消息统一发送、支持多维度统计消息发送报告。
如图1所示,基于微服务架构“统一消息中心”,将服务根据场景进行聚合,形成以下微服务:消息配置管理微服务,包含参数管理、模板配置、发送策略配置;消息发送微服务,包含待发送消息管理和消息发送。
图1 “统一消息中心”系统架构
图2 “统一消息中心”与周边系统关系
从图2及图1可见“统一消息中心”与周边系统的关系。与开通中心的关系:通过对接服务开通接口,提供统一的服务开通消息服务。与计费中心的关系:通过对接计费接口,为客户提供统一的计费消息服务。与客户中心的关系:通过对接客户关系管理接口,为客户提供统一的消息服务。与统一鉴权中心的关系:通过对接业务鉴权接口,提供统一的业务鉴权服务。与产商品中心的关系:提供统一的产商品消息服务。与资源库存中心的关系:为资源库存提供统一的消息模板管理服务、消息发送服务。与渠道与合作伙伴中心的关系:为渠道与合作伙伴提供统一的消息模板管理服务、消息发送服务。与基础管理中心的关系:提供统一基础消息管理服务。与营销中心的关系:提供统一营销模块服务、消息发送服务。与权益中心的关系:提供统一的权益产品服务、消息发送服务。与账务中心的关系:通过对接账务接口,为客户提供统一的账务消息服务。与支付中心的关系:提供统一的客户支付服务、消息发送服务。与订单中心的关系:提供消息模板管理服务、消息发送服务。与2G短信网关的关系:发送2G短信消息服务。与5G短信网关(Maap平台)的关系:发送5G短信消息服务。与ECOPS统一推送平台的关系:通过对接ECOP,实现短信推送。与APP、微信平台等的关系:通过对接APP和微信平台,实现消息推送。
“统一消息中心”功能架构
“统一消息中心”主要包括两大功能模块:消息配置服务、消息发送服务。具体来看,消息配置服务功能包括消息参数管理、消息模板配置、消息发送策略配置。消息发送服务是指对待处理中的消息提供查询、发送状态管理,并提供消息发送服务。其功能架构如图3所示。
图3 “统一消息中心”功能架构
技术架构
“统一消息中心”技术架构如图4所示。交互层:使用Nginx作为负载均衡代理服务器,用于后端微服务的Rest Api的代理服务器以及前端组件的静态文件服务。平台服务层:包含微服务技术组件和通用技术组件;支持微服务,微服务技术组件基于PaaS平台提供;提供服务注册能力和服务发现能力。缓存层: 提供近端和远端二级缓存。数据层:后端服务使用关系数据库,用于持久化业务数据;使用高速缓存服务,用于微服务的配置管理以及业务场景的配置存储;待发送队列使用Kafka消息系统。
图4 “统一消息中心”技术架构
部署架构
消息管理前台界面框架如图5所示,提供消息参数配置、数据查询、新增、修改、删除功能界面。应用部署架构如图6所示,统一消息中心采用双中心部署——主节点和备节点。主节点出现问题后,可手动切换到备节点并将备节点物理数据库切换为主库;缓存系统采用集群部署,采用近端和远端二级缓存, 实现缓存数据的自动刷新。消息处理发送队列采用Kafka实现。
图5 消息管理前台界面框架
图6 应用部署架构
“统一消息中心”优势
中国移动广东公司通过在消息管理方面的实践发现,基于微服务架构的统一消息技术与原有的消息管理架构相比,具有以下优势:一是采用微服务的技术方案,短信配置、短信发送、参数查询等各模块功能完全解耦,便于进行维护;二是采用统一消息管理方法,可简化网络架构,避免重复开发,使得消息功能的二次开发和运营效率得以提升,可以为运营商实现更大的商业价值。
综上,基于微服务架构的统一消息技术的应用及推广,必将为运营商今后在5G富媒体消息运营、政企客户服务等“新蓝海”领域创造更大价值。该技术的成功实践,也将对用户管理运营、计费账务生产等工作产生一定的借鉴意义,为运营商业务支撑系统的微服务化转型提供有力的技术支撑。