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

淘宝网站设计模板下载seo交流论坛seo顾问

淘宝网站设计模板下载,seo交流论坛seo顾问,外国网站 dns解析失败,网站界面设计案例分析欢迎来到啾啾的博客#x1f431;。 记录学习点滴。分享工作思考和实用技巧#xff0c;偶尔也分享一些杂谈#x1f4ac;。 有很多很多不足的地方#xff0c;欢迎评论交流#xff0c;感谢您的阅读和评论#x1f604;。 目录 1 引言2 消息ProducerRecord2.1 分区器 1 引言 … 欢迎来到啾啾的博客。 记录学习点滴。分享工作思考和实用技巧偶尔也分享一些杂谈。 有很多很多不足的地方欢迎评论交流感谢您的阅读和评论。 目录 1 引言2 消息ProducerRecord2.1 分区器 1 引言 在之前的Kafka篇章中我们已经了解到Kafka Producer内部会有一个缓冲区生产者通过批量发送消息的方式提升总体的吞吐。 批量发送在很多场景中都很常见Kafka是如何实现的 首先我们需要理解消息。 2 消息ProducerRecord Kafka消息的封装如下 2.1 分区器 Kafka Producer可以指定消息发送到哪个Topic也可以指定到哪个Partition。没有指定Partition时Kafka Producer会使用分区器 Partitioner来决定消息应该到哪个partition。 可以看一下分区器 Partitioner 的方法 参数如下 ProducerRecordK, V record要发送的 Kafka 消息记录包含主题、键、值、分区等信息。 byte[] serializedKey消息键的序列化字节数组。 byte[] serializedValue消息值的序列化字节数组。 Cluster clusterKafka 集群的元数据信息包含主题、分区等信息。 其中serializedKey和serializedValue是分别用了同一个序列化类的不同的序列化对象来做的 有意思的是序列化方法传入的topic与headers信息在Kafka的默认序列化中是没有被使用的。 很显然这两个参数topic和headers是为了序列化的扩展性预留的设计。 使用topic参数可以为不同的topic准备不同的序列化策略比如加密。 import org.apache.kafka.common.serialization.Serializer; import java.nio.charset.StandardCharsets; import java.util.Map;public class TopicAwareSerializer implements SerializerString {Overridepublic void configure(MapString, ? configs, boolean isKey) {// 配置逻辑}Overridepublic byte[] serialize(String topic, String data) {if (sensitive-topic.equals(topic)) {// 对敏感主题的数据进行特殊处理String encryptedData encrypted: data;return encryptedData.getBytes(StandardCharsets.UTF_8);}return data.getBytes(StandardCharsets.UTF_8);}Overridepublic void close() {// 关闭逻辑} }使用headers参数比如编码格式、版本号等也可以做一些定制化操作。 import org.apache.kafka.common.header.Headers; import org.apache.kafka.common.serialization.Serializer; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Map;public class HeaderAwareSerializer implements SerializerString {Overridepublic void configure(MapString, ? configs, boolean isKey) {// 配置逻辑}Overridepublic byte[] serialize(String topic, Headers headers, String data) {Charset charset StandardCharsets.UTF_8;if (headers.lastHeader(charset) ! null) {String charsetName new String(headers.lastHeader(charset).value(), StandardCharsets.UTF_8);charset Charset.forName(charsetName);}return data.getBytes(charset);}Overridepublic byte[] serialize(String topic, String data) {return serialize(topic, null, data);}Overridepublic void close() {// 关闭逻辑} }需要注意的是key|value.serializer都必须被设置为实现了org.apache.kafka.common.serialization.Serializer接口的类。 没有指定分区partition时分区器partitioner.partition方法有三种实现。Kafka 在 Producer 中默认不配置分区器使用的是 DefaultPartitioner。你可以在创建 KafkaProducer 时通过配置 partitioner.class 属性来指定使用的分区器若不指定就会使用默认的 DefaultPartitioner。 DefaultPartitioner 用途这是 Kafka 默认的分区器。当消息有键key时会使用键的哈希值对分区数取模来确定分区当消息没有键时会使用粘性分区Sticky Partitioning策略在一段时间内将消息发送到同一个分区以提高批量发送效率。 使用场景大多数常规业务场景无需特殊分区策略时使用。 RoundRobinPartitioner 用途采用轮询的方式依次将消息发送到各个分区确保消息均匀分布在所有分区上。 使用场景需要消息均匀分布且对消息顺序没有严格要求的场景。 UniformStickyPartitioner 用途随机选择一个分区并在一段时间内将消息都发送到该分区以此减少请求数量提高吞吐量。 使用场景对吞吐量要求较高且对消息顺序没有严格要求的场景。 所以要指定好Partition。
http://www.hkea.cn/news/14320191/

相关文章:

  • 铁路建设工程网站微信卖货小程序怎么做
  • 四川省红鱼洞水库建设管理网站wordpress批量拿站
  • 精品课程网站设计与实现怎样学做网络推广
  • 中国国际贸易网官网网站描述怎么写利于seo
  • 如何免费建立个人网站怎么查找一个网站开发时间
  • 北京网站设计我选柚米wordpress后台没有写权限
  • 浙江省建设局教育网站网站开发成本如何账务处理
  • 影视怎么建设网站网站优化工作室
  • 科技创业seo自动优化工具
  • wordpress ftp插件北京SEO网站优化公司
  • 建设银行造价咨询中心网站宜兴网站制作
  • 制作板块的网站凡科送审平台
  • 做自己看视频的网站wordpress 手机端APP
  • 分类信息网站推广的意义站长统计入口
  • 网站 权限网站关键词排名外包
  • 深圳官网网站建设wordpress文章经典编辑器
  • 网站推广大概需要多少钱国内免费代理服务器
  • 做视频网站对服务器要去网络推广公司是做什么的
  • 自己网站做搜索引擎优化快普网站怎么做采购退货
  • 云南网站建设找天软做网站开发需要学哪些东西
  • 新乡公司网站建设网页设计学校
  • 怎么建设影视卡网站建设大型购物网站
  • 城口自助建站人力资源公司排名
  • wordpress收费插件大全搜狗 优化网站
  • 在线网站制作wordpress 用户管理
  • 权威的南昌网站设计聊城网站建设聊城
  • 珠海市外贸网站建设公司建立网站主机
  • 网站建设技术实现难点泉州推广优化公司
  • dede小游戏php网站源码中国建设银行手机银行网站
  • 苏州营销型网站制作公司网站建设分金手指排名二八