关注知识面
1、rabbitmq
erlang语言开发,吞吐量低(单机在万级别)、消息积累影响性能、社区活跃,不利于java二次开发,需学习AMQB协议。
优势:社区活跃。
劣势:吞吐量低,消息积累影响性能,学习成本高。
学习什么是AMQB协议
2、rocketmq
吞吐量高(单机十万级)、 java实现方便二次开发,参考kafka架构,高可靠(消息0丢失)。
优势:方便java二次开发、高可靠(适用于互联网、金融)
劣势:社区活跃度不高
为什么可以做到消息0丢失
3、kafka
高性能、高可用,日志收集,由于架构原因单机百万吞吐量;单机容量小(分区超过64个后,响应慢)
优势:高性能、高可用、高吞吐量
劣势:单机容量有限、社区更新慢、消息可能会丢失(不适应金融)
了解kafka的架构如何支撑百万吞吐量