RabbitMQ定时消息:异步通讯与延迟任务的实践指南
在微服务的框架体系之内,各个服务之间进行直接调控运用的话,虽然是能够在极短时间之内做出相应的反应,然而却经常会引发和生出性能方面的阻碍局限以及系统紧耦合的那种风险隐患,这样的情况就促使着异步通信变成了关键技术方面的转变方向。
同步调用的现实困境
以Feign或者类似技术来进行同步调用,这就需要调用方一定要等待被调用方给出实时响应。在用户支付完毕后通知积分服务的这种场景里,要是积分系统的处理速度迟缓或者出现宕机状况,那么整个支付流程将会被阻塞,进而致使用户需要长时间等待 。
这样的强依赖性致使随便哪一个服务出现故障都有可能引发连锁反应,进而造成系统整体可用性下降。尤其是在电商大促这类流量高峰时段,同步调用模式很容易变成拖垮整个应用性能的短板之处。
消息中间件的核心角色
处在服务之间的消息中间件,担当着“中间人”或者“数据总线”这样的角色。就拿订单支付场景来说,当支付服务完成了扣款操作之后,仅仅需要朝着消息中间件去发布这么一个带有订单ID的“支付成功”事件就行,紧接着便能够去响应用户,并不需要等待别的服务来进行处理。
这一设计把服务间的直接通信,解耦成了间接通信,事件的生产者也就是发布者,和消费者也就是订阅者,不需要知道对方的存在,只需要各自和中间件进行交互,这极大地提升了系统的灵活性以及可维护性。
队列模型与工作模式
三个核心角色,即生产者、队列以及消费者,构成了那最基石的消息队列模型。生产者把消息发送至特定队列,消费者从这个队列去拉取并且处理消息。此模型的结构是简单的,职责是清晰的。
在单个消费者处理速度难以跟得上消息生产速度的状况下,工作队列模式可以被采用,通过安排多个消费者并行监听同一个队列,消息能够进行均衡地分发,进而快速消化积压任务,显著提高系统的整体吞吐量。
交换机模型引入
在更为繁杂的场景当中,径直运用队列模型看上去欠缺灵活性。所以引入了交换机这一角色。生产者并非直接把消息发送至队列,而是发送给交换机,经由交换机依照预先设定的规则把消息路由至一个或者多个队列 。
交换机自身不会存储消息,它仅仅承担消息的路由转发工作。要是一条消息在通过交换机进行路由时,找不到任何一个队列满足接收条件了,如此一来这条消息就会被直接舍弃掉,这可是运用交换机模型时必须予以留意的风险之处呀。
路由键与精确路由
为达成精准的消息投递之目的,引入了路由键即Routing Key的概念,在绑定队列跟交换机之际,需指定一个路由键,生产者发送消息之时也得携带此键。
消息抵达交换机之后,交换机会把消息的路由键,同每个绑定队列之际指定的那个路由键,展开比对。唯有两者全然匹配之时,消息才会被投递给对应的队列。如此这般的方式,确保了消息传递的精确性 。
主题模式与灵活订阅
按照主题(Topic)这种类型的交换机,其具备的功能会更为强大,它准许运用通配符来开展模糊匹配,借此达成灵活的消息订阅模式,举例来说,监听“order.*”的队列能够接收所有那些以“order.”作为开头的路由键的消息 。
这种用于广播或者是按类别进行订阅的场景的模式,比如说,一个“订单创建”的事件呀,能够同时被库存服务、营销分析服务以及日志服务去订阅呢,而每个服务仅仅只需要专注于自身感兴趣的消息模式就行了。
热门文章排行
- 共享,正从风口到风险
- 走进涂料市场的秘密
- 在人工智能炒热机器人时,也被人把风带进了
- 生物涂料有什么好处?
- 智能音箱,正走在智能手表的老路上
- “去乐视化”之后,新易到的机会在哪儿?
- 解锁央媒投稿新路径!专业平台帮你提升内容
- 应急管理部开展低温雨雪冰冻灾害应急预案桌
- 广州今年首批经适房申购超火,1792套房
- 广州首批配售型保障房筹建顺利,近期将公布
最新资讯文章
- 紫金山新闻app官网下载 南京权威资讯平
- 养老金并轨落地!多地出台细则,你的缴费基
- 中传新闻留学预科:培养复合型传媒人才
- 2024年10月养老金并轨细则公布,过渡
- 开国上将之女宋彬彬回国 就文革行为发文道
- 内陆核电站重启引热议 湖南安徽待官方定音
- QQ群营销没效果?试试群消息监控精准引流
- 环球互易资讯集团校招 知名互联网知产企业
- 新闻里常说的背书,原来就是给人和事做担保
- 甘洛镇村志编纂出新招 三个融合赋能乡村振
- 新闻里说的背书,就是给某人或某事做担保
- 新闻大求真安全教育观后感:感受生命重要性
- 2025宁波楼市分化明显 高端改善型住宅
- 新闻大求真观后感:家庭、泳池、乘车安全隐
- 新闻大求真观后感:中小学生溺水安全受关注
- 腾讯新闻广告收入大头是品牌广告,未来还将
- 宣城百姓身边事 论坛热点一手掌握:聚焦民
- 幼童疑因服无限极产品致病 多地监管部门立
- 宣城论坛百姓视点app:宣城本地居民综合
- 无限极是传销吗?央视、中行都合作,事实胜





