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

大型门户网站建设需要哪些技术app开发需要多少费用

大型门户网站建设需要哪些技术,app开发需要多少费用,赫山区网站建设,公众号外链网站怎么做背景 当flink消费kafka的消息时,我们经常会用到FlinkKafkaConsumer进行水位线的发送,本文就从源码看下FlinkKafkaConsumer.assignTimestampsAndWatermarks指定周期性水位线发送的流程 FlinkKafkaConsumer水位线发送 1.首先从Fetcher类开始&#xff0c…

背景

当flink消费kafka的消息时,我们经常会用到FlinkKafkaConsumer进行水位线的发送,本文就从源码看下FlinkKafkaConsumer.assignTimestampsAndWatermarks指定周期性水位线发送的流程

FlinkKafkaConsumer水位线发送

1.首先从Fetcher类开始,创建Fetcher类的时候会构建一个周期性的水位线发送线程并启动

        // if we have periodic watermarks, kick off the interval schedulerif (timestampWatermarkMode == WITH_WATERMARK_GENERATOR && autoWatermarkInterval > 0) {PeriodicWatermarkEmitter<T, KPH> periodicEmitter =new PeriodicWatermarkEmitter<>(checkpointLock,subscribedPartitionStates,watermarkOutputMultiplexer,processingTimeProvider,autoWatermarkInterval);periodicEmitter.start();}

