最新文章列表

kafka之分区与副本

1、kafka中一个topic可以有多个分区(vs rocketmq的队列),每个分区存储不同的消息。   2、为了数据可靠,一个分区可以多个副本,其中的一个副本为主副本。   3、topic的副本个数不能大于broker个数。   4、topic的分区数量无限制,分区是并行处理的最小单元,理论上分区数越大,kafka并行处理的能力越强;实际上分区越多,    4.1 每个分区为一个 ...
passion99 评论(0) 有812人浏览 2021-12-07 21:10

Kafka Exactly-Once 之事务性实现

这篇文章是 Kafka Exactly-Once 实现系列的第二篇,主要讲述 Kafka 事务性的实现,这部分的实现要比幂等性的实现复杂一些,幂等性实现是事务性实现的基础,幂等性提供了单会话单 Partition Exactly-Once 语义的实现,正是因为 Idempotent Producer 不提供跨多个 Partition 和跨会话场景下的保证,因此,我们是需要一种更强的事务保证,能够原 ...
yuqingshui 评论(0) 有510人浏览 2020-09-14 12:03

Kafka 事务性之幂等性实现

Apache Kafka 从 0.11.0 开始,支持了一个非常大的 feature,就是对事务性的支持,在 Kafka 中关于事务性,是有三种层面上的含义:一是幂等性的支持;二是事务性的支持;三是 Kafka Streams 的 exactly once 的实现,关于 Kafka 事务性系列的文章我们只重点关注前两种层面上的事务性,与 Kafka Streams 相关的内容暂时不做讨论。社区从开 ...
yuqingshui 评论(0) 有563人浏览 2020-09-14 11:48

【赵强老师】Kafka的持久化

一、Kafka持久化概述 Kakfa 依赖文件系统来存储和缓存消息。对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上 ...
collen7788 评论(0) 有449人浏览 2020-06-22 18:27

深度剖析 Kafka/RocketMQ 顺序消息的一些坑

