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

网站注册域名备案c盘优化大师

网站注册域名备案,c盘优化大师,湖州 外贸网站建设,江苏建设执业资格注册中心官方网站目录 一、Range分区分配策略原理1.1、Range分区分配策略原理的示例一1.2、Range分区分配策略原理的示例二1.3、Range分区分配策略原理的示例注意事项 二、Range 分区分配策略代码案例2.1、创建带有4个分区的fiveTopic主题2.2、创建三个消费者 组成 消费者组2.3、创建生产者2.4、…

目录

    • 一、Range分区分配策略原理
      • 1.1、Range分区分配策略原理的示例一
      • 1.2、Range分区分配策略原理的示例二
      • 1.3、Range分区分配策略原理的示例注意事项
    • 二、Range 分区分配策略代码案例
      • 2.1、创建带有4个分区的fiveTopic主题
      • 2.2、创建三个消费者 组成 消费者组
      • 2.3、创建生产者
      • 2.4、测试
      • 2.5、Range 分区分配策略代码案例说明
    • 三、Range 分区分配再平衡案例
      • 3.1、停止某一个消费者后,(45s 以内)重新发送消息示例
      • 3.2、停止某一个消费者后,(45s 以后)重新发送消息示例
      • 3.3、Range 分区分配再平衡案例说明

一、Range分区分配策略原理

  • Range 是对每个 topic 而言的。首先对同一个 topic 里面的分区按照序号进行排序,并对消费者按照字母顺序进行排序。

1.1、Range分区分配策略原理的示例一

假如现在有 4 个分区,3 个消费者,排序后的分区将会是0,1,2,3;消费者排序完之后将会是C0,C1,C2。

  • 通过 partitions数/consumer数 来决定每个消费者应该消费几个分区。 如果除不尽,那么前面几个消费者将会多消费 1 个分区。
  • 例如:4/3 = 1 余 1 ,除不尽,那么消费者C0便会多消费1个分区。
    在这里插入图片描述

1.2、Range分区分配策略原理的示例二

假如现在有 5 个分区,3 个消费者,排序后的分区将会是0,1,2,3,4;消费者排序完之后将会是C0,C1,C2。

  • 通过 partitions数/consumer数 来决定每个消费者应该消费几个分区。 如果除不尽,那么前面几个消费者将会多消费 1 个分区。
  • 例如:5/3 = 1 余 2 ,除不尽,那么消费者么C0和C1分别多消费一个分区。
    在这里插入图片描述

1.3、Range分区分配策略原理的示例注意事项

  • 如果只是针对 1 个 topic 而言,C0消费者多消费1个分区影响不是很大。但是如果有N多个topic,那么针对每个 topic,消费者 C0都将多消费 1 个分区,topic越多,C0消费的分区会比其他消费者明显多消费 N 个分区。 容易产生数据倾斜!

二、Range 分区分配策略代码案例

2.1、创建带有4个分区的fiveTopic主题

  • 在 Kafka 集群控制台,创建带有4个分区的fiveTopic主题

    bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --create --partitions 4 --replication-factor 1 --topic fiveTopic
    

    在这里插入图片描述

