当前位置: 首页 > news >正文

长沙网站 微信建设做线下极限运动的网站

长沙网站 微信建设,做线下极限运动的网站,宣传册设计样本,大连建网站网站制作kafka延时队列_悠然予夏的博客-CSDN博客 两个follower副本都已经拉取到了leader副本的最新位置,此时又向leader副本发送拉取请求,而leader副本并没有新的消息写入,那么此时leader副本该如何处理呢?可以直接返回空的拉取结…

kafka延时队列_悠然予夏的博客-CSDN博客        

两个follower副本都已经拉取到了leader副本的最新位置,此时又向leader副本发送拉取请求,而leader副本并没有新的消息写入,那么此时leader副本该如何处理呢?可以直接返回空的拉取结果给follower副本,不过在leader副本一直没有新消息写入的情况下,follower副本会一直发送拉取请求,并且总收到空的拉取结果,消耗资源。

        Kafka在处理拉取请求时,会先读取一次日志文件,如果收集不到足够多(fetchMinBytes,由参数fetch.min.bytes配置,默认值为1)的消息,那么就会创建一个延时拉取操作(DelayedFetch)以等待拉取到足够数量的消息。当延时拉取操作执行时,会再读取一次日志文件,然后将拉取结果返回给follower副本。 

        延迟操作不只是拉取消息时的特有操作,在Kafka中有多种延时操作,比如延时数据删除、延时生产等

        对于延时生产(消息)而言,如果在使用生产者客户端发送消息的时候将acks参数设置为-1,那么就意味着需要等待ISR集合中的所有副本都确认收到消息之后才能正确地收到响应的结果,或者捕获超时异常。

        假设某个分区有3个副本:leader、follower1和follower2,它们都在分区的ISR集合中。不考虑ISR变动的情况,Kafka在收到客户端的生产请求后,将消息3和消息4写入leader副本的本地日志文件。 

        由于客户端设置了acks为-1,那么需要等到follower1follower2两个副本都收到消息3和消息4后才能告知客户端正确地接收了所发送的消息。如果在一定的时间内,follower1副本或follower2副本没能够完全拉取到消息3和消息4,那么就需要返回超时异常给客户端。生产请求的超时时间由参数request.timeout.ms配置,默认值为30000,即30s

        那么这里等待消息3和消息4写入follower1副本和follower2副本,并返回相应的响应结果给客户端的动作是由谁来执行的呢?在将消息写入leader副本的本地日志文件之后,Kafka会创建一个延时的生产操作(DelayedProduce),用来处理消息正常写入所有副本或超时的情况,以返回相应的响应结果给客户端。 

        延时操作需要延时返回响应的结果,首先它必须有一个超时时间(delayMs),如果在这个超时时间内没有完成既定的任务,那么就需要强制完成以返回响应结果给客户端。其次,延时操作不同于定时操作,定时操作是指在特定时间之后执行的操作,而延时操作可以在所设定的超时时间之前完成,所以延时操作能够支持外部事件的触发。

        就延时生产操作而言,它的外部事件是所要写入消息的某个分区的HW(高水位)发生增长。也就是说,随着follower副本不断地与leader副本进行消息同步,进而促使HW进一步增长,HW每增长一次都会检测是否能够完成此次延时生产操作,如果可以就执行以此返回响应结果给客户端;如果在超时时间内始终无法完成,则强制执行。

        延时拉取操作,是由超时触发或外部事件触发而被执行的。超时触发很好理解,就是等到超时时间之后触发第二次读取日志文件的操作。外部事件触发就稍复杂了一些,因为拉取请求不单单由follower副本发起,也可以由消费者客户端发起,两种情况所对应的外部事件也是不同的。如果是follower副本的延时拉取,它的外部事件就是消息追加到了leader副本的本地日志文件中;如果是消费者客户端的延时拉取,它的外部事件可以简单地理解为HW的增长。

        kafka使用时间轮实现延时队列:TimeWheel。size,每个单元格的时间,每个单元格都代表一个时间,size*每个单元格的时间就是一个周期。

http://www.yayakq.cn/news/880446/

相关文章:

  • 在中国建设银行的网站上可以转账吗深圳网站建设制作厂家
  • 网站怎么做搜索引擎才能收录卡盟平台官网
  • 专业3合1网站建设电话wordpress本地搬迁
  • 哪个网站代做装修效果图如何做网站的cdn
  • 灵犀科技 网站开发收费网站建设
  • 出售网站建设群网络服务器无响应
  • 做网站需要用c语言吗18款禁用软件app排行
  • 北京网站制作案例wordpress文本编辑器按钮
  • 搭建服务器做网站wordpress 同步数据库
  • 中国精品课程网站高端网站开发成本
  • 北京公司网站制作wordpress主题显示不出来
  • wordpress记录点击数seo搜索引擎优化岗位要求
  • 微网站建设教程我国网站建设现状
  • 网站建设需要费用网站开发相关专业
  • wordpress基于什么意思青岛百度推广优化
  • 建设一个社交网站需要多少钱asp 网站模板
  • 企业网站建设收费做带支付平台的协会网站大概
  • 绍兴做网站多少钱做网站有意思吗
  • 网站开发外包合同范本中国建筑网登录入口
  • 白石洲附近做网站公司wordpress 下载主题
  • 自己电脑做网站 外网无法访问html设计网页作业代码
  • 苏州优化网站排名营销型网站关键词多少为好
  • 中国知名网站排名四川营销型网站建设
  • 如何做网站域名凡科做网站在百度能看见吗
  • 大连 响应式网站制作刷题小程序制作平台
  • 移动端响应式网站怎么做专业网站设计速寻亿企邦
  • 做网销的网站python爬虫源码下载
  • 泰安网站优化推广电子商务网站怎么做推广
  • 毕设做网站的过程海北公司网站建设
  • 网上书城网站系统建设妇科网站源码