kafka分片

(未完待续)浅谈微服务以及 常用中间件( zookeeper redis rabbitmq) 传统的单体框架,已经不满足目前公司战略规划要求,近几年“微服务“ 这个字眼,出现的越来越频繁,虽然有过一年多微服务项目经验,也很难把微服务解释清楚,到底何为微服务? 哈哈哈,好正经的开头,Martin Fowler曾在其blog上发表了”Microservices“的文章,正式提出了微服务架构,对于微服务的解释,他的定义为:微服务架构是一种架构模式,他 提倡将单一应用程序,划分为一个个独立的服务,服务之间相互协调,相互配合,为用户提供最终价值。 来一张图,感受一下微服务的魅力~ 将传统一个独... 阅读详情

1.kafka中topic的概念

在kafka中,topic只是存储消息的一个逻辑的概念,他并没有实际的文件存在磁盘上,可以认为是某一类型的消息的集合。所有发送到kafka上的消息都一个类型,这个类型就是他的topic。在物理上来说,不同的topic的消息是分开存储的。同时,一个topic可以有多个producer和多个consumer。
在这里插入图片描述

2.kafka中partition的概念

每个topic下面可以有多个分区,每一个topic至少会有一个partition,相同的topic下面,不同的partition他的消息内容是不一样的。每一个消息在被分配到partition都会有一个offset(偏移量),表示当前消息的位置,所有的消息都是追加到partition后面的。每个分区partition的offset都是从0开始的,每个partition的消息都是由顺序的,不同的partition的消息的顺序是不保证有序的。
在这里插入图片描述
每一消息发送broker之后,broker会根据partition的规则分配到不同的partition里面。

3.kafka中topic和partition的存储

(1)我们创建一个有三个分区的topic先,创建语句如下:
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic quanTest
在这里插入图片描述
(2)partition是以文件的形式存储在文件系统里面的。

4.消息的分发到partition的原理

1.首先消息是我们kafka最基本的数据单元,每一个消息都是由key–>value组成的,在发送消息时,我们可以指定key,我们的生产者producer会根据key和partition的规则来确认这一个消息应该分发到哪一个partition里面。

2.我们消息分发到partition的默认的规则:当我们的key不为空的时候,我们的分区数为key的哈希值取模运算值。当我们的key为空的时候,他会随机发送,但是这个随机数是在这个参数”metadata.max.age.ms”的时间范围内随机选择一个,这个metadata.max.age.ms的值每十分钟会刷新一次。

3.当然,我们也可以自己定义消息分发到partition的规则
实验代码:
public class MyPartition implements Partitioner {

/**
 *自定义分配分区
 * @param s
 * @param o
 * @param bytes
 * @param o1
 * @param bytes1
 * @param cluster
 * @return
 */
public int partition(String s, Object o, byte[] bytes, Object o1, byte[] bytes1, Cluster cluster) {
    if (o == null) {
        return 0;
    } else {
        return 1;
    }
}

public void close() {

}

public void configure(Map<String, ?> map) {

}
}

配置设置那里指定使用自己定义的分区策略:(有趣的事情:就是指定过分发策略后,就算取消的指定策略,还是按照原来的策略来分发数据)
public class KafkaDemoProducer extends Thread {

/**
 * 生产者
 */
private KafkaProducer<Integer, String> producer;

private String topic;
/**
 * 构造方法
 */
public KafkaDemoProducer(String topic, Boolean isAysnc) {
    //配置kafka信息
    Properties properties = new Properties();
    //kafka集群,多台机器用逗号隔开
    properties.setProperty(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "127.0.0.1:9092");
    //配置clienId
    properties.setProperty(ProducerConfig.CLIENT_ID_CONFIG, "kafkaDemoProducer");
    //设置ack为-1,0:不用等待确认,1:等地leader确认,-1:全部确认(最安全)
    properties.setProperty(ProducerConfig.ACKS_CONFIG, "-1");
    //key序列化类配置(根据你的泛型而定)
    properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
            "org.apache.kafka.common.serialization.IntegerSerializer");
    //value序列化类配置(根据你的泛型而定)
    properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
            "org.apache.kafka.common.serialization.StringSerializer");
    //可以自定义指定数据分配到分区的celue
    properties.put("partitioner.class", "com.kafka.MyPartition");
    //根据配置文件,创建kafka
    producer = new KafkaProducer<Integer, String>(properties);
    this.topic = topic;
    this.isAysnc = isAysnc;
}
}

结果:
在这里插入图片描述

4.消费端也可以指定消费某一个分区
public class KafkaDemoConsumer extends Thread {

private KafkaConsumer<Integer, String> kafkaConsumer;

public KafkaDemoConsumer(String topic) {
    Properties properties = new Properties();
    //kafka服务器集群
    properties.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,
            "127.0.0.1:9092");
    //配置kafka的分组ID
    properties.put(ConsumerConfig.GROUP_ID_CONFIG, "KafkaConsumerDemo");
    //配置是否自动提交
    properties.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, "false");
    //配置自动提交时间
    properties.put(ConsumerConfig.AUTO_COMMIT_INTERVAL_MS_CONFIG, "1000");
    //配置key的序列化类型
    properties.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG,
            "org.apache.kafka.common.serialization.IntegerDeserializer");
    //配置value的序列化类型
    properties.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,
            "org.apache.kafka.common.serialization.StringDeserializer");
    //配置新加入的消费组从哪里开始消费
    properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");

    kafkaConsumer = new KafkaConsumer(properties);

    //消费指定的分区
    TopicPartition topicPartition = new TopicPartition(topic, 0);
    kafkaConsumer.assign(Arrays.asList(topicPartition));
}
}

实验结果:
在这里插入图片描述

5.消息的消费原理

1.简要说明:在真实的生产环境中,我们都是有多个partition的,使用多个partition的好处在于能有效的对broker上面的数据进行分片,减少io性能问题。同时为了提高消费能力,我们会有多个consumer对数据进行消费。在多个consumer,多个partition的消费策略有时什么?我们有分组group的概念,我们知道相同topic下的同一个partition只能被一个consumer消费。组内的所有consumer订阅这个topic下的所有的消息。
在这里插入图片描述
实验:创建一个三个分区的topic,使用三个consumer,会发现三个consumer会消费不同的partition
实验结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.对于consumer消费端而言他的分区分配策略是:
(1)默认是范围分区:Range:他会先对所有的分区按照序号进行排序,所有的consumer按字母进行排序,然后将partitions的个数除于消费者线程的总数来决定每个消费者线程消费几个分区。如果除不尽,那么前面几个消费者线程将会多消费一个分区。弊端是:当有多个topic是这样的情况的时候,会出现某一个consumer的压力会很大。
在这里插入图片描述
(2)第二种就是轮询分区策略(RoundRobin strategy)
轮询分区策略就是先把所有的partition和所有的consumer都列出来,然后进行hashCode,根据hash值排序,然后根据轮询算法,把partition分配给consumer消费。如果所有consumer实例的订阅是相同的,那么partition会均匀分布。
在这里插入图片描述
使用轮询分区策略必须满足两个条件
(1)每个主题的消费者实例具有相同数量的流
(2) 每个消费者订阅的主题必须是相同的

3.partition与partition的数量关系:
(1)消费者数量多于partition的数量的时候,会有消费者消费不到数据的情况
(2)消费者数量少于partition的数量的时候,会有消费者消费多个partition
(3)一般partition是consumer的整数倍

6.kafka consumer的rebalance机制

简要的说明:kafka consumer的rebalance机制规定了同一个group下的consumer如何达成一致来消费订阅各个分区的消息,具体的策略是范围策略,或者轮询策略。
1.什么时候会触发kafka consumer的rebalance
(1) 同一个consumer group内新增了消费者
(2)消费者离开当前所属的consumer group,比如主动停机或者宕机
(3)topic新增或者减少了分区

2.如何管理rebalance,以及整个过程是怎么样的?
(1)首先我们会确定的一个coordinate角色,当启动第一个consumer的时候我们就会确定为coordinate,之后所有的consumer都会与这个coordinate保持通信。而我们的coordinate就是对consumer group进行管理。

