Kafka基础认识
1):Apache kafka介绍及架构详解
假设一个场景: 数据源: 应用系统A 产生的用户访问数据和订单数据 10000 条一秒钟 push:推送数据 消息系统:队列 产生的数据量>数据量 pusll:拉取数据
消息系统kafka: 分布式系统队列系统 分布/订阅功能 不恰当比喻: 发布者来发布文章 -> 推送文章 微信公众号: 类似于 -Topic主题/类别 订阅者1 订阅则2 订阅则3 订阅则4 ...订阅者 就能接受到这篇文章消息 kafka的功能: -1:分布式消息Message系统(发布/订阅功能) 0.8.x功能 -2:Connector API 将Kafka Topics中的数据保存到RDBMS数据库中 0.9.x -3:Stream Compute 可以对Kafka中的数据进行流实计算功能 0.10.x SparkStreaming与kafka集成,使用的版本为0.8.2.x kafka系统能够通过分布式提交日志处理数据,kafka中topics用户 定于的一个类别 Kafka Cluster: - 消息系统,储存数据 提交日志格式文件 - 分布式: 有多台数据,进行储存数据 - Topic 储存某一类的数据(消息),类比于微信公众号 储存数据类似于HDFS -i,按照分区partition储存 相当于文件夹下面有很多文件 -ii,分区数据有多个副本 replications(每个数据有3个副本) - 分布/订阅 消费者(用户)可以订阅Topic(类比于关注某个微信公众号) 只要生产者向Topic发送数据,订阅者就可以自动接受到数据 进行处理
一个典型的Kafka集群中包含若干个Producer,(Kafka支持水平扩展,一般Broker 数量越多,集群吞吐率越高),若干个Consumer Group,以及一个Zookeeper集群 Kafka通过Zookeeper管理集群配置,选举leader,以及在Consumer Group发生变化 时进行reablance。 Producer使用push模式将消息发布到broker,Consumer使用pull模式从broker订阅 并消费消息
TOPIC & PARTITION
一个Topic分为多个Partition来进行数据管理 一个Partition中的数据是有序,不可变的 使用偏移量(offset)唯一标识一条数据,是 一个long类型的数据; Partiton接受到producer发送过来数据后,会 产生一个递增的offset偏移量数据,同是将数 据保存到本地的磁盘文件中(文件内容追加 的方式写入数据)
基本懂得Kafka流程,搭建起来很简单
相关推荐
huangwei00 2020-10-14
shenzhenzsw 2020-10-09
guicaizhou 2020-09-30
wangying 2020-06-28
猫咪的一生 2020-06-26
sweetgirl0 2020-06-25
猫咪的一生 2020-06-16
meilongwhpu 2020-06-08
东哥笔记 2020-06-05
sweetgirl0 2020-06-04
yanghuashuiyue 2020-11-14
hannuotayouxi 2020-08-20
guicaizhou 2020-08-01
sweetgirl0 2020-07-27
Kafka 2020-09-18
liuxingen 2020-11-13
wangying 2020-11-13
王谦 2020-11-03
jiaomrswang 2020-09-23