消息队列原理篇
一、kafkakafka的架构有producer、zk、broker、consumer4个角色;broker里面放各个partition,各个broker组成一个kafka集群; consumer是以consumer group形式存在。面试只要topic-partition-message就好,不要到里面的段了。马消后的wq:其实消息有序性是很好理解的,生产:各个partition的有序是天然保证的,所以只要我们控制某种业务能够都落到同一个parttion上就解决了。 比如我们要的是同一个callid的多次通话结果有序,不需要不同的callid有序,所以只要这个callid作为key,所以kafka同一个key的消息一定是在同一个分区上。kafka会用key进行hash计算是在哪个partition。常识,一个topic可以有多个分区,靠key保证同业务落同分区,因此topic的命名只要标识业务,key的定义就要慎重。消费:要有序必须控制一个分区只分配给一个消费者线程。《在马消名单-活动中间调用用kafka解耦,但活动拉名单可能是排好序的,所以消费的时候怎么保证这个有序》让同一活动的名单放到同一个partition里面,因为同一个partition的消息是有序的,然后消费的时候,一个消费者即一个应用的实例,所以只要消费者组里面只有一个消费者就ok了,这样,这个partition只能是应用启动就绑定好了某个实例专门消费这个partition,也就保证了消费后的数据走到业务逻辑也是有序的。(不太对,保证名单数据落同一个partition是用活动id做key就好)一句话概括就是,kafka启动的时候,根据zk会broke的leader节点,还会根据topic选举partition的leader节点,然后发送端发送消息时,会持久化到partition的leader节点上,剩下就是zk各个partition副本节点同步leader的数据的事情了。然后消费者客户端接入kafka时,kafka集群的coordinator角色会为消费者的实例绑定好对应的partition,然后一直消费这个partition就好了。1、broker就理解为kafka的服务器好了,一个broker是一个kafka的实例,broker组合起来就是一个kafka集群了。我自己出现了一个理解误区,zk选举出一个broker作为leader,认为只有这个broker是对外的,其他的从broker只是备份用的,错了,这样的话只是一台机器在用,仅看到了高可用,没有提高并行能力和负载均衡一说,所以真正的理解应该是:leader要分为是broker的leader选举和 partition的leader选举,有两种leader。broker的leader只是为了整体管理集群内的分区和副本状态而已,这个概念不用过度的去理解;而partition的leader就是对外的,不同的partition的leader可能在不同的broker上,这样就是真正一个topic的多个partition同时工作了,看下面文章:kafka集群leader的作用 kafka集群架构_mob64ca13fe9c58的技术博客_51CTO博客

相关新闻

MFC 基础

MFC 基础

windows桌面应用分为两种类型: 基于文档视图类型 和 基于对话框类型。 通常具有复杂交互控件的程序(比如有按钮,输入框,下拉框等)即为基于对话框类型,相对而言比较复杂,而基于文档视图类的应用一般是通过菜单栏&#x…

2026/7/3 0:32:40 阅读更多 →
VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解

VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解

VueCircleMenu:打造惊艳圆形菜单的终极Vue.js组件详解 【免费下载链接】VueCircleMenu :rabbit:A beautiful circle menu powered by Vue.js 项目地址: https://gitcode.com/gh_mirrors/vu/VueCircleMenu VueCircleMenu是一款基于Vue.js构建的精美圆形菜单组…

2026/7/2 23:32:24 阅读更多 →
为什么选择JSXGraph?探索这款跨浏览器可视化库的7大优势

为什么选择JSXGraph?探索这款跨浏览器可视化库的7大优势

为什么选择JSXGraph?探索这款跨浏览器可视化库的7大优势 【免费下载链接】jsxgraph JSXGraph is a cross-browser library for interactive geometry, function plotting, charting, and data visualization in a web browser. 项目地址: https://gitcode.com/gh_…

2026/5/17 4:24:46 阅读更多 →

最新新闻

大负载六自由度平台:重型工况多自由度姿态模拟的工业级解决方案

大负载六自由度平台:重型工况多自由度姿态模拟的工业级解决方案

