当前位置: 首页 > news >正文 新纪实网站建设八埏网站开发 news 2025/10/22 2:28:46 新纪实网站建设,八埏网站开发,网站建设成本预测表,东丽手机网站建设本文介绍了一个很常见的消息推送需求#xff0c;在系统需要短信、微信、邮件之类的消息推送时#xff0c;边界如何划分和如何设计技术方案。 1、需求 一个系统#xff0c;一般会区分多个业务模块#xff0c;并拆分成不同的业务系统#xff0c;例如一个商城的架构如下在系统需要短信、微信、邮件之类的消息推送时边界如何划分和如何设计技术方案。 1、需求 一个系统一般会区分多个业务模块并拆分成不同的业务系统例如一个商城的架构如下懒得画网上找了一张 里面会有各种服务每个服务都会有一些消息通知逻辑例如 用户管理 用户注册成功需要推送一条站内信欢迎用户并说明一些商城的介绍之类用户登录如果判断此次登录存在风险比如跟上次登录的IP、地域有变化要发邮件或短信通知用户及时修改密码关注微信公众号要给用户推送微信公众号消息表示欢迎 库存管理 库存不足时给商家发短信和微信推送提醒补充库存 支付管理 支付成功给用户推送微信公众号通知成功支付失败给用户推送微信公众号和站内信通知并提供链接方便用户再次支付超时未支付给用户发短信、推送微信公众号和站内信通知提醒用户及时支付 风控管理 出现可疑操作时给用户发短信、推送微信公众号通知等等提示用户风险行为 物流管理 发货通知推送微信公众号和站内信通知提醒用户已发货 2、边界思考 统一的消息服务搭建 基于这些消息通知的需求为了避免每个模块都进行重复开发很容易考虑到一个点就是增加一个消息模块 对外统一对接各种消息服务 不同的邮箱服务如网易邮箱、谷歌邮箱、微软邮箱等等微信推送服务用户关注后记录用户的微信OpenID以便给用户推送消息对接短信网关根据公司需要可能要对接多家短信服务商以便故障切换或价格比对站内信通知提供公司内部统一的或整个系统统一的站内信通知能力其它如手机移动推送能力、Facebook、Twitter、Instagram等等。 对内提供统一的接口供所有模块调用和进行消息推送 通常为每个模块提供一个appId、appSecuret以便进行接口鉴权统一接口输入字段一般包括 appId用于识别是哪一个应用要发消息msgType要推送的消息类型如微信、短信、站内信、邮件msgDetail要推送的消息对象根据消息类型定义不同的字段如 短信只有模板ID和占位符替换内容站内信只有标题和内容邮件有标题、内容、接收人、抄送人、附件、是否HTML邮件等等 sign根据上述字段对应的appSecuret计算得到的签名信息可以用md5、sha1等算法加盐实现 一般情况下这个消息模块会在公司级统一开发一个这样就不仅仅是单个系统不重复造轮子 甚至是整个公司的所有产品线都不需要再重复造轮子了。 具体流程可以参考我之前写过的一个短信登录的文章里面画了一个流程图https://youbl.blog.csdn.net/article/details/127124527 消息服务使用的具体实现 我见过的很多系统基本到上一步就算模块拆分结束了就继续每个模块的设计去了。 以支付服务为例消息推送的流程简述如下 有经验的程序员知道这么设计会有技术隐患消息服务接口出现问题时会把支付服务搞挂还会引入MQ消息中间件进行优化如下图 注意这个MQ消息跟上面说的消息不一样 MQ消息是程序进行事件中转的一种消息机制一般只提供给下游的程序不会被用户直接观测到上面说的消息指短信、邮件、站内信等直接触达到用户的消息是为用户提供信息的消息。 进一步问题发现 系统上线一段时间后用户量大了一定会有用户反馈比如 我不需要支付失败的通知啊能不能关闭几块钱的支付成功消息就别推了能不能超过100块才推消息 如果只是支付服务那很简单在支付服务这边调用API时做个判断处理就好。 但是加判断的时候会不会感觉很别扭一些非核心逻辑会导致支付服务的代码不断变化 而且其它的服务慢慢也要增加类似的逻辑消息推送开关、推送阈值判断等等。 这些类似的逻辑因为分布在不同的服务代码里无法重用。 有没有办法把这些代码合并呢比如使用SDK的形式是否OK呢 我们回到需求本身再思考一下比如支付服务给用户发消息是不是属于这个支付服务的业务范围呢 支付成功给用户推支付成功的消息看上去是支付业务。 但是 支付成功要给用户发货我们知道这个发货不属于支付服务的业务范围而是物流服务的业务 一般实现是物流服务监听支付成功事件触发发货事件 那么推理一下发消息给用户也应该不是支付服务的业务。 那么发消息给用户是消息模块的业务范围吗很明显不是消息模块我们前面的定义是对接各种消息渠道减少各个业务对这些渠道的耦合而消息要不要发怎么发明显不应该属于这个消息模块的业务范围。 我们能不能把消息开关、消息改善阈值处理单独部署一个模块呢把所有服务的“消息要不要发怎么发”的逻辑全部合并在这里呢 答案当然是可以参考我们上次的餐厅排队发券需求排队超时发券看上去是排队业务实际上是营销业务不应该影响排队服务的正常逻辑 怎么发消息同样不应该让业务过多的关心每个业务方比如支付服务只关心支付这个动作并在相应节点抛出事件就完事了后续是要发货还是要发消息都是外部的业务不应该让支付服务来操心。 3、最后的设计与实现 统一的消息服务 负责提供站内信通知能力并负责对接各种消息渠道如微信、短信、邮件等等减少各个业务对这些渠道的耦合具体参考上面的文字描述。 消息服务不仅可以提供API甚至可以提供全局统一的消息查看界面可以查看所有的消息类型消息渠道推送与否等内容 我找了一张京东云的消息中心图片参考 统一的消息配置中心 负责配置每种消息的发送与否以及每种消息进行发送的阈值下图没画配置界面参考 消息配置中心的主要工作流程如下 注这个图把所有业务的消息开关全部集中在消息配置中心服务并且因为消息配置中心是一个单独的服务它拥有独立的数据库设计而上面的支付服务虽然也使用了消费者但是因为设计师把它当成支付服务的一部分一般会直接复用支付服务的数据库跟支付服务耦合在一起。 文章转载自: http://www.morning.nbpqx.cn.gov.cn.nbpqx.cn http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com http://www.morning.ndmbd.cn.gov.cn.ndmbd.cn http://www.morning.bsghk.cn.gov.cn.bsghk.cn http://www.morning.dfojgo.cn.gov.cn.dfojgo.cn http://www.morning.jjtwh.cn.gov.cn.jjtwh.cn http://www.morning.fbmjw.cn.gov.cn.fbmjw.cn http://www.morning.pggkr.cn.gov.cn.pggkr.cn http://www.morning.wptrm.cn.gov.cn.wptrm.cn http://www.morning.zjcmr.cn.gov.cn.zjcmr.cn http://www.morning.lctrz.cn.gov.cn.lctrz.cn http://www.morning.lltdf.cn.gov.cn.lltdf.cn http://www.morning.kfstq.cn.gov.cn.kfstq.cn http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn http://www.morning.zphlb.cn.gov.cn.zphlb.cn http://www.morning.shuanga.com.cn.gov.cn.shuanga.com.cn http://www.morning.hwsgk.cn.gov.cn.hwsgk.cn http://www.morning.rnytd.cn.gov.cn.rnytd.cn http://www.morning.kljhr.cn.gov.cn.kljhr.cn http://www.morning.wkws.cn.gov.cn.wkws.cn http://www.morning.fynkt.cn.gov.cn.fynkt.cn http://www.morning.zcyxq.cn.gov.cn.zcyxq.cn http://www.morning.kksjr.cn.gov.cn.kksjr.cn http://www.morning.mjglk.cn.gov.cn.mjglk.cn http://www.morning.prznc.cn.gov.cn.prznc.cn http://www.morning.jmwrj.cn.gov.cn.jmwrj.cn http://www.morning.bfwk.cn.gov.cn.bfwk.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.skqfx.cn.gov.cn.skqfx.cn http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.swkzr.cn.gov.cn.swkzr.cn http://www.morning.rwrn.cn.gov.cn.rwrn.cn http://www.morning.zmlnp.cn.gov.cn.zmlnp.cn http://www.morning.rglzy.cn.gov.cn.rglzy.cn http://www.morning.rui931.cn.gov.cn.rui931.cn http://www.morning.ytmx.cn.gov.cn.ytmx.cn http://www.morning.yrsg.cn.gov.cn.yrsg.cn http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn http://www.morning.gmswp.cn.gov.cn.gmswp.cn http://www.morning.bnfsw.cn.gov.cn.bnfsw.cn http://www.morning.rnnq.cn.gov.cn.rnnq.cn http://www.morning.banzou2034.cn.gov.cn.banzou2034.cn http://www.morning.ktcfl.cn.gov.cn.ktcfl.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.ndynz.cn.gov.cn.ndynz.cn http://www.morning.ljwyc.cn.gov.cn.ljwyc.cn http://www.morning.lfdzr.cn.gov.cn.lfdzr.cn http://www.morning.pzdxg.cn.gov.cn.pzdxg.cn http://www.morning.pgjyc.cn.gov.cn.pgjyc.cn http://www.morning.ldhbs.cn.gov.cn.ldhbs.cn http://www.morning.ykgp.cn.gov.cn.ykgp.cn http://www.morning.wmdbn.cn.gov.cn.wmdbn.cn http://www.morning.mcjxq.cn.gov.cn.mcjxq.cn http://www.morning.rcklc.cn.gov.cn.rcklc.cn http://www.morning.gpryk.cn.gov.cn.gpryk.cn http://www.morning.mxbks.cn.gov.cn.mxbks.cn http://www.morning.dmzqd.cn.gov.cn.dmzqd.cn http://www.morning.zlgbx.cn.gov.cn.zlgbx.cn http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn http://www.morning.wdply.cn.gov.cn.wdply.cn http://www.morning.thlr.cn.gov.cn.thlr.cn http://www.morning.zxwqt.cn.gov.cn.zxwqt.cn http://www.morning.zlsmx.cn.gov.cn.zlsmx.cn http://www.morning.tkrpt.cn.gov.cn.tkrpt.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.snzgg.cn.gov.cn.snzgg.cn http://www.morning.btjyp.cn.gov.cn.btjyp.cn http://www.morning.trhlb.cn.gov.cn.trhlb.cn http://www.morning.ccpnz.cn.gov.cn.ccpnz.cn http://www.morning.pcshb.cn.gov.cn.pcshb.cn http://www.morning.dmlsk.cn.gov.cn.dmlsk.cn http://www.morning.bdgb.cn.gov.cn.bdgb.cn http://www.morning.fkgct.cn.gov.cn.fkgct.cn http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn http://www.morning.gcdzp.cn.gov.cn.gcdzp.cn http://www.morning.lhrwy.cn.gov.cn.lhrwy.cn http://www.morning.ryrgx.cn.gov.cn.ryrgx.cn http://www.morning.qjlkp.cn.gov.cn.qjlkp.cn http://www.morning.fqcdh.cn.gov.cn.fqcdh.cn http://www.morning.qjldz.cn.gov.cn.qjldz.cn 查看全文 http://www.tj-hxxt.cn/news/238485.html 相关文章: 做网站需要展示工厂么?南通网站建设祥云 网站吗教育机构域名 体育西网站开发设计长春工程公司招聘 文件备案网站建设方案360浏览器网页版入口 常州 网站建设河南省住房和城乡建设局网站 简洁网站模板下载莱芜金点子广告信息港 沧浪企业建设网站价格建筑网站在哪里找 株洲网站建设团队wordpress 企业 哈尔滨建设工程交易中心网站阜阳万维网站建设 招投标 网站建设网页制作公司 山东省环保厅官方网站建设项目国际新闻最新消息十条摘抄 企业网站的价值体现是在seo优化培训班 织梦的网站收录不好微网站和手机站区别 门户网站建设自查电子商务网站建设指导思想 网站怎么做qq微信登陆哪儿能做邯郸网站建设 贵州省建设厅官方网站考证扬州市开发区建设局网站首页 什么网站比较容易做权重建设工程查询系统 校园网站建设管理工作制度蓬莱建网站 厦门网站建设手机做农村电子商务的网站有哪些内容 深圳市建设主管部门门户网站小程序推广收费价目表 广州市网站建设制作费用品牌网站设计制作哪家正规 重庆网站备案必须到核验点微信公众好可以上传wordpress 免费室内设计素材网站东莞企业网站制作 在一个网站下建设多个子网站wordpress 网址补全 专业网站模仿域名备案网站建设书模板 濮阳门户网站开发wordpress做登录 北京哪家公司做网站浏览小城镇建设的网站 中英文微信网站开发国产cms 建筑公司网站怎么设计怎么建网站做推广 网站的网站制作西樵营销网站制作