栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 数据挖掘与分析

kafka 随笔 1-前言

kafka 随笔 1-前言

0. 醉经感觉毛不易越来越入味了…

Kafka ApacheCN 官方报毒…
kafka 中文网 kafka研究
kafka 基础知识梳理 by cnblog-Go_小易

1. 准确来说是一个流平台

像MQ一样传递消息,支持消息的多订阅&多发布
像Hadoop一样处理流数据,只不过Kafka是实时的
像存储系统一样,支持批处理、备份日志以容错

2. 概述 2.1 从简单的概念开始吧

kafka支持集群在一个或多个服务器上
kafka通过topic对流数据分类
每条record包含key、value、timestamp

2.2 核心API

Producer API 生产者 支持app发布流数据在topic上
Consumer API 消费者 支持app订阅topic上的流数据
Stream API 流处理器 支持app消费topic中的流数据,并将处理后的流数据输出到topic上
Connector API 支持topic连接到app或db中,捕获db中的变化

2.3 补充一些官方的支持

kafka的服务器与客户端之间使用Tcp协议
支持向下兼容
官方提供多种语言的客户端

3. Topics & 日志
topic,数据主题
kafka集群对每个topic,维护一份分区(partition)日志
	分区就像是一个队列
	队尾不断commit log记录(随时间线性的追加)
	每条记录都有唯一的offset(log的位置)
	kafka集群保留所有offset,直至"保留期限"(一个可配参数)
	保留期限内,记录允许被随时消费
	消费者可以控制offset来读取所需的数据
	分区允许kafka并行的处理数据,而不用担心会丢失记录的顺序
	需要注意的是,消费者组内的实例不能超过分区个数

4. 分布式

kafka集群共享分区日志,以容错
不同分区的kafka服务器可以互为leader、followers

5. 生产者&消费者

生产者 发布到topic:分配到特定的topic、循环分配以均衡负载
所有消费者在同一消费者组中,消息记录会被自动均衡负载到每个消费者中(即每个消费者实例)
所有消费者在不同消费者组中,消息记录会被自动广播到所有消费者的进程中

在Kafka中实现消费的方式是将日志中的分区划分到每一个消费者实例上,以便在任何时间,每个实例都是分区唯一的消费者
如果新的实例加入组,他们将从组中其他成员处接管一些 partition 分区;如果一个实例消失,拥有的分区将被分发到剩余的实例。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/278873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号