亿级消息中心架构方案

目标

技术目标: 上行到消息队列api吞吐量10000条/秒,下发第三方平台1000条/秒(仅平台自身处理能力,第三方看第三方处理能力极限指标为准);保证消息中心100%高可用。

业务目标: 对接新需求,明确消息中心的负责人(架构组),及时响应业务处理或者反馈。

产品目标: 支持消息处理状态查询,简单的消息规范消息对接(初级开发5分钟实现接入成本),规范化消息模板办理。

 

需求原型

功能需求:

支持阿里云短信,微信公众号,app推送,统一站内信,企业微信(应用,个人)等第三方推送。

包含消息模板管理,账户管理,消息搜索,批量消息发送等。

 

技术方案

业务部署交互图


业务核心逻辑交互图

技术选型

优势

缺点

rocketmq

【性能好】单个吞吐量能达10万/秒,并行推送能力(消费能力)可以通过rocketmq的分区(分区细节需要设计)数量进行扩展。性能上面是一个亮点和优势

【部分功能不支持】一旦进入rocketmq队列,推送消息不可撤回。很多数据库层面的功能特性(mq不支持)在设计上就会舍弃。

es

【性能好】可以支撑上亿的数据量的关键词搜索,实时同步的性能和吞吐量都还可以。

【并发插入能力略差】假设消息下发吞吐量高,需要批量对消息进行同步,这样可以优化es吞吐量。高并发对es同步,es承载能力可能会出问题(可以投入测试进行验证)。

 

概要设计描述

1. rocketmq 设计正常消息队列(正常投递消息),重试消息队列(支持多种延迟机制,发送失败重试的消息),发送结果消息队列(发送超限或者成功的消息)。

2. es 同步以上三种队列的消息,以最终一致性(最晚时间戳校验)保持消息信息最新。

3. mysql 仅支持管理模板,账号等基础管理功能。

 

底层框架设计、运维层面描述

1. 统一网关

spring cloud gateway/kong,仅做api层面的路由支持。

2. 基础框架: 选定jar包版本,es,rocketmq,实时报警,性能监控 对这些接口做二次封装,es支持sql模式插入查询;rocketmq做底层实现剥离。

参考: bsf 统一基础框架 
https://gitee.com/yhcsx/csx-bsf-all

3. 业务框架: 标准输入输出http rpc等业务框架工具或协议层面支持。

4. 服务高可用:k8s&docker 及devops 线上一体化部署的支持,要做到一键发布,一键回滚,滚动发布,不停机发版。


出处:https://www.cnblogs.com/chejiangyi/p/14884931.html

亿级消息中心架构方案

目标技术目标: 上行到消息队列api吞吐量条/秒,下发第三方…,需要批量对消息进行同步,这样可以优化es吞吐量。高并发对es同步,es承载能力可能会出问题(可以投入测试进行验证)。?概要设计描述. rocketmq 设计正常消息队列(正常投递消息),重试消息队列(支持多种延迟机制,发送失败重试的消息)…键回滚,滚动发布,不停机发版。出处:https://www.

程序员被公司辞退12天,前领导要求回公司讲清楚代码,结果懵了

源?/?顶级程序员在大部分情况下,如果一个员工已经离职了,那…要收费的,领导当时就怒了,还说代码不清楚,是他的问题,不然要追究责任!笔者认为:其实这个程序员收费也没有错啊,首先他与公司的合同已经结束了,与原公司已经没有任何关系,再要我帮忙讲代码,这肯定是需要付出报酬的,这也是对员工知识的尊重。当然,如…都不支持回去讲代码,而原因就是在领导的态度上面。如果你是该员

活动抽奖小程序之产品分析报告

编辑导读:微信小程序自推出以来,一直处于蓬勃发展的状态。如今,人们最常用的就是活动抽奖小程序。本文作者对此进行了五个维度的深入分析,希望对你有帮助。一、行业分析根据阿拉丁研究院出品的《2020年小程序互联网发展白皮书》显示,目前微信小程序总量超过380万,并仍在持续上涨中。

20 个鲜为人知的 HTML 技巧,以及示例示例

什么是 HTML?HTML (Hypertext Markup Language)是标准标记语言,是 Web 浏览器显示的基础。 此外,CSS(Cascading Style Sheets)等技术以及JavaScript等脚本语言也支持这种技术。

前端性能优化——从 10 多秒到 1.05 秒

来自:https://segmentfault.com/a/…符串,只要资源有变化就这个值就会改变;其判断过程与 ast-odified、f-odified-ince 类似,与 ast-odified 不一样的是,当服务器返回 otodified 的响应时,由于 ag 重新生成过, response …ell-change硬件加速 ...以及,性能测试工具,例如