消息中间件专题

先说一下应用场景:

邮箱注册时给用户发送一封注册成功的邮件,手机注册给用户发送一条短信验证码

用户登录时将用户的登录时间、ip地址、使用的手机信息等一大堆个人特征信息保存起来,以后用于大数据分析

特别重的业务场景下,比如电商平台,用户购买商品成功后,系统给用户要建立发货信息等。

聊天场景,A发给B的消息,用MQ先暂存起来

秒杀业务,为了防止出现超卖,将请求放入MQ,来进行顺序话处理

总结一下,用MQ的原则是:

不要求特别高的实时性,允许慢慢的处理(一般情况下也不至于太慢)

耗用资源比较多,不适合放入主线程。比如发送邮件或者短信验证码,因为要连接第三方服务器(短信运营商或者邮箱运营商),资源耗用和时间耗用都比较高

削峰。大并发场景下,比如秒杀等活动中,适合削一下峰处理流量,扔到MQ里慢慢处理

一般不关注处理结果。因为通过MQ处理后,业务就从同步变成了异步,一般情况下,异步化以后,再去关注处理结果将变的特别复杂,所以不关注处理结果,一般也就成了MQ的使用原则之一(不绝对)

其他。

常用的MQ中间件有:

RocketMQ,ActiveMQ,Redis,Kafka,ZeroMQ,RabbitMQ

猜你喜欢

转载自my.oschina.net/u/3234422/blog/1817696