ActiveMQ 中间件

ActiveMQ 中间件
消息中间件:在分布式系统中完成消息发送和接收的基础软件,通过消息中间件,主要解决应用解耦,异步消息,流量削峰,日志处理;

一.
异步处理,用户的注册信息的收发,发送注册邮件和注册短信,(*********************提高效率)
1.传统的做法,串行的方式,将注册信息写入数据库成功后,发送注册邮件,再发送注册短信,三个任务全部完成才能返回客户端
并行方式:将注册信息写入数据库后,发送邮件时同时发送注册短信,三个任务完成后,返回客户端,相比于串行可以提高效率
(现实场景:办理证件,传统办理证件,需要前一个手续先办完,才能进行下一步,升级后,用户只需要将办理证件的资料上交就可以了,其他的不需要用户管理了,此时分开办理就相当于消息队列)

引入消息队列:三个节点都不是必须的业务逻辑,异步处理.
注册用户将注册信息写入数据库后,写入消息队列,然后通过消息队列,对发送注册邮件,发送注册短信进行异步读取

二.应用解耦 (*********************)
用户下单后订单系统需要通知库存系统,传统的做法,订单系统调用库存系统的接口,如果库存系统无法访问,则订单减库存失败,从而导致订单失败
订单系统与库存系统耦合度过高

加入消息队列后,订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功,
库存系统,订阅下单的消息,采用拉推的方式,获取下单信息,库存系统根据下单信息,进行库存操作,
假如在下单时库存系统不能正常使用,也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了,实现订单系统与库存系统的应用解耦
(现实场景,用户买东西,店里只有一个营业员,营业员需要去商店那商品,结果发现商店关门了,只能返回告诉你买不了东西,
同样去买东西,店员手上有一个关于商品库存的账本,你来买东西他就可以告诉你商品有还是没有,此时的账本就相当于消息队列)

三.流量削峰:具体场景,秒杀活动,
在用户请求和秒杀业务处理中间添加一个消息队列:
可以控制活动的人数,可以缓解短时间内高流量压垮应用,
用户的请求,服务器接受后首先写入消息队列

(现实场景:旅游景区在旺季时在门口设置分流栏,此时的分流栏就相当于消息队列)

四,日志处理
场景说明,日志处理是指将消息队列用在日志处理中,解决大量日志传输的问题,
日志采集客户端,负责日志数据的采集,定时写入到消息队列中,
消息队列负责日式数据的接收,存储和转发,
日志处理应用,订阅并消费kafka队列中的日志数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值