一起揭开 Kafka 的神秘面纱
Kafka是由Servers(服务器)和Clients(客户端)组成的高吞吐量分布式发布订阅消息系统,可以部署在裸机、虚拟机以及云环境上。在我们接触的很多业务场景中都会看到很多Kafka的身影,今日来给大家分享一下Kafka的基本概念以及整体框架情况,首先先来了解一下几个专业名词。
Servers:Kafka作为一个集群运行在一个或多个服务器上,把一些服务器作为storage layer(存储层),称之为brokers,其他服务器则运行 Kafka Connect 去持续性地对数据以事件流的形式进行导出导入,与现有的系统进行交互集成。
Clients:允许我们编写分布式应用程序以及微服务,并行地读取、处理、写入大规模的事件流。
Producers:把事件publish(写入)到Kafka的客户端应用。
Consumers:从Kafka内subscribe(读或者处理)事件的客户端应用。
Topics:为了分门别类,把相关主题的事件数据都放在一起,可以简单理解Topics为文件夹,event就是里面的文件,一个Topic允许有0个、1个或多个Producers或Consumers。
Consumer Group:每个Consumer属于一个特定的Consumer Group,同时记得一个Group内的Consumer数量不要大于分区数量,因为1个Consumer可以消费多个分区,但1个分区只能给1个Consumer消费。
Kafka的整体架构图可以看看下图:
Reference
Kafka官方文档
http://kafka.apache.org/
评论