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

域名申请到网站建设教程网站建设进度及实过程

域名申请到网站建设教程,网站建设进度及实过程,世界500强企业愿景,ucenter wordpress目录 一、Sticky分区分配策略原理二、Sticky分区分配策略 示例需求三、Sticky分区分配策略代码案例3.1、创建带有7个分区的sevenTopic主题3.2、创建三个消费者 组成 消费者组3.3、创建生产者3.4、测试3.5、Sticky分区分配策略代码案例说明 四、Sticky分区分配再平衡案例4.1、停… 目录 一、Sticky分区分配策略原理二、Sticky分区分配策略 示例需求三、Sticky分区分配策略代码案例3.1、创建带有7个分区的sevenTopic主题3.2、创建三个消费者 组成 消费者组3.3、创建生产者3.4、测试3.5、Sticky分区分配策略代码案例说明 四、Sticky分区分配再平衡案例4.1、停止某一个消费者后45s 以内重新发送消息示例4.2、停止某一个消费者后45s 以后重新发送消息示例4.3、Sticky分区分配再平衡案例说明 一、Sticky分区分配策略原理 粘性分区定义可以理解为分配的结果带有“粘性的”。即在执行一次新的分配之前考虑上一次分配的结果尽量少的调整分配的变动可以节省大量的开销。粘性分区是 Kafka 从 0.11.x 版本开始引入这种分配策略首先会尽量均衡的放置分区到消费者上面在出现同一消费者组内消费者出现问题的时候会尽量保持原有分配的分区不变化。 二、Sticky分区分配策略 示例需求 设置主题为 sevenTopic7个分区准备 3 个消费者采用粘性分区策略并进行消费观察 消费分配情况。然后再停止其中一个消费者再次观察消费分配情况。 三、Sticky分区分配策略代码案例 3.1、创建带有7个分区的sevenTopic主题 在 Kafka 集群控制台创建带有7个分区的sevenTopic主题 bin/kafka-topics.sh --bootstrap-server 192.168.136.27:9092 --create --partitions 7 --replication-factor 1 --topic sevenTopic3.2、创建三个消费者 组成 消费者组 复制 CustomConsumer1类创建 CustomConsumer2和CustomConsumer3。这样可以由三个消费者组成消费者组组名都为“test2”设置分区分配策略为 Sticky。 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,test2);// 设置分区分配策略properties.put(ConsumerConfig.PARTITION_ASSIGNMENT_STRATEGY_CONFIG,org.apache.kafka.clients.consumer.StickyAssignor);// 1 创建一个消费者 , helloKafkaConsumerString, String kafkaConsumer new KafkaConsumer(properties);// 2 订阅主题 sevenTopicArrayListString topics new ArrayList();topics.add(sevenTopic);kafkaConsumer.subscribe(topics);// 3 消费数据while (true){ConsumerRecordsString, String consumerRecords kafkaConsumer.poll(Duration.ofSeconds(1));for (ConsumerRecordString, String consumerRecord : consumerRecords) {System.out.println(consumerRecord);}}} }3.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 生产者对象KafkaProducerString, String kafkaProducer new KafkaProducer(properties);//5、调用 send 方法,发送消息for (int i 0; i 200; i) {kafkaProducer.send(new ProducerRecord(sevenTopic, 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();} }3.4、测试 首先在 IDEA中分别启动消费者1、消费者2和消费者3代码 然后在 IDEA中分别启动生产者代码 在 IDEA 控制台观察消费者1、消费者2和消费者3控制台接收到的数据如下图所示 3.5、Sticky分区分配策略代码案例说明 由上述测试输出结果截图可知 消费者1消费0、2、4分区的数据消费者2消费1、3分区的数据消费者3消费5、6分区的数据。说明Kafka 采用修改后的Sticky分区分配策略。 四、Sticky分区分配再平衡案例 4.1、停止某一个消费者后45s 以内重新发送消息示例 由下图控制台输出可知2号消费者 消费到 2号分区数据。 由下图控制台输出可知3号消费者 消费到 0、4号分区数据。 4.2、停止某一个消费者后45s 以后重新发送消息示例 由下图控制台输出可知2号消费者 消费到 1、2、3号分区数据。 由下图控制台输出可知3号消费者 消费到 0、4、5、6号分区数据。 4.3、Sticky分区分配再平衡案例说明 1 号消费者的任务会按照粘性规则尽可能均衡的随机分成 0 和 1 号分区数据分别由 2号消费者或者 3号消费者消费。 1号消费者挂掉后消费者组需要按照超时时间 45s 来判断它是否退出所以需要等待时间到了 45s 后判断它真的退出就会把任务分配给其他 broker 执行。 消费者 1 已经被踢出消费者组所以重新按照粘性方式分配。
http://www.huolong8.cn/news/98170/

相关文章:

  • wap蓝天建站无忧网站建设哪家便宜
  • 莆田网站建设收费标准单机网页游戏网站
  • 做指甲的网站叫什么名字来着本溪 网站建设 做网站
  • 南通网站建设公司购物网站服务中心
  • 通过门户网站做单点登录SAP盐城做网站网络公司电话?
  • 网站建设常见错误自学建设网站
  • 有谁用2008做网站服务器安徽省建设厅安全协会网站
  • 幻灯网站源码百度seo优化策略
  • 网站开发cms网站ip地址是什么
  • wordpress网站主机名挣钱网站一小时两百
  • 公司内部网站的作用网站服务器怎么选择
  • 有什么网站专做买生活污水设备网络营销对传统营销有哪些冲击
  • 宁波正规品牌网站设计建购物网站的详细步骤
  • 越秀定制型网站建设网站开发设计是前端吗
  • 网站如何做付费自己建设网站用哪个
  • 四川建设厅网站施工员证查询wordpress的批量上传
  • 网站全站出售无代码软件开发
  • 网站开发 开源网站开发部组织架构
  • 个人网站建站步骤广州网站建设公司怎么样
  • 宁波网站建设推广报价手机移动网站建设
  • 企业免费建站宝安做网站哪家好
  • 那种软件可以做视频网站短视频平台
  • 温州做网站seophp 企业网站 后台图片上传
  • 网站建设企业哪家好互联网广告销售好做吗
  • 建设企业展示网站工业设计服务平台
  • 鲜花网站建设规模设想建筑师网站
  • 网站优化中友情链接怎么做滨州淘宝网站建设
  • 网站建设和推广定制开发app多少钱
  • 注册网站会员需要详细填写辽宁建设工程信息网新版网址
  • 门店到什么地步可以做网站接做名片的网站