消息通知系统的架构设计
设计企业级系统架构,支持使用API集成的电子邮件、短信、聊天和其他公共社交应用程序:
·电子邮件·短信/一次性密码·推送通知(移动设备和Web浏览器)·聊天 - Whatsapp/Telegram
(资料图片仅供参考)
这是一种通用的功能,适用于所有现代分布式应用程序,无论使用任何编程语言和技术。
我试图简化这个设计概念,以满足高可用性、高性能和分析服务的常见用例需求。这是通过微服务架构实现并在Kubernetes容器上部署,使其成为完全云原生的现代系统。让我们开始吧!
功能要求:·发送通知·对通知进行优先级排序·根据客户的保存偏好发送通知·支持单个/简单的通知消息和批量通知消息·各种通知的分析用例·通知消息的报告
非功能性需求(NFR):·高性能·高可用性(HA)·低延迟·可扩展/可插拔的设计,以添加更多的客户端、适配器和供应商·支持Android/iOS移动设备和桌面/笔记本电脑的Web浏览器·与所有通知模块的API集成和与客户端和服务提供商/供应商的外部集成·可在本地(VMware Tanzu)和AWS、GCP或Azure等公共云服务上扩展负载
系统设计架构:注意:请点击图像以查看清晰的视图!
这些是解决方案设计的考虑因素和组件:
1. 通知客户端:这些客户端将使用API调用请求单个和批量消息。这些客户端将向简单和批量通知服务发送通知消息。
·批量通知客户端:这些客户端发送批量通知。·简单通知客户端:这些客户端发送单个通知。
2. 通知服务:这些服务是入口服务,将通过暴露REST API与客户端交互。它们负责通过消耗"模板服务"来构建通知消息。这些消息将使用"验证服务"进行验证。
·简单通知服务:该服务将暴露API,以将客户端与后端服务集成。它是主要的服务,用于处理简单通知请求。·批量通知服务:该服务将暴露API,以将客户端与后端服务集成。它是主要的服务,用于处理批量通知请求。
此服务还将管理通知消息。它将将发送的消息持久化到数据库并维护活动日志。可以使用这些服务的API重新发送同一条消息。它将提供添加/更新/删除和查看旧消息和新消息的API。它还将提供Web仪表板,该仪表板应具有筛选选项,以根据不同的条件(如日期范围、优先级、模块用户、用户组等)筛选消息。
3. 模板服务:该服务管理所有可用的OTP、短信、电子邮件、聊天和其他推送通知消息的模板。它还提供REST API来创建、更新、删除和管理模板。它还将提供一个UI仪表板页面,以便从Web控制台检查和管理消息模板。
4. 用户选择服务:该服务将提供选择目标用户和各种应用程序模块的服务。可能存在将批量消息发送到特定用户组或不同应用程序模块的用例。可能是AD/IAM/eDirectory/用户数据库/用户组,根据客户的偏好。在内部,它将使用"用户配置文件服务"API来消耗和检查客户的通知偏好。
5. 用户配置文件服务:该服务将提供各种功能,包括管理用户配置文件和其偏好设置。它还将提供取消订阅通知以及通知接收频率等功能。"通知服务"将依赖于此服务。
6. 通用通知服务·定时服务:
该服务将提供API来安排立即或指定时间的通知。可以是以下任何一种:
·秒·分钟·每小时·每天·每周·每月·每年·自定义频率等。
还可能有其他自动触发的服务,基于预定时间进行消息触发。
·验证服务:
该服务完全负责根据业务规则和期望的格式对通知消息进行验证。批量消息应由授权的系统管理员批准。
·优先级服务:
它还将根据高、中和低优先级对通知进行优先级排序。OTP通知消息具有较高的优先级和有时间限制的过期时间,它们将始终以较高优先级发送。"通用出站处理程序"将消耗消息并根据同样的优先级从高、中和低三个不同的队列中发送和处理。批量消息的另一个用例是在非工作时间使用低优先级发送。在交易过程中的应用程序通知可以发送到中优先级,如电子邮件
等。业务将根据通知的重要性决定优先级。
7. 事件优先级队列(事件中心):它将提供事件中心服务,从通知服务中消耗高、中和低优先级的消息。它将根据业务优先级发送和接收消息。
它将具有以下三个主题,用于根据业务优先级消耗/发送消息:
·高优先级·中优先级·低优先级
8. 通用出站处理程序:该服务将通过轮询事件优先级队列来消耗事件中心中的通知消息,根据其优先级进行处理。高优先级将优先给予"高"队列,依此类推。最后,它将通过事件中心将通知消息发送到特定的适配器。
该服务还将从用户选择服务中获取目标用户/应用程序。
9. 通知数据库:该数据库将持久化所有通知消息,包括其发送时间、状态等。它将具有一个数据库集群,其中一个领导者将用于执行所有写操作,读取将在读取副本/跟随者上进行。它应该是一个非关系型数据库。
10. 出站事件中心:它最终将消息传输到各种支持的适配器。这些适配器将基于不同的设备(桌面/移动)和通知类型(短信/OTP/电子邮件/聊天/推送通知)进行转换。
11. 通知适配器:这些适配器将从事件中心(Kafka)接收传入消息并根据其所支持的格式发送给外部供应商。以下是一些适配器,根据需求可以添加更多:
·OTP适配器服务·短信适配器服务·电子邮件适配器服务·应用内通知适配器服务·WhatsApp聊天通知适配器服务·Telegram通知适配器服务
12. 通知供应商:这些是外部的SAAS(云上/本地)供应商,使用它们的基础设施和技术提供实际的通知传输。它们可能是像AWS SNS、MailChimp等的付费企业服务。
·短信供应商集成服务·电子邮件供应商集成服务·应用推送通知供应商集成服务·WhatsApp供应商集成服务·Telegram供应商集成服务
13. 通知分析服务该服务将执行所有的分析工作,并识别通知使用情况、趋势以及进行报告。它将从分析数据库(Cassandra)和通知数据库中提取所有最终的通知消息,用于分析和报告目的。
以下是一些用例:
·每天/每秒的总通知数。·哪个通知系统使用最频繁。·消息的平均大小和频率。·基于优先级过滤消息等等...
14. 通知跟踪器该服务将持续读取事件中心队列并跟踪所有发送的通知。它捕获通知的元数据,如传输时间、传送状态、通信渠道、消息类型等。
15. Cassandra数据库集群该数据库集群将持久化所有通知,用于分析和报告。它基于“写入更多,读取更少”的概念。
它将提供良好的性能和低延迟,适应大量的通知,因为它内部管理大量的写操作,并与其他数据库节点同步,并保留高可用性和可靠性的冗余数据/消息。在任何节点崩溃的情况下,消息将始终可用。
标签:
-
2022-05-23 16:13:32
上海奉贤等区开展常态化防疫压力测试 有序开放公交、公园、公共服务场所、公共街区商区<
本报上海5月21日电 (记者刘士安、曹玲娟)上海正在奉贤等区开展常态化防疫压力测试。在21日召开的上海市疫情防控工作新闻发布会上,奉
-
2022-05-23 16:13:32
“抗疫 宅家云课堂”,吸引沪上老同志观看50万人次<
由上海市委老干部局主办,上海市老干部大学、市科技助老服务中心承办的“抗疫 宅家云课堂”系列直播讲座自4月12日启动以来,深受老同
-
2022-05-23 16:13:32
“代跑腿”买药、开通绿色通道 丰台为管控区居民提供便捷医疗服务<
“真是太感谢了,解决了我的燃眉之急!”家住假日万恒社区的杨女士对前来送药的居委会工作人员说。 自5月17日6时起,丰台区对青塔街...
-
2022-05-23 16:13:32
上海嘉定:儿童计划免疫接种全部恢复,实行预约制<
在5月22日召开的上海市新冠肺炎疫情防控新闻发布会上,嘉定区副区长王浩介绍,从4月28日开始,嘉定在防范区逐步有序恢复老年人疫苗接种
-
2022-05-23 16:13:32
乡村振兴看新疆 | 种下红樱桃 结出“致富果”<
央广网阿图什5月22日消息(记者 罗成 通讯员 杨林)乡村振兴靠产业,产业发展靠特色。新疆阿图什市阿扎克镇麦依村积极引导农民因地制
-
2023-08-03 17:10:55
消息通知系统的架构设计
目标:设计企业级系统架构,支持使用API集成的电子邮件、短信、聊天
-
2023-08-03 17:02:51
麒麟操作系统通过GB18030-2022最高级别认证
8月1日,强制性国家标准GB18030-2022《信息技术中文编码字符集》正式实
-
2023-08-03 16:28:27
“大客车隧道连撞多车” 杭州交警通报:驾驶员突发疾病,致1人受伤
@杭州交警通报,8月3日8时8分许,朱某(男,53岁,杭州市人)驾驶一辆浙
-
2023-08-03 15:44:14
可别再硬“肝”了 掌握这些让你远离“肝扰”
2023年7月28日是第13个“世界肝炎日”。肝脏是人体的“化工厂”,具有
-
2023-08-03 15:03:36
089期宋浩双色球预测奖号:012路码分析
双色球第2023088期开奖,红球:01、14、18、26、31、33;蓝球:05。其
-
2023-08-03 14:22:32
『每日篇』P站日榜动漫壁纸分享 _230803档
P站二次元动漫壁纸&美图分享(2023年08月03日档),含Pixiv综合榜单及
-
2023-08-03 13:49:49
一作发Science,北大博士填补了国家这项研究的空白
填补国家尺度森林碳收支模式研究的空白再到参加科技部基金委国家重大项
-
2023-08-03 12:52:07
南京证券:给予立讯精密买入评级
南京证券股份有限公司高宏近期对立讯精密进行研究并发布了研究报告《深
-
2023-08-03 12:18:42
新华全媒+|向您敬礼!
新华全媒+|向您敬礼!,门头沟区,妙峰山镇,北京市,丰台,武警
-
2023-08-03 11:55:17
2023年8月3日亚盘交易建议:黄金、白银、欧元、英镑、日元、瑞郎交易点位技术分析及预测
8月3日,周四亚市盘中,美元指数窄幅震荡,目前交投于102 60附近。美元
-
2023-08-03 10:54:40
湖南省衡阳市一辆宝马牌小型汽车将以8万起拍,车牌为赣E198R9
据阿里资产平台披露,湖南省衡山县人民法院将于2023年8月5日10:00--20
-
2023-08-03 10:20:35
从江县:“三步曲”持续深化城镇精致管理行动走深走实
自和美城乡“四大行动”开展以来,从江县按照强化公共保洁、完善市政设
-
2023-08-03 09:51:07
下一个ChatGPT?超导概念股国缆检测连续两天20%涨停,游资“赵老哥”现身
本文来源:时代周报作者:梁春富近日,韩国科研团队在arXiv上发表论文
-
2023-08-03 09:00:29
以研究生教育促进创新能力建设的国际实践
【世界教育之窗】进入21世纪以来,科学技术的快速发展带来了新一轮的科
-
2023-08-03 08:41:39
K396、K1178、Z180次列车所有滞留旅客安全疏运完毕
人民网北京8月3日电(记者王连香)记者从中国铁路官方微博获悉,8月3日
-
2023-08-03 08:09:30
白宫将要求美国会首度通过“外国军事融资”军援台湾
英国《金融时报》引述消息报导,美国白宫将要求美国国会,在对乌克兰的
-
2023-08-03 07:03:39
魔剑记
1、妖晶记,网络玄幻小说,作者是8难。2、由纵横中文网首发,目前已完
-
2023-08-03 05:55:58
智慧商圈要过成本关
使人身临其境的3D短片、门店消费自助积分……智慧商业的发展,不仅使得
-
2023-08-03 04:49:01
全国生态日标识、招贴画与视觉延展设计正式发布
全国生态日标识、招贴画与视觉延展设计正式发布2023年08月02日22:42中
-
2023-08-03 01:13:28
智趣屋diy(智趣屋是做什么的呢)
1、智趣屋是如均的品牌名,是一家小屋贸易公司,目前国内Diy小屋有3大
-
2023-08-02 22:52:56
将来9周,四大生肖吉星照耀,事业蒸蒸日上,财运上上签
生肖鸡的人为人正直,贵人如云,整体的财富增加,人生迈入新的里程碑,
-
2023-08-02 22:03:29
广西加快推进现代设施农业发展 突出“畜渔蔬果蚕菌”产业
近日,广西壮族自治区人民政府办公厅印发《广西加快推进现代设施农业发
-
2023-08-02 21:07:09
新股前瞻|猪价探底之际,德康农牧三闯港交所“补血”
德康农牧又双叒叕递表了。
-
2023-08-02 20:00:11
吉视传媒: 吉视传媒股份有限公司2023年第二次临时股东大会决议公告
吉视传媒:吉视传媒股份有限公司2023年第二次临时股东大会决议公告
-
2023-08-02 19:24:54
那个女人技能!飞行天赋与散兵错开赛道?身兼抗打断副c位?带你看原神留云技能设计!
小编最近在舅舅那边得到了那个女人的技能设计,小编看来非六命属于后台
-
2023-08-02 18:56:18
成都大运会吉祥物在哪里买?
成都大运会吉祥物在哪里买?成都大运会官方特许商品零售店成都大运会特
-
2023-08-02 18:03:39
媒体人晒球迷亲笔信和王霜签名照:王霜早做到了偶像和榜样的力量
在昨晚1-6不敌英格兰女足赛后,女足球员王霜赛后采访时数度哽咽,并说
-
2023-08-02 17:39:38
何曙阳博士加入克睿基因,担任细胞治疗首席科学官
昨日,克睿基因宣布ShawnHe(何曙阳)博士于2023年8月1日正式加入公司
-
2023-08-02 17:01:06
都在催这顶流出道,但过得了审吗
又到了一年一度晒录取通知的时刻。但今年网络上讨论最多的通知书,不是
-
2023-08-02 16:21:37
大龄单身女人被剩下的原因 有已经不可能的男人存在
大龄单身女人,这群体是有很大的,都是超级优秀的一个群体,人长得好看
-
消息通知系统的架构设计
2023-08-03 17:10:55 -
麒麟操作系统通过GB18030-2022最高级别认证
2023-08-03 17:02:51 -
“大客车隧道连撞多车” 杭州交警通报:驾驶员突发疾病,致1人受伤
2023-08-03 16:28:27 -
可别再硬“肝”了 掌握这些让你远离“肝扰”
2023-08-03 15:44:14 -
089期宋浩双色球预测奖号:012路码分析
2023-08-03 15:03:36 -
『每日篇』P站日榜动漫壁纸分享 _230803档
2023-08-03 14:22:32 -
一作发Science,北大博士填补了国家这项研究的空白
2023-08-03 13:49:49