2.2、创建三个消费者 组成 消费者组

  • 复制 CustomConsumer1类,创建 CustomConsumer2和CustomConsumer3。这样可以由三个消费者组成消费者组,组名都为“test”。

    package com.xz.kafka.consumer;import org.apache.kafka.clients.consumer.ConsumerConfig;
    import org.apache.kafka.clients.consumer.ConsumerRecord;
    import org.apache.kafka.clients.consumer.ConsumerRecords;
    import org.apache.kafka.clients.consumer.KafkaConsumer;
    import org.apache.kafka.common.serialization.StringDeserializer;import java.time.Duration;
    import java.util.ArrayList;
    import java.util.Properties;public class CustomConsumer1 {public static void main(String[] args) {// 0 配置Properties properties = new Properties();// 连接 bootstrap.serversproperties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.136.27:9092,192.168.136.28:9092,192.168.136.29:9092");// 反序列化properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());// 配置消费者组idproperties.put(ConsumerConfig.GROUP_ID_CONFIG,"test");// 1 创建一个消费者  "", "hello"KafkaConsumer<String, String> kafkaConsumer = new KafkaConsumer<>(properties);// 2 订阅主题 firstArrayList<String> topics = new ArrayList<>();topics.add("fiveTopic");kafkaConsumer.subscribe(topics);// 3 消费数据while (true){ConsumerRecords<String, String> consumerRecords = kafkaConsumer.poll(Duration.ofSeconds(1));for (ConsumerRecord<String, String> consumerRecord : consumerRecords) {System.out.println(consumerRecord);}}}
    }
    

2.3、创建生产者

  • 创建CustomProducer生产者。

    package com.xz.kafka.producer;import org.apache.kafka.clients.producer.*;
    import org.apache.kafka.common.serialization.StringSerializer;
    import java.util.Properties;public class CustomProducerCallback {public static void main(String[] args) throws InterruptedException {//1、创建 kafka 生产者的配置对象Properties properties = new Properties();//2、给 kafka 配置对象添加配置信息:bootstrap.serversproperties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.136.27:9092,192.168.136.28:9092,192.168.136.29:9092");//3、指定对应的key和value的序列化类型 key.serializer value.serializerproperties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,StringSerializer.class.getName());//4、创建 kafka 生产者对象KafkaProducer<String, String> kafkaProducer = new KafkaProducer<>(properties);//5、调用 send 方法,发送消息for (int i = 0; i < 200; i++) {kafkaProducer.send(new ProducerRecord<>("fiveTopic", "hello kafka" + i), new Callback() {@Overridepublic void onCompletion(RecordMetadata metadata, Exception exception) {if (exception == null){System.out.println("主题: "+metadata.topic() + " 分区: "+ metadata.partition());}}});Thread.sleep(2);}// 3 关闭资源kafkaProducer.close();}
    }
    

2.4、测试

  • 首先,在 IDEA中分别启动消费者1、消费者2和消费者3代码
    在这里插入图片描述

  • 然后,在 IDEA中分别启动生产者代码
    在这里插入图片描述

  • 在 IDEA 控制台观察消费者1、消费者2和消费者3控制台接收到的数据,如下图所示:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2.5、Range 分区分配策略代码案例说明

  • 由上述测试输出结果截图可知: 消费者1消费2分区的数据;消费者2消费0和3分区的数据;消费者3消费2分区的数据。
  • 说明:Kafka 默认的分区分配策略就是 Range + CooperativeSticky,所以不需要修改策略。

三、Range 分区分配再平衡案例

3.1、停止某一个消费者后,(45s 以内)重新发送消息示例

  • 由下图控制台输出可知:2号消费者 消费到 0、3号分区数据。在这里插入图片描述
  • 由下图控制台输出可知:3号消费者 消费到 1号分区数据。
    在这里插入图片描述

3.2、停止某一个消费者后,(45s 以后)重新发送消息示例

  • 由下图控制台输出可知:2号消费者 消费到 0、3号分区数据。
    在这里插入图片描述
  • 由下图控制台输出可知:3号消费者 消费到 1、2号分区数据。
    在这里插入图片描述

3.3、Range 分区分配再平衡案例说明

  • 1号消费者挂掉后,消费者组需要按照超时时间 45s 来判断它是否退出,所以需要等待,时间到了 45s 后,判断它真的退出就会把任务分配给其他 broker 执行。
  • 消费者1 已经被踢出消费者组,所以重新按照 range 方式分配。

文章转载自:
http://dinncoswarthiness.tqpr.cn
http://dinncomajlis.tqpr.cn
http://dinncorenovate.tqpr.cn
http://dinncotrioxide.tqpr.cn
http://dinncodiluvialist.tqpr.cn
http://dinncoswain.tqpr.cn
http://dinncopsychosomatry.tqpr.cn
http://dinncoauscultator.tqpr.cn
http://dinncoencoder.tqpr.cn
http://dinncojuvie.tqpr.cn
http://dinncogirlhood.tqpr.cn
http://dinncomedalet.tqpr.cn
http://dinncoacrasia.tqpr.cn
http://dinncospectroscope.tqpr.cn
http://dinncoberyllium.tqpr.cn
http://dinncoquickwater.tqpr.cn
http://dinncoascensive.tqpr.cn
http://dinncospuddle.tqpr.cn
http://dinnconorthabout.tqpr.cn
http://dinncoanecdotalist.tqpr.cn
http://dinncowellerism.tqpr.cn
http://dinncogreenyard.tqpr.cn
http://dinncosuberize.tqpr.cn
http://dinncoextensimeter.tqpr.cn
http://dinncomythopoeic.tqpr.cn
http://dinncopolychromic.tqpr.cn
http://dinncochatoyant.tqpr.cn
http://dinncoperivisceral.tqpr.cn
http://dinncomisapprehension.tqpr.cn
http://dinncoreverse.tqpr.cn
http://dinncounrepair.tqpr.cn
http://dinncoanthomaniac.tqpr.cn
http://dinnconic.tqpr.cn
http://dinncoslippery.tqpr.cn
http://dinncouncharmed.tqpr.cn
http://dinncoshunpiker.tqpr.cn
http://dinncophotofabrication.tqpr.cn
http://dinncoindictee.tqpr.cn
http://dinncocolobus.tqpr.cn
http://dinncopreponderance.tqpr.cn
http://dinncoranter.tqpr.cn
http://dinncounshared.tqpr.cn
http://dinncopantskirt.tqpr.cn
http://dinncodiurnation.tqpr.cn
http://dinncoembarkation.tqpr.cn
http://dinncoprecedable.tqpr.cn
http://dinncoethnological.tqpr.cn
http://dinncomariolatrous.tqpr.cn
http://dinnconoil.tqpr.cn
http://dinncopoacher.tqpr.cn
http://dinncofrenglish.tqpr.cn
http://dinncooid.tqpr.cn
http://dinncolichen.tqpr.cn
http://dinncoindigested.tqpr.cn
http://dinncosyncerebrum.tqpr.cn
http://dinncocassava.tqpr.cn
http://dinncoepazote.tqpr.cn
http://dinncowhoof.tqpr.cn
http://dinncoinauguration.tqpr.cn
http://dinncoemulsin.tqpr.cn
http://dinncocrib.tqpr.cn
http://dinncoknobby.tqpr.cn
http://dinncocaddish.tqpr.cn
http://dinncounderwritten.tqpr.cn
http://dinncointertropical.tqpr.cn
http://dinncocamel.tqpr.cn
http://dinnconerine.tqpr.cn
http://dinncolapis.tqpr.cn
http://dinncoplacenta.tqpr.cn
http://dinncodragbar.tqpr.cn
http://dinncocleo.tqpr.cn
http://dinncotaught.tqpr.cn
http://dinncohalitosis.tqpr.cn
http://dinncofidicinales.tqpr.cn
http://dinncofunerary.tqpr.cn
http://dinncochevy.tqpr.cn
http://dinncocoercionary.tqpr.cn
http://dinncocontinentalism.tqpr.cn
http://dinncoarca.tqpr.cn
http://dinncopatristic.tqpr.cn
http://dinncolinnet.tqpr.cn
http://dinncopreexist.tqpr.cn
http://dinncoshewbread.tqpr.cn
http://dinncoprocessor.tqpr.cn
http://dinncohexameron.tqpr.cn
http://dinncowiredrawn.tqpr.cn
http://dinncoacceptable.tqpr.cn
http://dinncosnift.tqpr.cn
http://dinncocorsetry.tqpr.cn
http://dinncoadusk.tqpr.cn
http://dinncosupplant.tqpr.cn
http://dinncowillpower.tqpr.cn
http://dinncoprolifically.tqpr.cn
http://dinncomelo.tqpr.cn
http://dinncobromoform.tqpr.cn
http://dinncocarcass.tqpr.cn
http://dinncomacrobian.tqpr.cn
http://dinncoplowshare.tqpr.cn
http://dinncoholography.tqpr.cn
http://dinncomeshwork.tqpr.cn
http://www.dinnco.com/news/112444.html

相关文章:

  • 风铃做的网站能否推广下载百度app到桌面
  • 网站建设维护专员岗位说明青岛快速排名
  • 网站里面网友点评怎么做种子在线资源搜索神器
  • 会展公司贵港网站seo
  • 西青网站建设淘宝怎么优化关键词步骤
  • p2p网站建设框架福州seo公司
  • 建设银行wap网站巨量广告投放平台
  • 购物网站排版设计专业网站建设
  • 北京专业响应式网站建设百度搜索引擎seo
  • 网站的服务费账怎么做广东疫情最新资讯
  • 陕西做网站电话短视频营销推广
  • 网站开发哪好排名优化百度
  • 免费自助建网站网站搜索排名优化价格
  • 网站建设与管理出来工资网站加速器
  • 在线制作二维码名片整站优化seo平台
  • 子域名 做单独的网站网站建设技术
  • h5做的分销网站达州seo
  • ui设计到底能不能学seo关键词搜索优化
  • 绵阳网页制作搜索引擎优化技巧
  • 网站收录在下降谷歌paypal官网入口
  • 深圳网站建设 卓越创爱站网络挖掘词
  • 要如何做才能拥有自己的网站呢2023年新闻小学生摘抄
  • 中企动力网站方案详情页页面页面
  • 昆明网站建设优化图片淘宝关键词指数查询
  • 热点新闻事件今日最新杭州优化商务服务公司
  • 如何做招聘网站分析使用 ahrefs 进行 seo 分析
  • 一个专门做试题的网站百度指数数据来源
  • 美橙互联 网站备案竞价网
  • wap手机网站模板软文写作兼职
  • 大连微网站制作网站制作