(2)如何确定coordinate:
消费者向kafka集群中的任意一个broker发送一个GroupCoordinatorRequest请求,服务端会返回一个负载最小的broker节点的id,并将该broker设置为coordinator

(3)接着,我们会进行第一阶段joinGroup(选举leader)的过程:所有的消费者都会向consumer发送joinGroup的请求,当所有的consumer都发送了请求之后,我们的coordinate就会在选举出一个consumer来作为leader,而且会把订阅消息,组成员信息反馈回去。

在这里插入图片描述
简要的文字说明:所有的consumer都来了的时候,coordinate会选出一个leader

(4)接着再继续,我们会进入第二阶段Synchronizing Group State(同步leader的分区分配方案),这个过程简单来说就是leader把分区分配方案发送给coordinate,然后,coordinate再把这个分区发送给各个consumer。
在这里插入图片描述
简要说明:第二阶段就是把leader的分区分配方案,发送到coordinate,然后通过coordinate同步到组内的所有的consumer

7.offset

(1)什么是offset:每一个消息进入partition的时候,他都会有一个偏移量,就是offset,他代表这个消息在这个partition上面的位置,他只保证在同一个partition上面是有顺序的。
在这里插入图片描述

(2)我们是如何确保同一个分组consumer不会去重复消费同一个消息?
我们通过一个叫consumer_offset_*的topic来保存已经消费的各个组的信息,commit之后,他就会保存在对应的consumer_offset分区里面,consumer_offset默认有50个分区,具体是落在哪一个分区使用过:Math.abs(“groupid”.hashCode())%50来计算得到的。
在这里插入图片描述

消息的存储

(1)我们的kafka的消息都是日志消息(log),他不是直接存放在磁盘上面的,而是存放在对应的topic_partitionNum目录下面

(2)在多个broker和多个partition,他是这样分配的:
在这里插入图片描述
总结:他就是partition按照broker顺序一个一个轮着来分配下去

(3)我们写入的方式是顺序写入

消息的性能问题

(1)我们的kafka是零拷贝的。他大概的过程是磁盘上的数据,读到内存里面,内存里面的数据再通过socket发送到消费者
传统的过程:
在这里插入图片描述
传统过程设计到了多次的数据复制。
通过“零拷贝”技术,可以去掉这些没必要的数据复制操作,同时也会减少上下文切换次数
在这里插入图片描述
只需要一次拷贝就行,允许操作系统将数据直接从页缓存发送到网络上

