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

网站后台打打开空白广厦建设集团官方网站

网站后台打打开空白,广厦建设集团官方网站,wordpress 空两格,做网站的哪家好引言 Kafka 的分区策略决定了生产者发送的消息会被分配到哪个分区中#xff0c;合理的分区策略有助于实现负载均衡、提高消息处理效率以及满足特定的业务需求。 轮询策略#xff08;默认#xff09; 轮询策略是 Kafka 默认的分区策略#xff08;当消息没有指定键时…引言 Kafka 的分区策略决定了生产者发送的消息会被分配到哪个分区中合理的分区策略有助于实现负载均衡、提高消息处理效率以及满足特定的业务需求。 轮询策略默认 轮询策略是 Kafka 默认的分区策略当消息没有指定键时。生产者会按照顺序依次将消息发送到各个分区中确保每个分区都能均匀地接收到消息从而实现负载均衡。简单高效能使各个分区的消息量相对均衡充分利用每个分区的存储和处理能力。 import org.apache.kafka.clients.producer.*; import java.util.Properties;public class RoundRobinProducer {public static void main(String[] args) {Properties props new Properties();props.put(bootstrap.servers, localhost:9092);props.put(key.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(value.serializer, org.apache.kafka.common.serialization.StringSerializer);ProducerString, String producer new KafkaProducer(props);for (int i 0; i 10; i) {ProducerRecordString, String record new ProducerRecord(testTopic, message- i);producer.send(record);}producer.close();} } 随机策略 随机策略会随机地将消息分配到一个分区中。这种策略在某些情况下可以实现一定程度的负载均衡但由于是随机分配可能会导致分区之间的消息分布不够均匀。可以通过自定义分区器来实现随机策略。 import org.apache.kafka.clients.producer.*; import java.util.List; import java.util.Map; import java.util.Random;public class RandomPartitioner implements Partitioner {private final Random random new Random();Overridepublic int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) {ListPartitionInfo partitions cluster.partitionsForTopic(topic);return random.nextInt(partitions.size());}Overridepublic void close() {}Overridepublic void configure(MapString, ? configs) {} }// 使用随机分区器的生产者示例 public class RandomProducer {public static void main(String[] args) {Properties props new Properties();props.put(bootstrap.servers, localhost:9092);props.put(key.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(value.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(partitioner.class, RandomPartitioner);ProducerString, String producer new KafkaProducer(props);for (int i 0; i 10; i) {ProducerRecordString, String record new ProducerRecord(testTopic, message- i);producer.send(record);}producer.close();} } 按键哈希策略 当消息指定了键时Kafka 会根据键的哈希值将消息分配到特定的分区中。相同键的消息会被分配到同一个分区这有助于保证具有相同业务逻辑的消息顺序性。可以保证消息的局部有序性例如在处理用户相关的消息时将同一个用户的消息发送到同一个分区方便后续的处理和分析。 import org.apache.kafka.clients.producer.*; import java.util.Properties;public class KeyBasedProducer {public static void main(String[] args) {Properties props new Properties();props.put(bootstrap.servers, localhost:9092);props.put(key.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(value.serializer, org.apache.kafka.common.serialization.StringSerializer);ProducerString, String producer new KafkaProducer(props);for (int i 0; i 10; i) {ProducerRecordString, String record new ProducerRecord(testTopic, user- (i % 2), message- i);producer.send(record);}producer.close();} } 自定义分区策略(实现接口) 当上述默认策略无法满足业务需求时可以自定义分区策略。通过实现org.apache.kafka.clients.producer.Partitioner接口重写partition方法来实现自定义的分区逻辑。例如根据消息的某些特定字段如时间、地理位置等来进行分区以满足特定的业务需求。 import org.apache.kafka.clients.producer.*; import java.util.List; import java.util.Map;public class CustomPartitioner implements Partitioner {Overridepublic int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster) {ListPartitionInfo partitions cluster.partitionsForTopic(topic);// 自定义分区逻辑这里简单示例根据消息值的长度分区String message (String) value;return message.length() % partitions.size();}Overridepublic void close() {}Overridepublic void configure(MapString, ? configs) {} }// 使用自定义分区器的生产者示例 public class CustomProducer {public static void main(String[] args) {Properties props new Properties();props.put(bootstrap.servers, localhost:9092);props.put(key.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(value.serializer, org.apache.kafka.common.serialization.StringSerializer);props.put(partitioner.class, CustomPartitioner);ProducerString, String producer new KafkaProducer(props);for (int i 0; i 10; i) {ProducerRecordString, String record new ProducerRecord(testTopic, message- i);producer.send(record);}producer.close();} }
http://www.hkea.cn/news/14356683/

相关文章:

  • 国企集团门户网站建设方案浙江金华市建设局网站
  • 买了服务器主机这么做网站机械公司网站建设
  • 做网站的时候宽高办公软件开发公司
  • 建设网站制作哪家好跨境电商开店大概流程
  • 网站重定向代码程序员培训机构出来找工作好找吗
  • 外包加工网可信吗优化seo教程技术
  • 电脑怎样做幻灯片的网站网盟推广
  • 织梦网站建设博客上线了做网站怎么样
  • html网站开发开题报告范文做网站推广优化哪家好
  • wordpress 去掉自豪关键词优化推广策略
  • wordpress 本地 搭建网站溧阳网站建设公司
  • 江门网站制作策划html网页表单设计
  • wordpress3.7常州seo收费
  • 云服务器如何安装网站网站如何做seo推广
  • 微网站设计基本要求网站APP注册做任务
  • 网站建设服务标准化成立
  • 微信公众号做推送的网站dw网页制作教程怎么改背景
  • 江苏外贸网站建设推广制作网站谁家做的好
  • wordpress 主页调整网站优化及推广公司
  • 手机网站活动策划方案百度排名
  • 苏州手机网站建设多少钱WordPress二级栏目代码
  • 友山建站优化岳阳建设网站
  • 电影网站源码程序网站 可以做无形资产吗
  • 如何查询网站历史快照宁波做网站优化公司
  • 做网站用c语言可以吗精准引流推广平台
  • 织梦做的网站老是被黑网站头部代码
  • 昆山网站建设需要多少钱自定义头像wordpress
  • 网站建设项目策划书模板范文闵行兼职招聘信息
  • 建设部一建注册公示网站广州制片公司网站
  • 英文手机网站模板深圳网站设计公司 网络服务