信鸽

多平台信息推送服务的实践

发布时间:2025/6/19 13:42:03   
白癜风检查到中科 http://www.csjkc.com/yydt/m/513.html
引言:

随着业务线上化的发展,多平台信息推送服务变得越来越重要。在传统的消息通知工具上,出现了一系列问题,比如强耦合的消息和业务代码、服务间代码重复维护困难、消息发送的偶发丢失等。为了解决这些问题,我们开发了信鸽平台,作为一个集中式的消息服务平台,为多个服务提供统一的消息发送解决方案。在本文中,我们将介绍信鸽平台的设计和实现,包括消息解耦的三元素、消息生命周期的统一管理、限流策略的适配,以及消息模板的使用。最后,我们将总结信鸽平台的优势和未来的发展方向。

背景和痛点

随着业务线上化的发展,企业越来越需要与用户进行即时通讯,因此消息通知工具成为了重要的沟通媒介。然而,传统的消息通知工具存在一系列问题。首先,消息发送和业务流程代码紧密耦合,导致消息发送问题直接影响业务流程的运行。其次,多个服务中存在重复的消息发送工具类,增加了代码的维护难度。最后,由于代码分散,消息发送的偶发丢失问题难以排查。为了解决这些问题,我们开发了信鸽平台。

为了解决多个服务独立开发消息发送代码的问题,我们设计了信鸽平台。信鸽平台是一个集中式的消息服务平台,为其他服务提供统一的消息发送解决方案。与其他中台服务类似,信鸽平台的目标是实现业务消息的优雅传递,确保消息发送的稳定性,并提供业务分析功能。在信鸽平台上,多个服务可以统一调用消息发送接口,大大提高了维护效率。

设计和实现

为了让信鸽平台的接口更加方便使用,我们设计了一系列功能。首先,我们将消息分解成了三个元素:场景、机器人和模板。通过配置这三个元素,可以完整地配置信鸽消息对象。其次,我们统一了消息的生命周期,包括初始化、发送中、发送成功、重试中和发送失败等状态。通过消息唯一号,可以方便地查询消息的状态。另外,为了适应不同平台的频率控制策略,我们实现了两种限流机制:计数器算法和令牌桶算法。使用自定义注解,可以灵活地配置限流策略。最后,为了简化消息的发送流程,信鸽平台提供了一套消息模板,用户只需要填充必要的参数并调用接口即可发送消息。

总结

信鸽平台作为新媒体业务体系中的核心组件,承担了消息发送的统一服务职责。通过解耦消息和业务代码、统一管理消息的生命周期、适配外部平台的限流策略,以及提供消息模板,信鸽平台大大提高了消息发送的效率和稳定性。在未来,我们还计划增强信鸽平台的功能,包括事务消息处理、消息的优先级排序和夜间消息发送的屏蔽控制,以更好地服务于业务需求。

作者简介:吴冰寒,转转乾数据技术部后端研发工程师。

转载请注明:http://www.aideyishus.com/lkjg/9373.html
------分隔线----------------------------