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),同步索引库,同步静态页面
为了提高处理速度,如何实现多任务批量处理呢?
传统项目:串行化处理;程序顺序执行;
并行化执行任务:
1.开启多线程模式执行任务;
或者
2.使用分布式执行任务
二选一;
在分布式执行任务,只考虑理想状态下的情况,不考虑网络损耗;
使用mq消息服务器:
解耦合
高并发
怎样合理的控制前台的高并发,
1.页面缓存
2.静态页面
3.验证码(还有ddos攻击)
采用mq消息服务器的优势
流量削峰
支持高并发(分布式处理任务)
业务代码解耦合(通过异步通信,直接传递字符串,解耦合)