mq消息中间件01:认识不同的消息中间件

技术选型:
1.zeroMQ
2.rabbitMQ

3.rocketMQ
4.activeMQ

zeroMQ和rabbitMQ不考虑;

详细看看rocketMQ和activeMQ

mq干啥的?

mq是用来在服务和服务之间进行异步通信的;
问题:
dubbo也能用来做异步通信,为啥还要用mq呢?
dubbo:远程调用框架,是个服务治理框架;

mq:异步通信框架

远程调用框架:先获取对象,调用方法,传递数据

异步通信框架:直接传递字符串

mq作用和其优势

activeMQ优势:
1.流量削峰;
2.任务异步处理,提高并发;
3.业务代码解耦合

问题2:有以下任务需要处理:
发邮件(10w),发短信(1000w),同步索引库,同步静态页面
为了提高处理速度,如何实现多任务批量处理呢?

传统项目:串行化处理;程序顺序执行;

mq消息中间件01:认识不同的消息中间件
串行化处理.png

并行化执行任务:

1.开启多线程模式执行任务;
或者
2.使用分布式执行任务
二选一;

在分布式执行任务,只考虑理想状态下的情况,不考虑网络损耗;

mq消息中间件01:认识不同的消息中间件
开启副线程.png

使用mq消息服务器:

解耦合
高并发

mq消息中间件01:认识不同的消息中间件
使用activeMQ消息服务器 .png

怎样合理的控制前台的高并发,

1.页面缓存
2.静态页面
3.验证码(还有ddos攻击)

采用mq消息服务器的优势

流量削峰
支持高并发(分布式处理任务)
业务代码解耦合(通过异步通信,直接传递字符串,解耦合)