kafka的优点:
- 支持多个生产者和消费者1
- 支持broker的横向拓展
- 副本集机制,实现数据冗余,保证数据不丢失
- 通过topic将数据进行分类
- 通过分批发送压缩数据的方式,减少数据传输开销,提高吞高量
- 支持多种模式的消息
- 基于磁盘实现数据的持久化
- 高性能的处理信息,在大数据的情况下,可以保证亚秒级的消息延迟
- 一个消费者可以支持多种topic的消息
- 对CPU和内存的消耗比较小
- 对网络开销也比较小
- 支持跨数据中心的数据复制
- 支持镜像集群
缺点:
- 由于是批量发送,所以数据达不到真正的实时
- 对于mqtt协议不支持
- 不支持物联网传感数据直接接入
- 只能支持统一分区内消息有序,无法实现全局消息有序
- 监控不完善,需要安装插件
- 需要配合zookeeper进行元数据管理
- 会丢失数据,并且不支持事务
- 可能会重复消费数据,消息会乱序,可用保证一个固定的partition内部的消息是有序的,但是一个topic有多个partition的话,就不能保证有序了,需要zookeeper的支持,topic一般需要人工创建,部署和维护一般都比mq高