大负载六自由度平台:重型工况多自由度姿态模拟的工业级解决方案 随着高端装备制造、试验验证领域的技术升级,重型车辆、航海船舶、航空航天等行业对大负载工况下的多自由度姿态模拟、动力学测试、环境复现需求持续提升。在重型构件、整车级设备、大型工业装置的研发与测试环…

2026/7/3 13:46:36 阅读更多 →
Gazelle源码解析:lstack核心模块设计与关键函数实现

Gazelle源码解析:lstack核心模块设计与关键函数实现

Gazelle源码解析:lstack核心模块设计与关键函数实现 【免费下载链接】gazelle A high performance user-mode stack, which powered by dpdk and lwip 项目地址: https://gitcode.com/openeuler/gazelle 前往项目官网免费下载:https://ar.openeul…

2026/7/3 13:44:36 阅读更多 →
如何免费永久保存微信聊天记录:WeChatMsg完整备份与导出终极指南

如何免费永久保存微信聊天记录:WeChatMsg完整备份与导出终极指南

如何免费永久保存微信聊天记录:WeChatMsg完整备份与导出终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trendin…

2026/7/3 13:42:35 阅读更多 →
LV3296与TM4C129ENCZAD在工业数据采集中的应用

LV3296与TM4C129ENCZAD在工业数据采集中的应用

1. 项目概述:LV3296与TM4C129ENCZAD的协同工作场景在工业自动化和物联网边缘计算领域,数据采集与处理的实时性、可靠性一直是工程师面临的挑战。LV3296作为一款高性能信号调理芯片,配合TI的TM4C129ENCZAD微控制器,构成了一个典型的…

2026/7/3 13:42:35 阅读更多 →
OpenClaw安装教程详细步骤,图文并茂轻松跟做

OpenClaw安装教程详细步骤,图文并茂轻松跟做

这篇是写给喜欢"图文并茂"风格的朋友的。我会把OpenClaw安装过程中的每个关键步骤都详细描述,并标注你应该在屏幕上看到的界面元素。如果你之前看纯文字教程容易跟丢,这篇会适合你。 OpenClaw最新版本一键部署包下载地址:https://t…

2026/7/3 13:38:33 阅读更多 →
TPAFE0808与PIC32MZ多通道信号采集系统设计

TPAFE0808与PIC32MZ多通道信号采集系统设计

1. 项目背景与核心需求解析 在工业自动化和嵌入式系统开发领域,多通道信号采集与实时控制一直是关键需求。TPAFE0808作为一款8通道模拟前端芯片,配合PIC32MZ2048EFH144这款高性能32位微控制器,能够构建出强大的信号处理与系统监测平台。这种组…

2026/7/3 13:38:33 阅读更多 →

日新闻

Nginx防御TLS重协商攻击实战:从原理到配置与监控

Nginx防御TLS重协商攻击实战:从原理到配置与监控

1. 项目概述:为什么TLS重协商攻击至今仍需警惕十多年前的CVE-2011-1473,一个关于TLS/SSL协议重协商机制的漏洞,现在提起来还有必要吗?很多运维和开发朋友可能会觉得,这都老掉牙了,现代服务器和客户端不都默…

2026/7/3 0:03:59 阅读更多 →
华为防火墙双通道远程管理实战:Web与SSH配置详解

华为防火墙双通道远程管理实战:Web与SSH配置详解

1. 项目概述:为什么需要双通道远程管理防火墙?在任何一个稍具规模的企业网络里,防火墙都是那个默默守护在边界的关键角色。作为网络工程师,我们不可能每次都跑到机房,插上console线去配置它。远程管理能力,…

2026/7/3 0:03:59 阅读更多 →
AD74413R与PIC18F65K40的高精度工业数据采集方案

AD74413R与PIC18F65K40的高精度工业数据采集方案

1. 项目概述:AD74413R与PIC18F65K40的协同工作在工业自动化和精密测量领域,同时实现高精度模数转换(ADC)和数模转换(DAC)功能是许多复杂系统的核心需求。AD74413R作为一款四通道可配置模拟输入/输出器件,与PIC18F65K40微控制器的组合&#xf…

2026/7/3 0:05:59 阅读更多 →

周新闻

月新闻