kafka分片扩展迁移 kafka正常工作时会保留大量的数据文件,因此,在进行partitions迁移之前,先修改${KAFKA_HOME}/config/server.properties文件中的 log.retention.hours属性值,建议设置为1,具体值视具体情况而定。然后重启kafka集群,运行一段时间后 kafka保留的数据文件便会有效降低。 创建一个json文件(如topics-to-move.json),定义需要改变的topic,如下所示: {"topics": [{"topic": "jn.. 阅读详情

相关推荐

大数据Kafka(七):Kafka的分片和副本机制

主要解决了单台服务器存储容量有限的问题 当数据量非常大的时候,一个服务器存放不了,就将数据分成两个或者多个部分,存放在多台服务器上。每个服 务器上的数据,叫做一个分片

Lansonli(蓝深李)的博客 3358

Kafka 原理以及分区分配策略剖析

一、简介 Apache Kafka 是一个分布式的流处理平台(分布式的基于发布/订阅模式的消息队列【Message Queue】)。 流处理平台有以下3个特性: 可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。 可以储存流式的记录,并且有较好的容错性。 可以在流式记录产生时就进行处理。 1.1 消息队列的两种模式 1.1.1 点对点模式 生产者将消息发送到queue中,然后消费者从queue中取出并且消费消息。消息被消费以后,queue中不再存储.

Java搜索工程技术栈 2659

kafka2.7.2 给某个主题增加分片

kafka2.7.2 给某个主题增加分片

qq690452074的专栏 74

kafka的分片和副本机制

一、分片机制 kafka的分片,是为了解决单台服务器容量有限问题。当数据量比较大时,一台服务器放不下,将数据分成多个片,存储在多个服务器上。每个服务器上的数据叫做一个片。 问题:分片后,数据存储在哪个片区怎么确定? 二、副本机制 Kafka的副本机制,解决存储数据的高可用问题,一台服务器上存储数据,有丢失的风险。多拷贝几份数据到不同的服务器,可以达到容灾、容错的目的。 总结 ...

jdk819的博客 2028

数据存储优化:Kafka+MongoDB分片,爬虫异步写入速度达3000条/秒

本文通过Kafka+MongoDB分片的架构,实现了爬虫数据的异步写入,将写入速度提升至3000条/秒以上。解耦:Kafka作为消息队列,将爬虫的生产与存储的消费解耦,避免同步阻塞;并行:Kafka的分区机制和MongoDB的分片机制,实现了数据的并行生产、消费和写入;批量:批量发送、批量消费、批量插入,减少IO次数,提升整体性能。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 562

基于MediaPipe的智能俯卧撑计数与姿势矫正系统

在现代健身和体能训练中,俯卧撑是最基础也是最有效的自重训练动作之一。然而,许多人在进行俯卧撑训练时常常存在姿势不正确、计数不准确等问题。本文将介绍如何利用计算机视觉和姿态估计技术,开发一个智能的俯卧撑计数与姿势矫正系统。

qq_36224726的博客 917

一文搞懂 Apache RocketMQ 消费者关键配置,优化消息消费!

默认0,拉消息间隔,由于是长轮询,所以为0,但若应用为流控,也可设置大于0的值,单位毫秒。默认10,消费线程池数量/默认20, 消费线程数量。默认2000, 单队列并行消费允许的最大跨度。消息进度存储,存储实际的偏移量,两种实现。默认1000,拉消息本地队列缓存消息最大数。默认32, 批量拉消息,一次最多拉多少条。默认1,批量消费,一次消费多少条消息。

JavaEdge全是干货的技术号 2992

UE5高斯泼溅落地全链路:从PLY导入到实时渲染的工程实践

3D高斯泼溅(3D Gaussian Splatting)正从NeRF后处理技术演进为新一代隐式几何渲染范式,其核心在于以可微椭球体替代传统三角面片,通过协方差矩阵与球谐系数实现高质量体素化渲染。该技术突破点云精度瓶颈,但与UE5现有资产管线存在根本性不兼容——静态网格导入器无法解析scale/rot/sh系数等非标顶点语义,标准光栅化管线亦无法执行高斯核采样计算。XV3DGS-UEPlugin通过自定义资产类型、StructuredBuffer GPU数据流与专用材质节点,将高斯泼溅重构为可编辑、可LOD

weixin_33692177的博客 360

Kafka分区

一、分区的概念规则 1、每个topic(逻辑名称)由一个或多个分区组成,分区是topic物理上的分组,在创建topic时被指定 2、一个partition只对应一个Broke,一个Broke可以管理多个partition 3、由消息在顺序写入,在同一个分区内的消息是有序的,在不同的分区间,kafka并不保证消息的顺序(所以kafka消息是支持跨分区的) 3.1 同一个主题下,不同分区所包含的内容是不同的,每个消息被添加到分区当中时,会被 分配一个偏移量(Offset),它是消息在分区当中的唯一编号,kafk

m0_52831800的博客 6414

UMD与KMD的协同交响曲:揭秘图形渲染背后的驱动架构设计

本文深入解析了图形渲染中用户态驱动(UMD)与内核态驱动(KMD)的协同架构设计,揭秘了从API调用到像素渲染的完整流水线。通过分析UMD的API转换、着色器编译等核心职责,以及KMD的内存管理、任务调度等关键功能,帮助开发者优化图形应用性能,提升渲染效率。

cc789的博客 724

BLDC&PMSM电机控制器硬件设计工程(八)72V 10kW电机控制器原理图工程及库文件

电机控制器基本需求:接口类型;MCU平台;通信接口;供电;信号采集;信号输出;功率;EMC或者认证需求。

小幽余生不加糖 376

深入解析 Kafka Broker 如何管理分片与副本

Broker 作为 Kafka 集群的基本服务单元,负责管理分片和副本的存储、同步、故障恢复等关键任务。本文将深入探讨 Kafka Broker 如何管理分片和副本,以及其背后的机制。理解 Broker 如何管理分片和副本,有助于优化 Kafka 集群配置,提高稳定性和性能。:表示所有 ISR 副本都已确认的消息偏移量(消费者只能读到 HW 之前的消息)。Apache Kafka 是一个高性能、分布式的消息系统,其核心设计依赖于。副本分布在不同的 Broker 上,以提高容错能力。(Leader 选举)

weixin_43680337的博客 716

FakeNewsGPT4:通过知识增强的大规模视觉语言模型推进多模态假新闻检测

当前,多模态假新闻的大量涌现导致了显著的分布差异,这一现状亟需我们开发具备广泛适用性的检测器。然而,现有假新闻检测器因特定领域内的训练方式,难以有效获取开放世界中的事实信息。这种训练的封闭性限制了传统检测器的能力,特别是在面对跨域假新闻时,其表现往往不尽如人意。具体而言,开放世界中的假新闻在两个方面具有显著的分布差异:一方面,其操纵内容多种多样,新闻的任一部分都可能受到创意策略的操控;另一方面,真实背景复杂多变,不同地区的新闻背景和主题焦点存在显著差异。

qq_52053775的博客 824

Kafka 控制器单线程:如何通过事件分片支撑百万级节点扩张

Kafka控制器通过精巧的事件分片设计,在保持单线程简洁性的同时实现百万级节点扩展。分而治之的事件路由分层协同的状态管理局部性优化的通信机制简单性不是性能的反义词,而是可扩展性的基石。随着KIP-500的推进,该模式将持续支撑下一代去ZooKeeper架构的演进。Kafka控制器通过精巧的事件分片设计,在保持单线程简洁性的同时实现百万级节点扩展。分而治之的事件路由分层协同的状态管理局部性优化的通信机制简单性不是性能的反义词,而是可扩展性的基石。

afadssaxasx的博客 2060

Oracle EBS Interface/API(42) -AP发票客制化付款申请

背景 在OA系统上,选择Oracle EBS的某张AP发票做付款申请,需要类似于锁定该发票以便付款,其他用户或者下次用户不能再次选择该发票做付款申请。 快速参考 参考点 内容 功能导航 N: AP->Invoices->Entry>Invoices 并发请求 None 基表 AP.AP_INV_SELECTION_CRITERIA_ALLAP.AP_SELECTED_INVOICES_ALL API 参考下面介绍 错误信息表 None 接口Form

陈显平的专栏-Oracle EBS 1200

MuJoCo Playground 机器人强化学习入门教程(一)

MuJoCo Playground 包含 DM 控制套件、机器人运动和机器人操作环境。env每个环境还与一个环境配置相关联,如果需要,可以覆盖该配置。env_cfg请注意,环境配置包含 sim_dt 和 ctrl_dt。ctrl_dt 决定每个 env.step 的时间间隔。因此,每个 env.step 的模拟步长为 ctrl_dt / sim_dt 倍。其他值得注意的参数还有 vision_config,我们将在基于视觉的笔记本中详细讨论!现在,我们将专注于特权观察。

2506_90492529的博客 4619

Kafka学习-----文件存储机制和分片索引

目录一.Kafka工作流程1.整体架构2.需要注意⚠️:二.分片索引机制示例:如何找到对应offset的Message消息呢三.总结 一.Kafka工作流程 1.整体架构 消息交互两方分别是生产者Producer和消费者Consumer,Kafka集群Cluster中,有三个broker,类似于三个实例。其中针对同一个Topic A有三个不同分区Partition,每个都有自己的follower(备份用)。 2.需要注意⚠️: Kafka 中消息是以 topic 进行分类的,生产者生产消息,消费者消费消

atomatom98的博客 759

(02)Cartographer源码无死角解析-(81) ROS栅格地图→服务接收子图、cairo图像绘详解、OccupancyGrid地图发布

疑问1疑问1src/cartographer/cartographer/mapping/2d/probability_grid.cc 文件中的 ProbabilityGrid::DrawToSubmapTexture 函数的 proto::SubmapQuery::Response::SubmapTexture* 示例对象 texture 中texture->mutable_slice_pose() 的含义具体是什么。

江南才尽江南山,年少无知年少狂! 1930

Kafka分区与大数据分片:高吞吐量架构设计

在当今的大数据时代,数据的产生和处理量呈爆炸式增长。企业和组织需要高效的架构来处理这些海量数据,以满足实时分析、监控等业务需求。Kafka作为一个高性能的分布式消息队列系统,以及大数据分片中的相关技术,为构建高吞吐量架构提供了强大的支持。本文的目的是深入剖析Kafka分区和大数据分片的原理、机制,以及如何利用它们来设计高吞吐量的架构。范围涵盖了从核心概念的解释到实际项目的应用,包括算法原理、数学模型、代码实现等方面。本文将按照以下结构进行组织:首先介绍相关背景知识,包括目的、读者和文档结构等;

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 665

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【博学谷学习记录】超强总结,用心分享|Kafka的Java API 与Kafka的分片、副本机制

- 代码库 -- >< / build>分片: 逻辑概念相当于将一个Topic(大容器) 拆分为N多个小容器 , 多个小的容器构建为一个Topic目的:1- 提高读写的效率: 分片可以分布在不同节点上 , 在进行读写的时候 , 可以让多个节点一起参与(提高并行度) 2- 分布式存储: 解决了单台节点存储容量有限的问题分片的数量:分片是可以创建N多个 , 理论上没有任何的限制副本: 物理的概念。

Sweet~~~ 382

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

kafka某个topic的单个分片为什么只能被一个消费者组内一个消费者消费?

kafka某个topic的单个分片为什么只能被一个消费者组内一个消费者消费?一、概要二、知识储备二、问题分析1. 分片为什么只能被一个组内消费者消费 一、概要 很多文章只阐述了kafka的分片与消费者组内的消费者为 多对一的关系,并没有说清楚为什么一个分片为什么只能被组内一个消费者消费者,这里讲讲我对这个问题的理解。 二、知识储备 当kafka的topic被消费者组订阅时,那么kafka与组内的消费者之间应该构成点对点模式 当kafka的topic多个消费组订阅时,那么kafka与不同组的消费者之间构

weixin_43979411的博客 1232

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Kafka分片损坏处理

kafka分片损坏处理方法

ice_bird的专栏 834

Kafka 查找某个消息内容在分片中的 offset

在使用kafka遇到需要回滚重新消费消息的时候,我们需要定位某个消息在某个分片中的offset,然后从那个offset重新消费消息。 首先,需要找出需要回滚到的消息的位置offset 第一步,把分片中的消息先导入到文本文件里: 比如:我把mytopic分片1的所有消息,先导入到文本文件里,注意这里需要加 --from-beginning /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.2.201:9

潘广宇的博客 2417

java nio 对消息分片_分布式系统基础-消息队列之Kafka

相对于前面所说的那些MQ前辈们,Kafka可谓是不走寻常路的“天才少年”。与久负盛名的前辈们不同,Kafka从一开始就是走“互联网的野路子”,它抛弃了很多华而不实的企业级特性,专注于高性能与大规模这两个互联网应用的核心需求,并全面采用了新一代的分布式架构 的设计理念,从基因和技术两方面拉开了与前辈们的距离。我们先来看看Kafka的一些激动人心的特性。高吞吐量、低延迟:Kafka每秒可以处理几十万条...

weixin_28829903的博客 290

kafka 副本和分片

kafka1_1.1.101.61: -bash-4.1$ find . -name "*ProxyGather*" ./kafka-logs-3/NewProxyGatherNoCore-0 ./kafka-logs-3/ProxyGatherCompleted-1 ./kafka-logs-3/NewProxyGatherCompleted-2 ./kafka-logs-3/ProxyGather-1 ./kafka-logs-2/ProxyGatherCompleted-0 ./kafka-lo

zhaoyangjian724的专栏 606
上一篇: kafka代码学习
下一篇: kafka搭建
Computer_hello
博客等级 码龄10年 2粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值