摘要:
JAVA Unsafe类详解 官方不建议使用Unsafe 使用Unsafe要注意以下几个问题: 1、Unsafe有可能在未来的Jdk版本移除或者不允许Java应用代码使用,这一点可能导致使用了Unsafe的应用无法运行在高版本的Jdk。 2、Unsafe的不少方法中必须提供原始地址(内存地址)和被替 阅读全文
摘要:
Kafka 事务 幂等性 幂等性是指发送同样的请求,对系统资源的影响是一致的。结合 Kafka Producer,是指在多次发送同样的消息,Kafka做到发送消息的不丢失和不重复。 Kafka为啥需要幂等性? 在使用Kafka时,需要确保Exactly-Once语义。分布式系统中,一些不可控因素有很 阅读全文
摘要:
Kafka 生产者Producer 整体架构 从上面的架构图可以看出,生产的流程主要就是一个producer线程和一个sender线程,它们之间通过BatchQueue来获取数据,它们的关系是一一对应的,所以kafka的生产过程都是异步过程。 它的同步和异步指的是接收响应结果的模式是同步阻塞还是异步 阅读全文
摘要:
Kafka 控制器Controller Broker 在启动时,会尝试去 ZooKeeper 中创建 /controller 节点。Kafka 当前选举控制器的规则是:第一个成功创建 /controller 节点的 Broker 会被指定为控制器。 Controller Broker的主要职责有很多 阅读全文
摘要:
free 命令常用参数 free 命令用来查看内存使用状况,常用参数如下: -h human-readable 格式打印 -w 把 cache & buffer 分开打印 -t show total for RAM + swap free 结果指标剖析 centos6中,cache,buffers是 阅读全文
摘要:
零拷贝是网络编程的关键, 很多性能优化都离不开 数据角度分析 : 在零拷贝机制中 , 整个数据在内存中只有一份数据 , 非零拷贝机制中 , 内核缓冲区 , 用户缓冲区 , Socket 缓冲区 , 各有一份数据 ; 零拷贝指的是没有 CPU 拷贝 , 都是 DMA ( 直接内存访问 ) 拷贝 ; 零 阅读全文
摘要:
什么是分区再均衡 分区的所有权从一个消费者转移到另一个消费者,这样的行为被称为分区再均衡(Rebalance)。Rebalance 实现了消费者群组的高可用性和伸缩性。 Rebalance 本质上是一种协议,规定了一个 Consumer Group 下的所有 Consumer 如何达成一致,来分配订 阅读全文
摘要:
日志存储结构 Kafka存储结构图: kafka 中消息是以主题 topic 为基本单位进行归类的,这里的 topic 是逻辑上的概念,实际上在磁盘存储是根据分区存储的,每个主题可以分为多个分区、分区的数量可以在主题创建的时候进行指定。例如下面 kafka 命令创建了一个 topic 为 test 阅读全文
摘要:
Producer: block.on.buffer.full = true 尽管该参数在0.9.0.0已经被标记为“deprecated”,但鉴于它的含义非常直观,所以这里还是显式设置它为true,使得producer将一直等待缓冲区直至其变为可用。否则如果producer生产速度过快耗尽了缓冲区, 阅读全文
摘要:
延时队列 在发送延时消息的时候并不是先投递到要发送的真实主题(real_topic)中,而是先投递到一些 Kafka 内部的主题(delay_topic)中,这些内部主题对用户不可见, 然后通过一个自定义的服务拉取这些内部主题中的消息,并将满足条件的消息再投递到要发送的真实的主题中,消费者所订阅的还 阅读全文
摘要:
Kafka 分区分配策略 生产者发送消息分区分配策略 kafka 里的 partitioner (分区器)来负责客户端生产层面的负载均衡。 如果指定分区,就直接使用该分区。 未指定分区但存在key,则根据序列化key使用murmur2哈希算法对分区数取模 如果不存在分区或key,则会使用粘性分区策略 阅读全文
摘要:
Kafka 相关配置参数 生产者配置参数: acks:指定了必须有多少个分区副本收到消息,生产者才会认为消息写入是成功的。默认为acks=1 acks=0 如果设置为 0,则 Producer 不会等待服务器的反馈。该消息会被立刻添加到 socket buffer 中并认为已经发送完成。在这种情况下 阅读全文
摘要:
Kafka副本备份机制(LEO,HW,leader epoch) Kafka 0.11版本之前水印副本备份机制 步骤: 初始leader,follower参数都为0,其中leader中的remote LEO记录的是follower的LEO 生产者发送消息m1到leader中,更新leader的LEO 阅读全文
摘要:
华硕B460i主板内存调参 概况 使用的主板是b460i,cpu是10900es,内存条是芝奇的3200(c16-18-18-38) 调频2933 开始加载不能使用2933,理论上10900es的频率最高是2933,但是调了好久只能到2400 后来查网上信息,需要设置一个内存SA电压 CPU Sys 阅读全文
摘要:
Kafka 问题收集 Kafka关键字名词 ISR 所有与leader副本保持一定程度同步的副本(包括leader副本在内)组成 ISR (In Sync Replicas)。 ISR 集合是 AR 集合的一个子集。 AR 分区中的所有副本统称为 AR (Assigned Replicas) OSR 阅读全文