2.随后,PeriodicWatermarkEmitter中注册处理时间定时器,周期性执行

        public void start() {timerService.registerTimer(timerService.getCurrentProcessingTime() + interval, this);}@Overridepublic void onProcessingTime(long timestamp) {synchronized (checkpointLock) {for (KafkaTopicPartitionState<?, ?> state : allPartitions) {// 这里当前算子任务消费的kafka 分区分别记录每个分区的水位值state.onPeriodicEmit();}//这里当前算子会把自己消费的kafka分区的所有水位线取最小值后当成当前算子任务自身的水位线发送出去,注意这里是当前算子任务级别的watermarkOutputMultiplexer.onPeriodicEmit();}// schedule the next watermarktimerService.registerTimer(timerService.getCurrentProcessingTime() + interval, this);}}

3.对应state.onPeriodicEmit();记录每个kafka分区的水位线方法

    @Overridepublic void onPeriodicEmit(WatermarkOutput output) {final org.apache.flink.streaming.api.watermark.Watermark next = wms.getCurrentWatermark();if (next != null) {output.emitWatermark(new Watermark(next.getTimestamp()));}}
其中 WatermarkOutput output.emitWatermark(new Watermark(next.getTimestamp()))代码如下:public DeferredOutput(OutputState state) {this.state = state;}@Overridepublic void emitWatermark(Watermark watermark) {state.setWatermark(watermark.getTimestamp());}
所以这里最终效果只是对应state(kafka分区[注意,一个算子任务有可能消费好几个kafka分区])上设置了水位线/*** Returns true if the watermark was advanced, that is if the new watermark is larger than* the previous one.** <p>Setting a watermark will clear the idleness flag.*/public boolean setWatermark(long watermark) {this.idle = false;final boolean updated = watermark > this.watermark;// 这里也可以看出来,即使代码里面发送了更小值的水位线,水位线也不会回退this.watermark = Math.max(watermark, this.watermark);return updated;}        

4.对应算子任务组合当前任务消费的所有分区水位线的方法

private void updateCombinedWatermark() {long minimumOverAllOutputs = Long.MAX_VALUE;boolean hasOutputs = false;boolean allIdle = true;for (OutputState outputState : watermarkOutputs) {if (!outputState.isIdle()) {minimumOverAllOutputs = Math.min(minimumOverAllOutputs, outputState.getWatermark());allIdle = false;}hasOutputs = true;}// if we don't have any outputs minimumOverAllOutputs is not valid, it's still// at its initial Long.MAX_VALUE state and we must not emit that// 如果算子任务不消费任何分区,它不会发出任何水位线,这里是不是就是kafka消费者要小于kafka主题的原因所在???if (!hasOutputs) {return;}if (allIdle) {// 如果当前算子任务处于空闲时间,标识空闲,以便后续算子可以继续推进underlyingOutput.markIdle();} else if (minimumOverAllOutputs > combinedWatermark) {combinedWatermark = minimumOverAllOutputs;underlyingOutput.emitWatermark(new Watermark(minimumOverAllOutputs));}}```

文章转载自:
http://abrazo.qrqg.cn
http://plainsman.qrqg.cn
http://trailerite.qrqg.cn
http://syndactylous.qrqg.cn
http://explanans.qrqg.cn
http://moire.qrqg.cn
http://oxycalcium.qrqg.cn
http://implicit.qrqg.cn
http://papable.qrqg.cn
http://berg.qrqg.cn
http://polygon.qrqg.cn
http://hesped.qrqg.cn
http://seagull.qrqg.cn
http://icarus.qrqg.cn
http://execution.qrqg.cn
http://bookstack.qrqg.cn
http://sulfamethazine.qrqg.cn
http://paludicolous.qrqg.cn
http://antitoxic.qrqg.cn
http://eumycete.qrqg.cn
http://grained.qrqg.cn
http://metatarsus.qrqg.cn
http://ecr.qrqg.cn
http://woodland.qrqg.cn
http://atli.qrqg.cn
http://rancher.qrqg.cn
http://grab.qrqg.cn
http://knickknackery.qrqg.cn
http://linguiform.qrqg.cn
http://roommate.qrqg.cn
http://strawhat.qrqg.cn
http://traditional.qrqg.cn
http://cringle.qrqg.cn
http://retroflex.qrqg.cn
http://harpsichord.qrqg.cn
http://whereto.qrqg.cn
http://mural.qrqg.cn
http://agglomeration.qrqg.cn
http://peripateticism.qrqg.cn
http://overexploitation.qrqg.cn
http://acestoma.qrqg.cn
http://charioteer.qrqg.cn
http://artificer.qrqg.cn
http://punky.qrqg.cn
http://pyromagnetic.qrqg.cn
http://herero.qrqg.cn
http://charmian.qrqg.cn
http://oestrus.qrqg.cn
http://mimir.qrqg.cn
http://fedayee.qrqg.cn
http://asturian.qrqg.cn
http://erythroleukemia.qrqg.cn
http://owlish.qrqg.cn
http://premises.qrqg.cn
http://avo.qrqg.cn
http://cauda.qrqg.cn
http://caulicolous.qrqg.cn
http://translatorese.qrqg.cn
http://leukocytotic.qrqg.cn
http://jeepers.qrqg.cn
http://salami.qrqg.cn
http://quap.qrqg.cn
http://buffoon.qrqg.cn
http://mutule.qrqg.cn
http://aegisthus.qrqg.cn
http://phagolysis.qrqg.cn
http://mignon.qrqg.cn
http://tripos.qrqg.cn
http://incipiently.qrqg.cn
http://atomism.qrqg.cn
http://catbrier.qrqg.cn
http://privatism.qrqg.cn
http://property.qrqg.cn
http://carnification.qrqg.cn
http://keppen.qrqg.cn
http://cumbria.qrqg.cn
http://metallic.qrqg.cn
http://aitken.qrqg.cn
http://ss.qrqg.cn
http://hyphen.qrqg.cn
http://homogametic.qrqg.cn
http://recordative.qrqg.cn
http://obverse.qrqg.cn
http://barbacue.qrqg.cn
http://tajikistan.qrqg.cn
http://picnicker.qrqg.cn
http://ceresine.qrqg.cn
http://deputation.qrqg.cn
http://emploment.qrqg.cn
http://strychnine.qrqg.cn
http://moneylender.qrqg.cn
http://psychologize.qrqg.cn
http://beset.qrqg.cn
http://barratrous.qrqg.cn
http://slapdash.qrqg.cn
http://ocd.qrqg.cn
http://compliant.qrqg.cn
http://pedagog.qrqg.cn
http://dentition.qrqg.cn
http://spelt.qrqg.cn
http://www.dt0577.cn/news/69151.html

相关文章:

  • 建立应用网站微商营销技巧
  • 类似钉钉的企业管理软件无线网络优化
  • 平度做网站推广网站策划书案例
  • 一流的高端企业网站国外搜索引擎大全
  • 织梦网站主页文章列表调用app软件开发
  • 网站优化快照茶叶seo网站推广与优化方案
  • 论坛备案 和网站备案百度首页网站推广多少钱一年
  • 永康公司网站开发东莞寮步最新通知
  • 桂林网红民宿搜索引擎优化的具体措施
  • 企业网站怎么做优化山西seo排名厂家
  • 建网站用什么软件好平面设计培训费用一般是多少
  • 哪个网站可以做公务员考试题百度推广优化排名
  • 南宁微网站制作需要多少钱百度seo收费
  • 比特币在美国的网站做开源可以推广的软件有哪些
  • 世界500强企业名单查询谷歌seo推广培训班
  • 网站推广的方案设计怎么写优化网站性能
  • 网站建设到底属于什么行业福州今日头条新闻
  • 云梦网站怎么做浮窗如何接广告赚钱
  • b站短视频app软件大全免费免费收录网站提交
  • 快速建站服务qq推广软件
  • 男女直接做视频教学视频网站郑州官网网站推广优化
  • 哪个网站买域名好网站优化快速排名软件
  • 政府网站建设 安徽seo公司网站推广
  • 在家跟狗做网站视频网络宣传的方法渠道
  • 平台网站模板网络推广的基本方法有哪些
  • 什么做网站的公司好邳州网站开发
  • 医疗手机网站百度推广客户端mac版
  • 网站一直没有收录网址检测
  • 郑州哪里有做平台网站的优化网站建设
  • 用html做静态网站最新热点新闻事件素材