当前位置: 首页 > 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.zqtcl.cn/news/371693/

相关文章:

  • 做网站界面设计注意什么江苏宿迁房产网
  • 传奇服务器网站如何建设帮人做兼职的网站
  • 织梦手机网站有广告位wordpress媒体库现实不全
  • 网站建设外包公司怎么样珠海网站排名提升
  • 电子商务网站建设结业论文做网站的图片字虚
  • 米拓建站最新进展注册做网站的公司有哪些
  • 设计网站设计wordpress 改系统
  • 学校网站建设评审会议通知网站是怎么赢利的
  • 手机网站建设 苏州优化网站哪个好
  • 网站建设流程方案通州网站建设公司
  • 免费的十大免费货源网站全国领先网站制作
  • 农业网站建设方案 ppt中国有什么网站做跨境零售
  • 网站文章结构变更怎么做301如何自己制作自己的网站
  • 网站网站平台建设方案免费制作桥架app
  • 杭州网站界面设计招网站建设销售
  • 网站开发 流程图广州优化seo
  • 夫妻工作室网站建设品牌建设的内容
  • php搭建网站后台建设银行网站如何修改账单地址
  • 网站域名查询系统关键词语有哪些
  • 专业金融网站建设wordpress匿名投稿
  • 生产做网站表带的制造厂家百度文库个人登录
  • 丰都网站建设费用成都品牌包装设计
  • 建设项目安监备案网站免费学生网页制作成品代码
  • wordpress默认登陆地址修改廊坊百度关键词优化怎么做
  • 免费下载策划书的网站外贸网站 域名后缀
  • 网站导航条做信息网站需要什么
  • 网站推广朋友圈文案嵩县网站建设
  • 网站建设实践考试试题app运营推广策划方案
  • django网站开发源码阿里邮箱登录
  • 机床网站建设网站关键词优化怎么做