博客专栏推荐
-
1177338次
-
122015次
-
56769次
-
29259次
本月博客排行
年度博客排行
-
第1名
青否云后端云 -
第2名
zw7534313 -
第3名
大家都说我很棒 - liyihz2008
- wy_19921005
- hbxflihua
- 腾讯优测1
- e_e
- ning2-eye
- wallimn
- dbagirl
- gengyun12
- luxurioust
- zysnba
- itdatacenter
- alsmile
- robotmen
- xiangjie88
- johnsmith9th
- gaozzsoft
- jywhltj
- fantaxy025025
- zhangdaiscott
- chinahuyong
- 淡看人生
- leslie26
- sichunli_030
- cuityang
- kaizi1992
- jveqi
- mukeliang728
- cpongo1
- hellohank
- zlr
- weiyides
- hanbaohong
- appalese
- jickcai
- zhaoshijie
- lzyfn123
- jackpot1234
- qepwqnp
- ranbuijj
- 解宜然
- lyongq04
- xpenxpen
- ssydxa219
- gdpglc
- java-007
最新文章列表
1、kafka中一个topic可以有多个分区(vs rocketmq的队列),每个分区存储不同的消息。
2、为了数据可靠,一个分区可以多个副本,其中的一个副本为主副本。
3、topic的副本个数不能大于broker个数。
4、topic的分区数量无限制,分区是并行处理的最小单元,理论上分区数越大,kafka并行处理的能力越强;实际上分区越多,
4.1 每个分区为一个 ...
有668人浏览
2021-12-07 21:10
这篇文章是 kafka exactly-once 实现系列的第二篇,主要讲述 kafka 事务性的实现,这部分的实现要比幂等性的实现复杂一些,幂等性实现是事务性实现的基础,幂等性提供了单会话单 partition exactly-once 语义的实现,正是因为 idempotent producer 不提供跨多个 partition 和跨会话场景下的保证,因此,我们是需要一种更强的事务保证,能够原 ...
有373人浏览
2020-09-14 12:03
apache kafka 从 0.11.0 开始,支持了一个非常大的 feature,就是对事务性的支持,在 kafka 中关于事务性,是有三种层面上的含义:一是幂等性的支持;二是事务性的支持;三是 kafka streams 的 exactly once 的实现,关于 kafka 事务性系列的文章我们只重点关注前两种层面上的事务性,与 kafka streams 相关的内容暂时不做讨论。社区从开 ...
有416人浏览
2020-09-14 11:48
我不记得有多少人问过以下这个问题了:
我觉得这个问题问得很频繁,而且非常经典,在这里我就以 kafka 为例子,说说我对 kafka 顺序消息的一些理解吧,如有理解不对的地方麻烦留言指点一下。
通常我们在说顺序消费指的是生产者按照顺序发送,消费者按照顺序进行消费,听起来简单,但做起来却非常困难。
我们都知道无论是 kafka 还是 rocketmq,每个主题下面都有若干分区(rocket ...
前言
kafka 作为一个高吞吐量的消息队列,它的很多设计都体现了这一点。比如它的客户端,无论是 producer 还是 consumer ,都会内置一个缓存用来存储消息。这样类似于我们写文件时,并不会一次只写一个字节,而是先写到一个缓存里,然后等缓存满了,才会将缓存里的数据写入到磁盘。这种缓存机制可以有效的提高吞吐量,本篇文章介绍缓存在 kafka 客户端的实现原理。
producer 缓存 ...
有281人浏览
2020-05-06 09:41
apache kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 scala 与 java 语言编写,能够将消息从一个端点传递到另一个端点。较之传统的消息中间件(例如 activemq、rabbitmq),kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息处理应用程序。
kafka 凯发k8国际娱乐官网入口官网:http://kafka.a ...
有305人浏览
2020-04-21 13:54
producer 的工作逻辑:
启动 producer 的线程将待发送消息封装成 producerrecord. 然后将其序列化发送给 partitioner, 再由后者确定了目标分区后一同发送给位于 producer 程序中的一块内存缓冲区. 而 producer 的另一个线程负责实时从缓冲区中提取出来准备就绪的消息封装成一个批次,发送给对应的 broker.
public class s ...
有492人浏览
2020-02-26 20:15
1.系统选择
linux 系统优于 windows 系统. 因为 linux 采用的是 epoll 模型,而 window 一般采用的是轮询方式,并且 linux 有 sendfile,传输效率高
2.磁盘规划
(1)普通的机械盘就能满足kafka的存储要求,因为 kafka使用的是顺序 i/o,它的速度比较快,但是 ssd 更好.
(2)jbod 性价比优于 raid.
3.磁盘容量规划需要考 ...
有424人浏览
2020-02-23 21:43
本章内容是如何规划 kafka 服务器的相关内容.
1.操作系统选型
linux 效率优于 windows. 因为 i/o 模型和网络传输效率(sendfile).
2.磁盘规划
1.性价比 jbid 优于 raid
2.使用机械盘完全可以满足 kafka 集群的使用,ssd 更好.
3.磁盘容量规划
1.新增消息数
2.消息留存时间
3.平均消息大小
4.副本数
5.是否启用压缩
4 ...
有368人浏览
2020-02-18 22:41
kafka 设计之初是为了解决 linkedin 公司数据管道(datapipe)问题.
kafkaproducer 的工作逻辑:将消息封装成 producerrecord 对象,然后使用kafkaproducer.send 将消息发送出去. 事实上,其拿到消息后会通过序列化,根据本地缓存的元数据,确定目标分区,最后写入缓冲区. kafkaproducer 专门有一个 selector ...
有454人浏览
2020-02-10 22:25
kafka 的核心功能是高性能的消息发送和高性能的消息消费.
在设计一个消息引擎系统的时候需要考虑两件事:
1.消息设计:消息必须是语义清晰的,且格式应当具备通用性.
2.传输协议设计:消息要能够在不同的系统间传输.
3.消息引擎范型:比如消息队列,发布/订阅.
消息队列模式:消息被一个生产者生产出来,放到消息队列中,消费者从指定位置消费消息,一旦消息消费完成,则从队列中移除该消息,所以,生 ...
有428人浏览
2020-02-09 16:18
kafka streams
初识流式处理
什么是数据流
数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加入进来。数据流除了无边界还有以下特性:
数据流是有序的。事件的发生总是有先后顺序的,如先下单再发货
有371人浏览
2019-10-17 19:23
1.问题
batch.size和linger.ms是对kafka producer性能影响比较大的两个参数。batch.size是producer批量发送的基本单位,默认是16384bytes,即16kb;lingger.ms是sender线程在检查batch是否ready时候,判断有没有过期的参数,默认大小是0ms。
那么producer是按照batch.size大小批量发送消息呢, ...
有1990人浏览
2019-07-25 20:12
« 上一页 1 …