kafka安装

Kafka 入门

一.什么是Kafka?

Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统.

二.Kafka的基本术语

消息:kafka里的数据单元被称为消息,或者记录。看成数据库表中的某一行记录
批次:一组消息。
主题(Topic):消息的种类被称为主题,一个主题代表了一类消息。相当于数据库中的表。
分区(Partition):同一个主题的分区,可以不在一个机器上,可以在多个机器上,由此实现伸缩性,单一分区有序,但是无法保证主题中的所有分区有序。
生产者(Prodocer):向主题发送消息的客户端应用,被称为生产者,用于持续不断的向某个主题发送
消费者(Consumer ):订阅主题消息的的客户端程序称为消费者,消费者用于处理生产者产生的消息。
消费者群组(Consumer Group):一个生产者可以对应多个消费者,消费者群体指的是一个或者多个消费者,组成的群体。
偏移量(Consumer Offset):是一种元数据,他是一个不断递增的整数值,用来记录消费者发生不平衡时的位置,以便恢复数据。
boker:一个独立的kafka服务器,就是一个broker,接收来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。
boker集群:由一个或者多个borker组成,每个集群里都有一个boker充当集群控制器的角色。
副本:kafka中消息的备份又叫做副本,副本的数量可以配置。分两类:领导者副本和追随者副本,前者对外提供服务,后者只能被动跟随。
重平衡(Rebalace);消费者某个挂掉了,其他消费者自动重新分配订阅主题分区的过程,Rebalace是实现高可用的重要手段。

三.Kafka的特性

高吞吐,低延迟:手法消息非常快,每秒大概手法消息几十万,最低延迟只有几毫秒
高伸缩:每个Topic可用包含多个分区(patition),每个分区可以部署到多个broker上
持久性和可靠性:kafka可以将数据持久化到磁盘,支持数据备份,防止丢失,底层是基于Zookeepr存储的,Zookeeper我们知道他是支持数据持久化的。
容错性:允许集群中某个节点失败,某个节点宕机,kafka依然能够 正常工作。
高并发:支持上千个客户端同时读写。

四.Kafka的使用场景

活动跟踪:跟踪用户行为,比如我们常在淘宝购物,打开客户端,登录信息和登录次数都会作为消息传递到kafka,生成报告,做只能推荐,购买喜好等。
消息传递:应用程序向客户发送消息,就是通过传递消息来实现的,这些应用组件可以生成消息,而不需要关心消息的格式,也不需要关心消息是如何发送的
度量指标:记录运营监控数据,收集各种分布式应用的数据,生产各种操作的几种反馈,比如报警和报告。
日志记录:kafka的基本概念来源于提交日志,我们可以把数据库的更新发送到kafka上,用来记录数据库的更新时间,通过kafka以统一接口服务的方式来开放给consumer,例如:hodoop,hbase,solar
流式处理:流式处理是一个能够提供多种应用程序的领域
限流消峰:请求特别多的时候,可以写入cafka,避免直接请求后台程序,崩溃。

五.Kafka的消息队列

kafka的消息队列分两种模式:点对点和发布订阅模式
kafka的点对点模式:一个生产者生产的消息由一个消费者进行消费
发布订阅模式:一个生产者生产的消息由多个消费者消费

六.系统架构

在这里插入图片描述如上图所示,一个典型的kafka包含若干个producer,若干个broker(kafka支持水平扩展,一般kafka数量越多,集群吞吐率越高),若干个Consumer Group,以及一个Consemer Group,以及一个Zookeeper集群,Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化时候进行Rebalace。Producer主要用push模式将消息发布到broker,Consumer通过pull来订阅并消费消息。

七.核心API

Producer API:允许应用程序向一个或者多个topics发送消息记录。
Consumer API:允许应用程序订阅一个或者多个topics并处理并为其生成的记录流
Streams API:允许应用程序作为流处理,从一个或者多个主题中消费输入流,并为其生成输出流,有效的将输入流转为输出流。
Connect API:允许构建和运行将kafka主题链接到现有应用程序或者数据系统,可用于生产者和消费,者。关系数据库的连接器,可能会捕获对表的所有更改。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值