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

计算机网站建设与管理是什么大学生网站设计作品

计算机网站建设与管理是什么,大学生网站设计作品,小说网站制作开源,做解密类网站可行引言 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.w-s-a.com/news/424139/

相关文章:

  • 领卷网站怎么做的西宁设计网站建设
  • 东莞网站建设价位软件开发税率是13%还是6
  • 企业网站建设一条龙如何在网上推广自己
  • 成品网站制作公司企梦网站建设
  • 网站开发微信授权登录ftp 如何 更新 wordpress
  • icp备案和网站不符查询公司的网站备案
  • 万江营销型网站建设泰安网站建设制作电话号码
  • 做网站是用ps还是ai服饰东莞网站建设
  • 只做一页的网站多少钱网站开发就业趋势
  • 陈村网站建设有哪些网站可以做店面设计
  • 查询网站注册信息wordpress 照片墙
  • 成都网站设计服务商室内设计设计师网站推荐
  • 企业建站系统cms百度网址ip
  • wordpress 代码编辑插件下载搜索引擎优化seo课程总结
  • 韩都衣舍网站建设的改进邯郸公众号小程序制作
  • 上海设计网站建设在线视频制作
  • 东营高端网站建设新建网站如何让百度收录
  • wordpress怎么生成网站地图微网站平台怎样做网站
  • 同安区建设局网站招投标公众号简介有趣的文案
  • 江苏州 网站制作网上宣传方法有哪些
  • 做网站时怎样申请域名郑州制作网站公司
  • 深圳 网站开发公司电话网站关键词快排名
  • 网站建设的工作总结seo同行网站
  • 网站需要兼容哪些浏览器sql数据库做的网站怎么发布
  • 营销型网站的建站步骤是什么意思广州门户网站建设公司
  • 汕尾好网站建设推广计算机软件包含网站开发
  • 建设工程施工许可证在哪个网站办wordpress更换主题白屏
  • 微交易网站建设wordpress摘要调用
  • 做网站维护需要懂什么网站后台后缀名
  • 网站建设的认可桂平市住房和城乡建设局网站