如何解决kafka rebalance导致的暂时性不能消费数据问题

文章目录

    • 背景
    • 思考
    • 答案
      • 排它
      • 故障转移
      • 共享

背景

之前在review同组其它业务的时候,发现竟然把kafka去掉了,问了下原因,有一个单独的服务,我们可以把它称为agent,就是这个服务是动态扩缩容的,会采集一些指标,根据指标在k8s环境动态的scale,然后因为扩缩容会导致kafka 频繁的rebalance,导致线上环境消费数据不平滑,然后就把这个去掉了

思考

这个问题还真让我陷入了思考,其它家公司是如何解决这个问题的,找了下竟然没找到答案, 俗话话,念念不忘,必有回响,让我想起了pulsar这个,竟然解决了这个问题

答案

pulsar有三种消费数据的模式

排它

topic 只能由一个consumer消费
在这里插入图片描述

故障转移

很好理解,po有多个consumer,a是主,b,c,d是standy 的,a挂掉,b,c,d会有一个成为主
在这里插入图片描述

共享

每个分区可以由多个consumer消费
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows CMD命令大全(快速上手)

基础概念 在windows操作系统里进的DOS(即输入 winr CMD 进命令提示符)不是纯DOS,只是为方便某些需求而建立的, 而纯DOS本身就是一种操作系统.(两者的区别:比如你可以在纯DOS下删除你的 windows系统, 但在你所说的"命令提示符"里却不能,因为你不可能"在房子里面…

探索 Linux 系统信息工具:uname

在 Linux 系统中,uname 是一个非常实用的命令行工具,用于获取和打印系统特定的基本信息。本文将通过展示 uname 的用法及输出示例,帮助你更好地理解和掌握这一工具。 uname 命令简介 uname 工具提供了多种选项来显示不同的系统信息。当你在…

使用C++实现一个简单的日志功能

日志对于一些大一些的项目来说,可以在项目运行出现问题时更好的帮助 项目的维护人员快速的定位到问题出现的地方并且知道出现问题的原因, 并且日志也可以帮助程序员很好的进行项目的Debug,那么今天我就来实 现一个C编写的一个简单的日志功能。…

深度学习中常用计算距离的几种算法对比与python实现

前言 距离度量在许多机器学习算法中扮演着至关重要的角色,无论是监督学习还是无监督学习。选择适当的距离度量可以显著影响模型的性能。 在高维数据集中,欧几里得距离可能会受到所谓的“维度诅咒”的影响,因为随着维度的增加,数…

海外媒体软文发稿:谷歌关键词优化细分人群成功案例,突破海外市场!

海外媒体软文发稿:谷歌关键词优化细分人群成功案例,突破海外市场! 引言 在全球化的时代,海外市场对于企业的发展至关重要。而在海外市场中,互联网媒体的作用不可忽视。本篇教程将介绍如何通过谷歌关键词优化细分人群…

Java内存模型简述

Java内存模型,也称JMM,定义了共享内存中多线程程序之间读写数据操作的规范。用于规范内存读写操作。 JMM把内存分为两块: 私有线程的工作区域(工作内存)所有线程的共享区域(主内存) 线程和线程…

Spring设计模式-实战篇之单例模式

实现案例,饿汉式 Double-Check机制 synchronized锁 /*** 以饿汉式为例* 使用Double-Check保证线程安全*/ public class Singleton {// 使用volatile保证多线程同一属性的可见性和指令重排序private static volatile Singleton instance;public static Singleton …

js的变量

一、JavaScript的变量分类。js内存为堆或栈 1、基本数据类型变量 a.number 整型 b.string 字符串类型 c.Boolean 布尔值类型 d.null 空 e.undefined 未定义类型 PS:基本数据类型存放在栈中 2、引用数据类型变量 object 对象 array 数组 function 函数 PS&#xf…

【揭秘C语言】零基础也能懂!一篇文章带你掌握C语言指针核心知识点

C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程…

使用 python 拆分 excel 文件

文章目录 1、安装环境2、脚本 split.sh3、运行脚本 1、安装环境 brew install python3 python3 -m venv my_pandas_venv source my_pandas_venv/bin/activate pip install pandas2、脚本 split.sh #!/bin/bash# 检查 Python3 和 pandas 库是否已安装 if ! command -v python3…

Learn OpenGL 30 SSAO

SSAO 我们已经在前面的基础教程中简单介绍到了这部分内容:环境光照(Ambient Lighting)。环境光照是我们加入场景总体光照中的一个固定光照常量,它被用来模拟光的散射(Scattering)。在现实中,光线会以任意方向散射,它的强度是会一…

OpenCV基础demo

一、读取图像 //图片路径QString appPath = QCoreApplication::applicationDirPath();QString imagePath = appPath + "/sun.png";//读取图像cv::Mat img = cv::imread(imagePath.toStdString()); //IMREAD_GRAYSCALE 灰度图 IMREAD_UNCHANGED 具有透明通道if (img.e…

C++ STL - 优先级队列及其模拟实现

目录 0. 引言 1. priority_queue 介绍 1.1 构造函数 1.2 priority_queue 接口函数使用 1.3 仿函数 1.4 题目练习 2. priority_queue 模拟实现 2.1基本框架: 2.2 默认构造函数 2.3 基本函数 2.4 堆的向上以及向下调整 0. 引言 优先队列 (priority_queu…

【剑指offr--C/C++】JZ22 链表中倒数最后k个结点

一、题目 二、思路及代码 遍历链表并存入vector容器&#xff0c;通过下标取出对应位置元素或者返回空 /*** struct ListNode {* int val;* struct ListNode *next;* ListNode(int x) : val(x), next(nullptr) {}* };*/ #include <cstddef> #include <iterator> #…

【微服务】接口幂等性常用解决方案

一、前言 在微服务开发中&#xff0c;接口幂等性问题是一个常见却容易被忽视的问题&#xff0c;同时对于微服务架构设计来讲&#xff0c;好的幂等性设计方案可以让程序更好的应对一些高并发场景下的数据一致性问题。 二、幂等性介绍 2.1 什么是幂等性 通常我们说的幂等性&…

【Entity Framework】 EF三种开发模式

【Entity Framework】 EF三种开发模式 文章目录 【Entity Framework】 EF三种开发模式一、概述二、DataBase First2.1 DataBase First简介2.2 DataBase First应用步骤2.3 DataBase First总结 三、Model First3.1 Model First简介3.2 Model First实现步骤 四、Code First4.1 Cod…

全市场都忽视了!大摩:数据中心算力成本正在迅速下降

随着AI技术迈入普及与应用的新纪元&#xff0c;其算力需求蓬勃增长的同时&#xff0c;算力成本随技术进步呈现下降趋势。 摩根士丹利在3月24日的AI报告中指出&#xff0c;随着GPU技术的不断进步&#xff0c;例如英伟达从Hopper发展到Blackwell GPU架构&#xff0c;GAI的算力成…

怎么做到高效阅读、高效输出?

每一位得到的用户都是终身学习者&#xff0c;你一定对读书这件事不陌生。但是&#xff0c;并不是每个人都清楚&#xff0c;应该用什么标准选书&#xff0c;又怎么把一本书变成自己的精神资产。而这件事&#xff0c;陈章鱼特别擅长。 今天&#xff0c;我和陈章鱼一起挑选了4个有…

ChatGPT 对 ELT的理解

本文主要内容来自 ChatGPT 4.0 到底什么是 ETL&#xff1f;在数据库内部&#xff0c;把数据从 ODS 层加工成 DWD&#xff0c;再加工成 DWS&#xff0c;这个过程和 ETL 的关系是什么&#xff1f;带着这些问题&#xff0c;我问了一下 ChatGPT&#xff0c;总结如下。 数据在两个数…

线程安全介绍

线程安全的出现&#xff1a; 当两个或以上的线程同时操作一个共享变量时&#xff0c;就会涉及线程安全问题&#xff0c;不然会导致最后结果并不是我们所需要的。 线程安全定义&#xff1a; 线程安全&#xff08;Thread Safety&#xff09;是指一个对象或代码块在多线程环境中…