Kafka 简介
Kafka 是最初由 Linkedin 公司开发,是一个分布式、分区的、多副本的、多订阅者,基于 zookeeper 协调的分布式日志系统(也可以当做 MQ 系统),常见可以用于 web/nginx 日志、访问日志,消息服务等等,Linkedin 于 2010 年贡献给了 Apache 基金会并成为顶级开源项目。
主要应用场景是:日志收集系统和消息系统。
Kafka 主要设计目标如下:
- 以时间复杂度为 O(1)的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间的访问性能。
- 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条消息的传输。
- 支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 partition 内的消息顺序传输。
- 同时支持离线数据处理和实时数据处理。
- Scale out:支持在线水平扩展
Kafka 就是一种发布-订阅模式
二、Kafka 的优点
2.1 解耦
2.2 冗余(副本)
2.3 扩展性
2.4 灵活性&峰值处理能力
2.5 可恢复性
2.6 顺序保证
2.7 缓冲
2.8 异步通信
参考资源
- Kafka 学习之路 (一)Kafka 的简介
- Kafka 学习之路 (二)Kafka 的架构
- Kafka 学习之路 (三)Kafka 的高可用
- Kafka 学习之路 (四)Kafka 的安装
- Kafka 学习之路 (五)Kafka 在 zookeeper 中的存储
Kafka 分布式发布订阅消息系统
tags: 202101
Kafka 简介
Kafka 是最初由 Linkedin 公司开发,是一个分布式、分区的、多副本的、多订阅者,基于 zookeeper 协调的分布式日志系统(也可以当做 MQ 系统),常见可以用于 web/nginx 日志、访问日志,消息服务等等,Linkedin 于 2010 年贡献给了 Apache 基金会并成为顶级开源项目。
主要应用场景是:日志收集系统和消息系统。
Kafka 主要设计目标如下:
- 以时间复杂度为 O(1)的方式提供消息持久化能力,即使对 TB 级以上数据也能保证常数时间的访问性能。
- 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒 100K 条消息的传输。
- 支持 Kafka Server 间的消息分区,及分布式消费,同时保证每个 partition 内的消息顺序传输。
- 同时支持离线数据处理和实时数据处理。
- Scale out:支持在线水平扩展
Kafka 就是一种发布-订阅模式
二、Kafka 的优点
2.1 解耦
2.2 冗余(副本)
2.3 扩展性
2.4 灵活性&峰值处理能力
2.5 可恢复性
2.6 顺序保证
2.7 缓冲
2.8 异步通信