kafka工作流程

本文详细介绍了Kafka的工作流程,包括生产者端的数据包装、序列化、分区策略,缓存区的异步发送机制,broker的可靠性保证和文件存储机制,以及消费者端的分区分配策略和offset维护。

一、生产者端

1.将数据包装为ProducerRecord对象

        Producer通过调用send(ProducerRecord)发送消息,ProducerRecord对象包含Topic等信息

2.Interceptor

        拦截器,通过API可以自定义拦截器,过滤掉不需要的信息

3.序列化

        由于kafka是集群工作模式,集群之间传递需要序列化(Serilizer)

4.分区(partition)

        send()函数参数Topic、value为必选项,可选项包括key、partition以及头信息

        (1)当send()函数中指定partition时,将指定的值作为partition的分区

        (2)当send()函数未指定partition时,但有key值时,用topic分区个数对key的hash值取余,余数作为分区值

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值