Kafka


Kafka

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。
Kafka主要设计目标:

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。
  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。
  • 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。
  • 同时支持离线数据处理和实时数据处理。
  • Scale out:支持在线水平扩展

消息系统

一个消息系统负责将数据从一个应用传输到另一个应用,应用只需要关注于数据本身。这样有效解决数据传递,无需关注数据是如果传输的。分布式消息传输基于可靠消息队列,在客户端和消息系统之间异步传输数据。

两种数据传输模式:

  • 点对点传输
  • 发布——订阅模式传输

文章作者: Gera Tear
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Gera Tear !
评论
  目录