我不记得有多少人问过以下这个问题了: 我觉得这个问题问得很频繁,而且非常经典,在这里我就以 Kafka 为例子,说说我对 Kafka 顺序消息的一些理解吧,如有理解不对的地方麻烦留言指点一下。 通常我们在说顺序消费指的是生产者按照顺序发送,消费者按照顺序进行消费,听起来简单,但做起来却非常困难。 我们都知道无论是 Kafka 还是 RocketMQ,每个主题下面都有若干分区(Rocket ...
springcloud关注者 评论(0) 有556人浏览 2020-06-04 09:39

【赵强老师】Kafka的体系架构

一、什么是Kafka? 数据工程中最具挑战性的部分之一是如何从不同点收集和传输大量数据到分布式系统进行处理和分析。需要通过消息队列正确地分离大量数据,因为如果一部分数据无法传送,则可以在系统恢复时传输和分析其他数据。有两种消息排队,对于上述目的,它们都是可靠的和异步的。点对点(Point to point)和发布者——订阅者(publisher-subscriber)。下图展示了一个典型的 ...
collen7788 评论(0) 有403人浏览 2020-05-25 10:19

Kafka 客户端的缓存管理

前言 Kafka 作为一个高吞吐量的消息队列,它的很多设计都体现了这一点。比如它的客户端,无论是 Producer 还是 Consumer ,都会内置一个缓存用来存储消息。这样类似于我们写文件时,并不会一次只写一个字节,而是先写到一个缓存里,然后等缓存满了,才会将缓存里的数据写入到磁盘。这种缓存机制可以有效的提高吞吐量,本篇文章介绍缓存在 Kafka 客户端的实现原理。 Producer 缓存 ...
yuqingshui 评论(0) 有386人浏览 2020-05-06 09:41

精讲Kafka

Apache Kafka 是一个快速、可扩展的、高吞吐的、可容错的分布式“发布-订阅”消息系统, 使用 Scala 与 Java 语言编写,能够将消息从一个端点传递到另一个端点。较之传统的消息中间件(例如 ActiveMQ、RabbitMQ),Kafka 具有高吞吐量、内置分区、支持消息副本和高容错的特性,非常适合大规模消息处理应用程序。   Kafka 官网:http://kafka.a ...
aoyouzi 评论(0) 有403人浏览 2020-04-21 13:54

Kafka producer 端的工作逻辑及样例

producer 的工作逻辑: 启动 producer 的线程将待发送消息封装成 ProducerRecord. 然后将其序列化发送给 partitioner, 再由后者确定了目标分区后一同发送给位于 producer 程序中的一块内存缓冲区. 而 producer 的另一个线程负责实时从缓冲区中提取出来准备就绪的消息封装成一个批次,发送给对应的 broker. public class S ...
一剪梅 评论(0) 有601人浏览 2020-02-26 20:15

Kafka线上环境配置选择

1.系统选择 linux 系统优于 windows 系统. 因为 linux 采用的是 epoll 模型,而 window 一般采用的是轮询方式,并且 linux 有 sendfile,传输效率高 2.磁盘规划 (1)普通的机械盘就能满足kafka的存储要求,因为 kafka使用的是顺序 I/O,它的速度比较快,但是 SSD 更好. (2)JBOD 性价比优于 RAID. 3.磁盘容量规划需要考 ...
一剪梅 评论(0) 有535人浏览 2020-02-23 21:43

Kafka线上环境部署

本章内容是如何规划 Kafka 服务器的相关内容. 1.操作系统选型 linux 效率优于 windows. 因为 I/O 模型和网络传输效率(sendfile). 2.磁盘规划 1.性价比 JBID 优于 RAID 2.使用机械盘完全可以满足 Kafka 集群的使用,SSD 更好. 3.磁盘容量规划 1.新增消息数 2.消息留存时间 3.平均消息大小 4.副本数 5.是否启用压缩 4 ...
一剪梅 评论(0) 有486人浏览 2020-02-18 22:41

Kafka原理简易说明

Kafka原理简易说明 kafka是消息队列。 它是队列,传递消息(信息)用的。 它可以用在系统整合、解耦、消峰等场合。   1、最简单的逻辑流程
toplchx 评论(0) 有484人浏览 2020-02-11 23:09

Kafka集群安装

Kafka集群安装 kafka是一种消息队列。用于大规模的在系统间传递消息。详细介绍参见官网: https://kafka.apache.org/intro 本例中我们使用kafka版本是2.3.1,用Scala2.12编译的版本。 环境配置使用《Hadoop及Yarn的HA集群安装》中的三台服务器的硬件环境,软件要求提前安装zookeeper。 1、下载安装包 在node01中获取安装 ...
toplchx 评论(0) 有408人浏览 2020-02-11 22:53

Kafka发展史

Kafka 设计之初是为了解决 Linkedin 公司数据管道(datapipe)问题. KafkaProducer 的工作逻辑:将消息封装成 ProducerRecord 对象,然后使用KafkaProducer.send 将消息发送出去. 事实上,其拿到消息后会通过序列化,根据本地缓存的元数据,确定目标分区,最后写入缓冲区. KafkaProducer 专门有一个 Selector ...
一剪梅 评论(0) 有554人浏览 2020-02-10 22:25

Kafka是什么

Kafka 的核心功能是高性能的消息发送和高性能的消息消费. 在设计一个消息引擎系统的时候需要考虑两件事: 1.消息设计:消息必须是语义清晰的,且格式应当具备通用性. 2.传输协议设计:消息要能够在不同的系统间传输. 3.消息引擎范型:比如消息队列,发布/订阅. 消息队列模式:消息被一个生产者生产出来,放到消息队列中,消费者从指定位置消费消息,一旦消息消费完成,则从队列中移除该消息,所以,生 ...
一剪梅 评论(0) 有516人浏览 2020-02-09 16:18

Kafka流式处理

Kafka Streams 初识流式处理 什么是数据流 数据流(也叫事件流)是无边界数据集的抽象表示。无边界意味着无限和持续增长。无边界数据集之所以是无限的,是因为随着时间的推移,新记录会不断加入进来。数据流除了无边界还有以下特性: 数据流是有序的。事件的发生总是有先后顺序的,如先下单再发货
yuqingshui 评论(0) 有562人浏览 2019-10-17 19:23

Spring Cloud(12)——基于Apache Kafka的Stream实现

基于Apache Kafka的Stream实现 如果你的应用使用了Apache Kafka,你需要把它和Spring Cloud进行整合。需要在应用中添加如下依赖。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cl ...
234390216 评论(0) 有2926人浏览 2019-09-23 23:17

kafka producer的batch.size和linger.ms

  1.问题 batch.size和linger.ms是对kafka producer性能影响比较大的两个参数。batch.size是producer批量发送的基本单位,默认是16384Bytes,即16kB;lingger.ms是sender线程在检查batch是否ready时候,判断有没有过期的参数,默认大小是0ms。 那么producer是按照batch.size大小批量发送消息呢, ...
yuqingshui 评论(0) 有2165人浏览 2019-07-25 20:12

如何使用python编程创建kafka的topic

You can programmatically create topics either using kafka-python or conflu
gaoyaohuachina 评论(0) 有4899人浏览 2019-07-25 19:58

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics