Kafka系列<1>基础框架

目录

Kafka定位

核心功能

相关概念

核心架构

四个API

三个核心功能



Kafka定位

kafka主要应用于大数据实时处理领域,是一个分布式的基于发布/订阅模式的消息队列。常用于处理用户访问日志,系统运行日志等方面的数据。以往的消息队列模型不足以支持集群环境的应用,随着架构的升级与演变,现在的主题/分区消息队列模型,基于Zookeeper协调分布式消息系统,适用于分布式环境,且有高吞吐量,高性能的特点。

核心功能

它有4个核心API,分别是Producers API,Connectors API,Consumers API,Stream Processors API,也表示4个主要的功能,即接收APP生产的数据,消费数据,与数据库交互,搭配流式处理。

相关概念

  • 集群:一台或多台服务器

  • topic

    • 对存储的流数据分类

    • topic中每条记录包含:key,value,timestamp

  • 日志:kafka 集群会维持一个分区日志

    • 有序的记录集

    • commit log文件

    • 分区的每个记录都有id作为标识:offset

  • 分区:切分主题,作为并行的单元集

  • 分布式

    • leader/follower选举机制——集群负载均衡

核心架构

Broker(服务代理):一个Kafka对应一个broker

Topic(主题):消费主题,理解为某个类型的队列

partition(分区): 一个topic可分为多个partition

Consumer Group (消费者组):由多个消费者组成一个消费者组,订阅主题

  • 消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内的一个消费者消费;【分区与组内消费者一一对应】

  • 消费者组间互不影响,即一个分区可以被多个消费者组中的一个消费者消费【分区与多个消费者组可以对应】

  • 消费者组里的消费者个数与分区数尽量一致,这样可以提高消费能力又不浪费资源【数量尽量一致,提高效率】

  • 消费者组订阅主题,组内消费者消费分区,若消费者组只有一个消费者,当它订阅了整个主题,则需要消费主题中所有的分区。这种情况,消费能力低.

Zookeeper:kafka运行时依赖的环境,Kafka集群通过zookeeper进行主节点的选举,为分区备份与主题发布提供保障。

Replica(副本):保证集群在发生结点故障时能继续工作。副本机制:一个topic每个分区都有若干副本,一个topic包含一个leader和若干follower.

 

四个API

  • The Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic

  • The Consumer API 允许一个应用程序订阅一个或多个 topic ,并且对发布给他们的流式数据进行处理

  • The Streams API 允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换

  • The Connector API 允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数据库,捕捉表(table)的所有变更内容

三个核心功能

  • 数据的发布/订阅能力(消息队列)

  • 数据的分布式存储能力(存储系统)

  • 数据的实时处理能力(流处理引擎)

下一节,我们学习Kafka的入门使用……

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值