mq选型
| 特性 | ActiveMQ | RabbitMQ | Kafka | RocketMQ |
|---|---|---|---|---|
| 开发语言 | Java | Erlang | Scala | Java |
| 发行年份 | 2004 | 2007 | 2011 | 2012 |
| 单机吞吐量 | 万级 | 万级 | 十万级 | 十万级 |
| 消息延迟 | ms级 | us级 | ms级以内 | ms级 |
| 可用性 | 高(主从架构) | 高(主从架构) | 非常高(分布式架构) | 非常高(分布式架构) |
| API完备性 | 高 | 高 | 高 | 低(静态配置) |
| 消息丢失 | - | 低 | 理论上不会丢失 | - |
| 消息重复 | - | 可控制 | 理论上会有重复 | - |
| 文档的完备性 | 高 | 高 | 高 | 中 |
| 首次部署难度 | - | 低 | 中 | 高 |
| 社区活跃度 | 高 | 高 | 高 | 中 |
| 商业支持 | 无 | 无 | 无 | 阿里云 |
| 特点 | 一定概率会丢失消息 | erlang不利于二次开发 | 可能重复消费;适合大数据 | 经历了大型活动考研;谨防阿里抛弃项目 |