kafka

一、kafka简介

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

主要应用场景是:日志收集系统和消息系统。

Kafka主要设计目标如下:

  1. 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。

  2. 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。

  3. 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。

  4. 同时支持离线数据处理和实时数据处理。

二、整体架构

如上图所示,kafka由3种角色组成:消费者(produce)、代理服务器(broker)、消费者(consumer)

  • Broker:每一台机器叫一个Broker,多个Broker组成一个Kafka集群

  • Producer:日志消息生产者,负责往集群中写数据

  • Consumer:消息的消费者,负责从集群中读数据

  • Consumer Group:每个Consumer属于一个特定的Consumer Group

  • Topic:不同消费者去指定的Topic中读,不同的生产者往不同的Topic中写

  • Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。

  • Message:日志消息,kafka集群内流通的基本单位

  • Segment:partition物理上由多个segment组成

  • Offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition唯一标识一条消息。

三、 Kafka高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值