大数据之Kafka基本知识和架构介绍

文章目录

  • 前言
  • 一、Kafka的基本介绍
    • (一)Kafka的特点
  • 二、Kafka的架构
  • 总结


前言

#博学谷IT学习技术支持#
本篇文章主要从Kafka的基本介绍,Kafka的架构入手,如果有不恰当或者有疑问的地方,非常欢迎各位的意见和建议!

一、Kafka的基本介绍

Kafka底层由scala语言编写,其是一个分布式,支持分区,多副本以及多订阅者的日志系统,简称分布式MQ系统,Kafka是消息队列的中间件产品,可以用于搜索日志,监控日志以及访问日志等等。kafka在进行消息保存时会根据Topic进行归类,发送消息者称为Producer,消息接收者称为Consumer,在Kafka集群中存在多个kafka实例,每个实例(Server)称为Broker。无论是Kafka集群,Producer或者是Consumer都依赖于Zookeeper集群,所以开启Kafka集群先需要保证Zookeeper集群的正常运行。

(一)Kafka的特点

  1. 可靠性: 分布式, 多分区 ,多副本和容错等
  2. 可扩展性: Kakfa集群轻松缩放和扩展, 无需停机
  3. 耐用性: Kafka使用分布式提交日志, 这个意味着消息会尽可能快速的保存在磁盘上, 因此它是持久的
  4. 性能: Kafka集群对于发布和订阅消息都具有高吞吐量, 即使存储的数据量很大,也能保证稳定的性能,零停机以及零数据丢失

二、Kafka的架构

大数据之Kafka基本知识和架构介绍_第1张图片
Kafka主要包括Producer,Kafka集群和Consumer,其重要内容以及作用如下:

  1. Producer:数据生产者,发布数据到Kakfa集群的终端或服务
  2. Kafka集群:Kafka集群又称为Kafka Cluster,该集群由多台服务器组成,每一台服务称为Broker,在Broker中存储多个Topic逻辑容器,生产者存储数据时将一类数据存放在某个Topci下,消费者再从对应的Topic中消费数据;
    每个Topic存在分片和副本的概念:
    (1)Shard分片:一个Topic可以被分成多个分片,同一Topic下的不同分片分别放置在不同的Broker中
    (2)Replicas副本:可以对每一个分片构建多个副本,分别存在不同的Broker中,副本数量最多和Broker数量一致,从而保证数据不丢失
  3. Consumer:消费者,主要负责消费Kafka集群中的数据

总结

Kafka是消息队列的中间件产品,通过Kafka可以对代码进行解耦,也可以提高数据的处理效率,提高数据处理效率的同时还能保证数据的安全性。

你可能感兴趣的:(Kafka,kafka,大数据,架构)