小雨伞已上线的触达系统 https://mp.weixin.qq.com/s/wItL0k8oHOqF0_LlEctrRw 在过去一年里,经过多次迭代,已经基本达到当时系统设计的目标。随着业务接入的增多,也引来了我的一些思考。

当前触达系统工作模式

触达系统将要面临的挑战

1.随着大量业务的接入,对于触达的消费速度会面临一定挑战,当然可以通过简单的扩展 消费进程或者直接加机器横向扩展可以解决。

2.触达系统作为基础业务,对于增加触达类型多等操作,存在更大的风险,事故的影响范围会越来越大,解耦服务及如何在不影响现有服务的情况下新增功能或消息类型会变得更重要。

3.如何更有效的利用系统资源,现有的进程模式相对线程、协程而言,占用更多系统资源(内存,cpu),且随进程增加会越来越明显(花在上下文切换时间越来越多),系统资源利用率不高。

4.无法做到对某种消息的单独扩展。比如客服消息的使用量大,而邮件的使用量相比客服消息小很多,如果要扩展,在现有模式下,只能整体扩展,无法单独扩展客服消息的消费者,以提高某种消息类型的消费速度。同时各种消息类型单位时间内处理消息的条数存在差异。

5.redis作为消息队列实现,无法实现消费确认机制,会存在消息丢失的可能,且在并发速度上,无法和专业的MQ软件到达相同的并发数量级。

触达系统改进的想法

1.在不改变现有触达系统的功能和协议的情况下,改进消费者的实现方式。

2.公司现有的基础支撑

ETCD 支撑实现服务注册和服务发现

RabbitMQ 代替 redis 实现更高量级的消费速度和消息可靠性

go 语言的推广,go协程模式可实现更少的资源占有和更高的并发速度

3.系统业务架构图:

系统主要分以下角色

  1. Receiver 服务接收由于接口发送的消息协议,并解析发送到对应消息服务的队列中。
  2. Consumer 负责消费消息,将消息发送到客户端。
  3. Alarm System 告警系统(需要更多业务思考)

优化目的

  1. 解耦每种消息消费者并实现新消息类型服务注册与服务发现。做到在不影响现有系统的情况下扩展功能。
  2. 实现不同消息的并行消费和水平扩展。
  3. 更换消息队列模式,实现消息可靠传递与消费
  4. 减少资源使用提高消费速度。
  5. 建立触达监控机制

初版触达系统方案地址:https://mp.weixin.qq.com/s/wItL0k8oHOqF0_LlEctrRw

小雨伞触达系统的优化方向的一些思考相关推荐

  1. 一个实时精准触达系统的自我修养

    问题定义 在互联网行业,唯一不变的就是一直在变化.作为技术同学,我们经常会碰到以下几种需求: 当用户收藏的商品降价后及时通知用户,促进双方交易达成:新用户或90天内未成交的用户浏览多个商品后引导用户主 ...

  2. 闲鱼触达系统背后——我想更懂你

    背景 上周看完了闲鱼 push 系统 Hermes 的"三生三世",大家是不是一直等着"十里桃花"呢?Hermes 咋就这么敏捷呢?她咋就这么懂你呢?今天,小编 ...

  3. 一个PUSH系统是怎么做到友好触达的?

    背景   在Omega实时触达系统的系列技术文章中,已经对行为采集中心.CEP规则中心.用户触达中心三个子系统进行了详细介绍.Omega实时触达系统的核心能力是基于用户行为实时推送给用户感兴趣的内容, ...

  4. 码农节快乐|一个系统,高效解决复杂事件采集-计算-实时触达

    PartI: 1024 今天是1024,一个特别的数字,比如某网站内容的解压密码通常都是1024,想求一个种子留言也是1024.1024是属于广大程序猿(又称码农)的节日,在这样一个节日里,各种&qu ...

  5. 优酷用户触达平台技术大揭秘

    作者| 阿里文娱技术专家 曾辰 责编 | 李雪敬 出品 | CSDN(ID: CSDNnews) 前言 优酷在用户运营场景上,沉淀了丰富的用户运营及营销触达策略.为了保障用户的持续活跃,当用户进入产品 ...

  6. 如何从系统层面优化深度学习计算?

    编者按:在图像.语音识别.自然语言处理.强化学习等许多技术领域中,深度学习已经被证明是非常有效的,并且在某些问题上已经达到甚至超越了人类的水平.然而,深度学习对于计算能力有着很大的依赖,除了改变模型和 ...

  7. 系统层面优化深度学习计算

    百度首页 yuancsnuist 如何从系统层面优化深度学习计算? 搜狐科技05-1717:18 编者按:在图像.语音识别.自然语言处理.强化学习等许多技术领域中,深度学习已经被证明是非常有效的,并且 ...

  8. 混合储能系统容量优化MATLAB程序基于粒子群算法

    混合储能系统容量优化MATLAB程序基于粒子群算法 (1)该程序为基于粒子群算法的混合储能系统容量优化程序,中文核心期刊论文源程序,配有该论文,再给一篇类似的参考论文. (2)该程序中混合储能系统为蓄 ...

  9. 2022 上半年小程序白皮书新鲜出炉,「四维开放」促进小程序更强劲的场景触达

    2022 年注定是不平凡的一年.在过去的六个月里,国际形势.市场环境.行业发展都在发生着过去几年都不曾预见的变化,小程序互联网也乘风破浪踏上新的征程.私域作为核心动力在 2021 年获得了前所未有的突 ...

最新文章

  1. 声明及赋值_重述《Effective C++》二——构造、析构、赋值运算
  2. 随堂小测app冲刺(三)
  3. Eclipse+pydev+手动安装
  4. 照顾好自己才能照顾好别人_您必须照顾的5个基本数据
  5. bat java 启动脚本_bat批处理启动java程序通用脚本
  6. 锁定 ASP.NET 配置设定
  7. open*** 跨平台部署
  8. python 局部变量和全局变量 global
  9. 好书推荐:OpenSuse
  10. LM393(寻迹原理)
  11. 如何去掉word文档右侧的竖线
  12. 指数基金投资指南 笔记
  13. 一文读懂nginx gzip
  14. 餐饮SaaS行进时:美团To B,二维火To C
  15. FCN全卷积网络和Deconv转置卷积原理描述
  16. 【SpringBoot】application配置文件及注入
  17. java键盘输入怎么输入汉字,图文教你java怎么接收从键盘输入的字符串
  18. ffmpeg进行音频解码,QAudioOutput播放解码后的音频
  19. 逻辑学学习.9 --- 谓词逻辑(一):谓词的基本概念
  20. PyTorch模型训练完毕后静态量化、保存、加载int8量化模型

热门文章

  1. git查看历史记录的几种方式
  2. 互联网协会副秘书长:中国互联网行业将呈现四大发展趋势
  3. 关于看涨期权和看跌期权的理解
  4. java计算机毕业设计飞羽羽毛球馆管理系统MyBatis+系统+LW文档+源码+调试部署
  5. 计算机flash忆江南怎么做,幼儿园学古诗《忆江南》FLASH课件动画教案
  6. 监控平台实践(三)Telegraf 实现组件监控
  7. Postman中设置环境变量
  8. 【数据可视化】第三章——数据可视化综合实践
  9. 设置输入框默认文字内容
  10. python长整数相乘_Python中的分数与整数相乘