MQ消息队列的常见用法
消息队列MQ是分布式中重要的组件目前常见的消息队列有三种:ActiveMQ,RabbitMQ,Kafka今天我想来梳理一下MQ消息队列的具体常见用法:1.异步处理用户注册之后,需要发短信和加积分,注册信息写入数据库后,通过异步消息,让短信服务和积分服务去做它们的事,就提升了代码的质量2.流量削峰最常见的就说秒杀场景,秒杀活动会因为流量过大导致流量暴增,甚至应用会挂掉,为了解决这个问题,...
·
消息队列MQ是分布式中重要的组件
目前常见的消息队列有三种:ActiveMQ,RabbitMQ,Kafka
今天我想来梳理一下MQ消息队列的具体常见用法:
1.异步处理
用户注册之后,需要发短信和加积分,注册信息写入数据库后,通过异步消息,让短信服务和积分服务去做它们的事,就提升了代码的质量
2.流量削峰
最常见的就说秒杀场景,秒杀活动会因为流量过大导致流量暴增,甚至应用会挂掉,为了解决这个问题,一般需要在应用前端加入消息队列,从而控制活动的人数,假如消息队列长度超过所设定的,就直接抛弃用户的请求,或者让它跳转到错误的页面,秒杀业务根据消息队列中的信息再作处理
3.日志处理
最典型的就是kafka,kafka的消息队列一开始设计就是为了日志处理,大数据中用的特别多,通过日志采集定时写入kafka队列,然后kafka队列对日志消息进行储存转发
4.应用解耦
比如用户下单后,订单服务需要通知商品服务,如果使用消息队列,不直接调用商品服务的接口,订单服务直接把信息写入消息队列,返回下单成功,商品服务来订阅消息队列,采用拉或者推的方式获得下单信息,这样就可以实现订单服务和商品服务之间的解耦
更多推荐
已为社区贡献1条内容
所有评论(0)