上一篇《MQ—消息队列,互联网架构之解耦神器—不会用的别拿工资了》,因为时间问题只写了一部分,今天补充一下应用场景和配置,对于MQ不熟悉的同学可以翻一下我前一篇文章。
先说一下应用场景:
邮局注册时给用户发送一封注册成功的邮件,手机注册给用户发送一条短信验证码
用户登录时将用户的登录时间、ip地址、使用的手机信息等一大堆个人特征信息保存起来,以后用于大数据分析
特别重的业务场景下,比如电商平台,用户购买商品成功后,系统给用户要建立发货信息等。
聊天场景,A发给B的消息,用MQ先暂存起来
秒杀业务,为了防止出现超卖,将请求放入MQ,来进行顺序话处理
总结一下,用MQ的原则是:
不要求特别高的实时性,允许慢慢的处理(一般情况下也不至于太慢)
耗用资源比较多,不适合放入主线程。比如发送邮件或者短信验证码,因为要连接第三方服务器(短信运营商或者邮局运营商),资源耗用和时间耗用都比较高
削峰。大并发场景下,比如秒杀等活动中,适合削一下峰处理流量,扔到MQ里慢慢处理
一般不关注处理结果。因为通过MQ处理后,业务就从同步变成了异步,一般情况下,异步化以后,再去关注处理结果将变的特别复杂,所以不关注处理结果,一般也就成了MQ的使用原则之一(不绝对)
其他。
常用的MQ中间件有:
RocketMQ,ActiveMQ,Redis,Kafka,ZeroMQ,RabbitMQ等。
这里以ActiveMQ为例,说一下安装配置和使用方法:
安装ActiveMQ(环境是centos7.3版本)
下载ActiveMQ:
cd /tmp
wget http://mirror.bit.edu.cn/apache/activemq/5.15.2/apache-activemq-5.15.2-bin.tar.gz
以后上面地址可能失效,万一不能用请自己去Apache网站找找,分windows和linux版本,别弄错了。
给刚入行的朋友:一般来说.zip是windows用的,.tar .tar.gz 是linux用的。
另外,文件名里面带 source 的一般是源代码,带 bin 的一般是编译好可以直接下载用的。
解压缩:
tar –zxvf apache-activemq-5.15.2-bin.tar.gz
重命名目录:
将解压后的文件重命名为activemq,没啥特别作用,就为了看起来舒服:
mv apache-activemq-5.15.2 activemq
权限:
这个例子我用root用户登录操作的,所有没有考虑过任何权限问题。
如果不是root用户,建议先用root来操作。
启动
我是临时放/tmp目录的,请根据你自己的安装目录来修改此命令
/tmp/activemq/bin/activemq start
下一篇会再补充一个java版本的例子。还请继续关注。
谢谢。
上一篇:「初中物理」这里有各种类型的有关功率的计算题,你搞混淆了吗 |
下一篇:物理必修一:运动学公式及典型例题,有它在手期末不愁! |