Kafka 入门
Kafka 是一个分布式的基于发布/订阅的消息队列,常用于:
- 异步处理:先将任务放入队列,返回消息,之后在慢慢处理
- 流量削峰(秒杀):不用将所有的访问都到达数据库,只需要最前面的几条数据即可
- 解耦:降低耦合度,互不影响
两种模式:
- 点对点模式:生产者消费者一一对应
- 发布/订阅模式:一个生产者可以有多个消费者


- 多个
Broker组成Kafka集群,每个Broker有多个Topic来存放不同类型的信息(类似与一台服务器不同的进程和端口执行不同的程序)通过Topic保证消息的井然有序。 - 同一个主题
Topic在不同Broker中有多个分区Partition,以便提高这个Topic的负载均衡,以及吞吐量,一面集中在一个Broker中 - 不同的分区
partition在不同的Borker中有备份,防止数据丢失 - 消费者组
Consumer group成为消费单元,组内消费者并行消费。一个分区只能被一个消费者组里的一个消费者消费,因此消费者组中消费者数多于某个主题的分区个数,就没有意义 - 0.9版本之前
Broker和Cousumer中的数据存储在ZooKeeper中,之后存回了Broker中,提高效率,降低和zk交互的时间
ZooKeeper伪集群
配置文件
在zk包下,复制三个配置文件

修改配置文件内容,例如zoo1.cfg 中数据地址、服务器端口号和集群端口号。其他两个配置文件进行相同配置,只需修改以下内容
dataDir:存储内存中数据库快照的位置,zookeeeper保存数据的目录,默认情况zookeeper将数据日志也保存在这个目录下dataLogDir:日志存储server.myid=IP:Port1:Port2:myid是服务器编号,正整数,Port1表示服务器与集群中leader服务器交换信息的接口,一般用2288,Port2表示万一集群中Leader服务器宕机,需要一个重新的端口进行宣讲,选择一个新的Leader,一般是3388clientPort:客户端连接zookeeper服务器的端口,默认是2181,zookeeper会监听这个端口,接收客户端的访问请求
dataDir=/opt/module/zookeeper-3.4.14/zk1/data
dataLogDir=/opt/module/zookeeper-3.4.14/zk1/logs
clientPort=2182
#######################cluster##########################
server.1=hadoop102:2287:3387
server.2=hadoop102:2288:3388
server.3=hadoop102:2289:3389
创建data和logs目录
/opt/module/zookeeper-3.4.14/zk1/data
/opt/module/zookeeper-3.4.14/zk1/logs
/opt/module/zookeeper-3.4.1

本文介绍了Kafka的基本概念,包括其作为消息队列的作用和两种工作模式。接着详细讲解了如何搭建Zookeeper伪集群和Kafka伪集群,包括配置文件的修改、目录创建及启动流程。还提到了Kafka在Zookeeper中的节点层级结构,并展示了创建、删除Topic以及查看Topic信息的操作。最后简单提及了生产者和消费者的使用,指出它们与Zookeeper的交互区别。
最低0.47元/天 解锁文章
3068

被折叠的 条评论
为什么被折叠?



