网络设计方案包括哪些方面,wordpress按分类设置seo,哪些网站可以做养殖的广告,青州网站建设优化生产者通过send#xff08;#xff09;方法发送消息消息会经过拦截器-序列化器-分区器 进行加工然后将消息存在缓冲区当缓冲区中消息达到条件会按批次发送到broker对应分区上broker将接收到的消息进行刷盘持久化消息处理broker会返回给producer响应落盘成功返回元数据…
生产者通过send方法发送消息消息会经过拦截器-序列化器-分区器 进行加工然后将消息存在缓冲区当缓冲区中消息达到条件会按批次发送到broker对应分区上broker将接收到的消息进行刷盘持久化消息处理broker会返回给producer响应落盘成功返回元数据信息 - 生产者继续发送后面消息落盘失败 - 生产者设置了重试次数生产者去缓冲区重试发送
Tip Producer 创建时会创建一个Sender线程设置为守护线程 Producer 创建时会创建缓冲区 Producer 生产消息内部是一个异步流程 RecordAccumulator缓冲区 对每一个分区都有一个缓冲区 每个分区的缓冲区中消息也是有序的可以指定缓冲区中的消息按批次发送 缓冲区大小达到batch.sizelingger.ms 达到上限以上两个条件满足一个即发送一批 可以指定整个缓冲区的大小 批次的概念很好理解缓冲区就像一辆公交车有两种发车方式一是人满了就发车一是等5分钟就发车不管是人满了还是到5分钟了发车go~ 一个批次消息发送后通过网络发往Kafka指定分区然后刷盘到broker如果Producer设置了retries参数值0,那么允许消息发送失败进行重试重试机制由客户端Producer内部实现Broker端消息落盘成功会返回元数据给生产者 通过阻塞直接返回 同步发送通过回调函数返回异步发送