七叶笔记 » golang编程 » 大数据入门:Kafka基础讲解

大数据入门:Kafka基础讲解

Kafka框架,在大数据生态当中,以作为消息总线使用闻名,尤其是实时数据流消息场景下,Kafka可以说是名气响当当。当然,这也得益于Kafka的原始开发团队背景,毕竟,Kafka源自LinkedIn。今天的大数据入门分享,我们就来讲讲Kafka基础知识。

什么是kafka

从官方文档的定义来说,Apache Kafka是一个分布式发布/订阅消息系统,能够处理高并发的大量数据,将实时消息从一个端点传到另一个端点。

事实上,Kafka非常适合处理离线和在线消息消费。Kafka消息可以持久化的保留在磁盘上,并在群集内复制以防止数据丢失。

同时,Kafka构建在ZooKeeper同步服务之上,用Raft协议保证集群的高可用,可以与Storm和Spark非常好地集成,用于实时流式数据分析。

Kafka基本架构

通常来说,Kafka架构分为四个部分,生产者(producer),zookeeper,代理(broker),消费者(consumer)。

1.生产者

负责发布消息到Kafka Broker。

2.zookper

kafka与Zookeeper级联,通过Zookeeper管理级联配置,选举Leader,并管理和协调生产者和消费者去使用broker。

3.Broker

Kafka集群包含一个或多个服务实例,这些服务实例被称为Broker。是Kafka当中具体处理数据的单元。Kafka支持Broker的水平扩展。一般Broker数据越多,集群的吞吐力就越强。

4.消费者

从Kafka Broker读取消息的客户端

kafka应用场景举例

1.日常系统解耦,将消息生产者和订阅者分离。

2.在应用前端以消息队列接收请求,当请求超过队列长度,直接不处理重定向至一个静态页面,来达到流量削峰的目的,此场景一般用于秒杀活动。

3.流失处理。从流数据处理引擎当中,如Storm,Spark Streaming等,从topic中读取数据,实时对其进行处理,并将处理后的数据写入新topic中,供用户和应用程序使用。

4.mysql数据库数据同步。后端应用可以将数据先写入kafka, 让后 让kafka异步写入mysql数据库,这样非常可以抗高峰,便于扩展。

今天的大数据学习分享,Kafka基础入门就为大家介绍到这里了。在大数据实时流处理上,Kafka受到越来越多的青睐,而大数据开发者们,自然也需要把这个框架熟练掌握下来。

相关文章