为什么要用MQ
- 1.应用解耦
- 2.流量削峰
- 3.数据分发
缺点:
- 1.系统可用性降低
- 2.系统复杂度提高
- 3.数据一致性问题
MQ比较
特性 | ActiveMQ | RabbitMQ | RocketMQ | kafka |
---|---|---|---|---|
开发语言 | java | erlang | java | scala |
单机吞吐量 | 万级 | 万级 | 10万级 | 10万级 |
时效性 | ms | us | ms | ms以内 |
可用性 | 高(主从) | 高(主从) | 非常高(分布式) | 非常高(分布式) |
功能特性 | 出现最早,比较成熟 | erlang,并发高 | 功能完备,扩展性强,基于java | 只支持主要的MQ功能,大数据领域应用广泛 |
安装
Windows安装
官网下载
下载二进制文件
解压即可
启动
- 1.启动NameServer
mqnamesrv
- 2.启动Broker
broker连接nameserver
mqbroker -n localhost:9876
启动失败
- 坑1:bin/runbroker和bin/runserver指定JVM内存太大,修改为256m或者更小即可
- 坑2:找不到或者无法加载主类