网站备案 手印随便网站建设pc指什么

web/2025/10/8 0:42:21/文章来源:
网站备案 手印随便,网站建设pc指什么,手机网页显示不全,led wordpress在Kafka的世界中有很多概念和术语是需要你提前理解并熟练掌握的#xff0c;这对于后面你深入学习Kafka各种功能和特性将大有裨益。下面我来盘点一下Kafka的各种术语。 在专栏的第一期我说过Kafka属于分布式的消息引擎系统#xff0c;它的主要功能是提供一套完备的消息发布与…在Kafka的世界中有很多概念和术语是需要你提前理解并熟练掌握的这对于后面你深入学习Kafka各种功能和特性将大有裨益。下面我来盘点一下Kafka的各种术语。 在专栏的第一期我说过Kafka属于分布式的消息引擎系统它的主要功能是提供一套完备的消息发布与订阅解决方案。在Kafka中发布订阅的对象是主题Topic你可以为每个业务、每个应用甚至是每类数据都创建专属的主题。 向主题发布消息的客户端应用程序称为生产者Producer生产者程序通常持续不断地向一个或多个主题发送消息而订阅这些主题消息的客户端应用程序就被称为消费者Consumer。和生产者类似消费者也能够同时订阅多个主题的消息。我们把生产者和消费者统称为客户端Clients。你可以同时运行多个生产者和消费者实例这些实例会不断地向Kafka集群中的多个主题生产和消费消息。 有客户端自然也就有服务器端。Kafka的服务器端由被称为Broker的服务进程构成即一个Kafka集群由多个Broker组成Broker负责接收和处理客户端发送过来的请求以及对消息进行持久化。虽然多个Broker进程能够运行在同一台机器上但更常见的做法是将不同的Broker分散运行在不同的机器上这样如果集群中某一台机器宕机即使在它上面运行的所有Broker进程都挂掉了其他机器上的Broker也依然能够对外提供服务。这其实就是Kafka提供高可用的手段之一。 实现高可用的另一个手段就是备份机制Replication。备份的思想很简单就是把相同的数据拷贝到多台机器上而这些相同的数据拷贝在Kafka中被称为副本Replica。好吧其实在整个分布式系统里好像都叫这个名字。副本的数量是可以配置的这些副本保存着相同的数据但却有不同的角色和作用。Kafka定义了两类副本领导者副本Leader Replica和追随者副本Follower Replica。前者对外提供服务这里的对外指的是与客户端程序进行交互而后者只是被动地追随领导者副本而已不能与外界进行交互。当然了你可能知道在很多其他系统中追随者副本是可以对外提供服务的比如MySQL的从库是可以处理读操作的但是在Kafka中追随者副本不会对外提供服务。对了一个有意思的事情是现在已经不提倡使用Master-Slave来指代这种主从关系了毕竟Slave有奴隶的意思在美国这种严禁种族歧视的国度这种表述有点政治不正确了所以目前大部分的系统都改成Leader-Follower了。 副本的工作机制也很简单生产者总是向领导者副本写消息而消费者总是从领导者副本读消息。至于追随者副本它只做一件事向领导者副本发送请求请求领导者把最新生产的消息发给它这样它能保持与领导者的同步。 虽然有了副本机制可以保证数据的持久化或消息不丢失但没有解决伸缩性的问题。伸缩性即所谓的Scalability是分布式系统中非常重要且必须要谨慎对待的问题。什么是伸缩性呢我们拿副本来说虽然现在有了领导者副本和追随者副本但倘若领导者副本积累了太多的数据以至于单台Broker机器都无法容纳了此时应该怎么办呢一个很自然的想法就是能否把数据分割成多份保存在不同的Broker上如果你就是这么想的那么恭喜你Kafka就是这么设计的。 这种机制就是所谓的分区Partitioning。如果你了解其他分布式系统你可能听说过分片、分区域等提法比如MongoDB和Elasticsearch中的Sharding、HBase中的Region其实它们都是相同的原理只是Partitioning是最标准的名称。 Kafka中的分区机制指的是将每个主题划分成多个分区Partition每个分区是一组有序的消息日志。生产者生产的每条消息只会被发送到一个分区中也就是说如果向一个双分区的主题发送一条消息这条消息要么在分区0中要么在分区1中。如你所见Kafka的分区编号是从0开始的如果Topic有100个分区那么它们的分区号就是从0到99。 讲到这里你可能有这样的疑问刚才提到的副本如何与这里的分区联系在一起呢实际上副本是在分区这个层级定义的。每个分区下可以配置若干个副本其中只能有1个领导者副本和N-1个追随者副本。生产者向分区写入消息每条消息在分区中的位置信息由一个叫位移Offset的数据来表征。分区位移总是从0开始假设一个生产者向一个空分区写入了10条消息那么这10条消息的位移依次是0、1、2、……、9。 至此我们能够完整地串联起Kafka的三层消息架构 第一层是主题层每个主题可以配置M个分区而每个分区又可以配置N个副本。第二层是分区层每个分区的N个副本中只能有一个充当领导者角色对外提供服务其他N-1个副本是追随者副本只是提供数据冗余之用。第三层是消息层分区中包含若干条消息每条消息的位移从0开始依次递增。最后客户端程序只能与分区的领导者副本进行交互。 讲完了消息层次我们来说说Kafka Broker是如何持久化数据的。总的来说Kafka使用消息日志Log来保存数据一个日志就是磁盘上一个只能追加写Append-only消息的物理文件。因为只能追加写入故避免了缓慢的随机I/O操作改为性能较好的顺序I/O写操作这也是实现Kafka高吞吐量特性的一个重要手段。不过如果你不停地向一个日志写入消息最终也会耗尽所有的磁盘空间因此Kafka必然要定期地删除消息以回收磁盘。怎么删除呢简单来说就是通过日志段Log Segment机制。在Kafka底层一个日志又进一步细分成多个日志段消息被追加写到当前最新的日志段中当写满了一个日志段后Kafka会自动切分出一个新的日志段并将老的日志段封存起来。Kafka在后台还有定时任务会定期地检查老的日志段是否能够被删除从而实现回收磁盘空间的目的。 这里再重点说说消费者。在专栏的第一期中我提到过两种消息模型即点对点模型Peer to PeerP2P和发布订阅模型。这里面的点对点指的是同一条消息只能被下游的一个消费者消费其他消费者则不能染指。在Kafka中实现这种P2P模型的方法就是引入了消费者组Consumer Group。所谓的消费者组指的是多个消费者实例共同组成一个组来消费一组主题。这组主题中的每个分区都只会被组内的一个消费者实例消费其他消费者实例不能消费它。为什么要引入消费者组呢主要是为了提升消费者端的吞吐量。多个消费者实例同时消费加速整个消费端的吞吐量TPS。我会在专栏的后面详细介绍消费者组机制所以现在你只需要了解消费者组是做什么的即可。另外这里的消费者实例可以是运行消费者应用的进程也可以是一个线程它们都称为一个消费者实例Consumer Instance。 消费者组里面的所有消费者实例不仅“瓜分”订阅主题的数据而且更酷的是它们还能彼此协助。假设组内某个实例挂掉了Kafka能够自动检测到然后把这个Failed实例之前负责的分区转移给其他活着的消费者。这个过程就是Kafka中大名鼎鼎的“重平衡”Rebalance。嗯其实既是大名鼎鼎也是臭名昭著因为由重平衡引发的消费者问题比比皆是。事实上目前很多重平衡的Bug社区都无力解决。 每个消费者在消费消息的过程中必然需要有个字段记录它当前消费到了分区的哪个位置上这个字段就是消费者位移Consumer Offset。注意这和上面所说的位移完全不是一个概念。上面的“位移”表征的是分区内的消息位置它是不变的即一旦消息被成功写入到一个分区上它的位移值就是固定的了。而消费者位移则不同它可能是随时变化的毕竟它是消费者消费进度的指示器嘛。另外每个消费者有着自己的消费者位移因此一定要区分这两类位移的区别。我个人把消息在分区中的位移称为分区位移而把消费者端的位移称为消费者位移。 小结 我来总结一下今天提到的所有名词术语 消息Record。Kafka是消息引擎嘛这里的消息就是指Kafka处理的主要对象。主题Topic。主题是承载消息的逻辑容器在实际使用中多用来区分具体的业务。分区Partition。一个有序不变的消息序列。每个主题下可以有多个分区。消息位移Offset。表示分区中每条消息的位置信息是一个单调递增且不变的值。副本Replica。Kafka中同一条消息能够被拷贝到多个地方以提供数据冗余这些地方就是所谓的副本。副本还分为领导者副本和追随者副本各自有不同的角色划分。副本是在分区层级下的即每个分区可配置多个副本实现高可用。生产者Producer。向主题发布新消息的应用程序。消费者Consumer。从主题订阅新消息的应用程序。消费者位移Consumer Offset。表征消费者消费进度每个消费者都有自己的消费者位移。消费者组Consumer Group。多个消费者实例共同组成的一个组同时消费多个分区以实现高吞吐。重平衡Rebalance。消费者组内某个消费者实例挂掉后其他消费者实例自动重新分配订阅主题分区的过程。Rebalance是Kafka消费者端实现高可用的重要手段。 最后我用一张图来展示上面提到的这些概念希望这张图能够帮助你形象化地理解所有这些概念

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

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

相关文章

国外网站app外贸站外推广

阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 WPF中垂直导航菜单大家应该都常用,本文介绍使用MVVM的方式怎么绑定菜单,真的很简单。 2. 代码实现 使用 .Net Core 3.1 创建名为 “MenuMVVM” 的WPF模板项目,添加两个Nuget库&…

太原网站设计排名武城做网站

在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),CocoaChina 会员 “alienblue” 为我们提供了两种思路第一种:通过人为的办法改变view.transform的属性。具体办法:view.transform一般…

您没有足够的权限访问该页面 wordpress济南百度seo

目录 一、Typora简介二、Typora安装三、Typora补丁四、Typora使用体验五、总结 一、Typora简介 Typora是一款非常流行的Markdown编辑器,它能够将Markdown文本转化为漂亮的排版,并且支持实时预览。Typora具有简单易用的界面,使得用户可以轻松地…

产品报价网站建设费用常州制作企业网站

开发的时候有时候会遇到一种情况,比如 :点击这个链接跳转到其他组件的情况,通常会跳转到新的页面,蛋是,我们不想跳转到新页面,只在当前页面切换着显示,那么就要涉及到路由的嵌套了,也…

隆化县建设局网站建造网站需要什么

B 不同子串题目描述一个字符串的非空子串是指字符串中长度至少为 1 的连续的一段字符组成 的串。例如,字符串aaab 有非空子串a, b, aa, ab, aaa, aab, aaab,一共 7 个。 注意在计算时,只算本质不同的串的个数。请问,字符串0100110…

免费自助建站系统哪个好wordpress 主机和域名绑定域名

回调函数是非常重要的概念 文章目录1 函数的类型2 函数指针2.1 函数指针的使用2.2 使用函数指针实现回调函数3 总结1 函数的类型 跟以前学数组的时候是一样的,C语言中的数组是有自己的类型的。函数也是有自己的类型的。 函数的类型由返回值、参数的类型、参数的个…

此网站可能有网页开发外包

一、面试题 很多同学的简历都写着熟悉 SpringBoot, 而 Starter 的实现原理被当作的考题的的情况越来越多。 来源牛客网关于 starter 的一些面试题 情景一、路虎一面 情景二、蔚来 情景三、同花顺 Starter 频频出现,因此在面试准备时,这道题…

网站设计一般包括哪些南昌seo优化

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统高校实习管理系统信息管理难度大,容错率低&am…

织梦做的网站如何上线竞价单页网站制作

适用于各种智能编译器,HB-X,VSCode,ST3,IDEA等。 问题: 按一下键盘上的,insert 键。

郑州网站推广哪家效果好做网站经常加班还是app

qq群号:16708579加入时声明来自cnblogs希望大家加进来不只是灌水。 转载于:https://www.cnblogs.com/cfans/archive/2005/11/19/280132.html

安徽网站排名wordpress幻灯片不动

返回:OpenCV系列文章目录(持续更新中......) 上一篇:如何利用OpenCV4.9离散傅里叶变换 下一篇: 目标 本文内容主要介绍: 如何使用 YAML 或 XML 文件打印和读取文件和 OpenCV 的文本条目?如何对 OpenCV …

南宁网站推广大全建设解锁卡网站首页

一、光源分类 环境光(AmbientLight):会均匀的照亮场景中的所有物体。无方向,不能投射阴影。平行光(DirectionalLight):沿特定方向散发的光,发出的光线都是平行的。例如太阳光,可投射阴影。点光源(PointLight)&#xf…

厦门网站建设哪家专业梅州网站建设梅州

Paragon NTFS for Mac 15.4.44 中文破解版是一个底层的文件系统驱动程序,专门开发用来弥合Windows和Mac OS X之间的不兼容性,通过在Mac OS X系统下提供对任何版本的NTFS文件系统完全的读写访问服务来弥合这种不兼容性。为您轻松解决Mac不能识别Windows NTFS文件难题…

条件查询 php网站源码开发门户网站

安卓手机APP开发__媒体开发部分__媒体源 目录 概述 定制媒体源的创建 基于播放列表的API的媒体源 高级的媒体源的组合 概述 在ExoPlayer,媒体的每一个部分都能表示为一个媒体项。 然而内部来看,播放器需要媒体源的实例来播放内容。 播放器使用一个…

网站导航用什么字体网站正在建设中不动产

前言: JavaScript的运算符与C/C一致 算数运算符: 算数运算符说明加-减*乘%除/取余 递增递减运算符: 运算符说明递增1-- 递减1 补充: 令a1,b1 运算a b ab12ab22ab--10a--b00 比较(关系)运算符: 运算…

成都旅游的网站建设商学院网站建设建议

如上图,左上角和右上角凸出来了。设置表格圆角和表头圆角和QHeaderView::section圆角都不管用。解决此问题需要重写QHeaderView的paintSection()函数: class CustomHeaderView : public QHeaderView { public:explicit CustomHeaderView(Qt::Orientati…

信誉好的品牌网站建设易代理ip官网

文章目录 前言一、主从复制1.概述2.作用3.模拟实践搭建场景模拟实践 二、哨兵模式1.概述2.配置使用3.优缺点4.sentinel.conf完整配置 总结 前言 从主从复制到哨兵模式。 一、主从复制 1.概述 主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Red…

做的最好的网站公司离退休工作网站建设方案

1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳import timeimport datetimet time.time()print (t) #原始时间数据print (int(t)) #秒级时间戳print (int(round(t * 1000))) #毫秒级时间戳print (int(round(t * 1000000))) #微秒级时间戳返回1499825149.257892 #原始时间数据…

淮北建设工程质量安全站网站宁乡市住房和城乡建设局网站

文章目录 问题背景堆栈对齐要求Cortex-M33 的 FPU 功能 问题背景 rt-thread 在PendSV_Handler退出的时候发生了HardFault_Handler是什么原因?且 LR 的值为0xfffffffd 堆栈对齐要求 在 ARM Cortex-M 架构中,堆栈指针 (SP) 必须始终保持 8 字节对齐。这…

丝绸之路网站建设策划书外贸行业网站建设

目录 Docker容器服务的注册和发现 1、什么是服务注册与发现? 2、什么是consul consul的部署 1、环境准备 2、部署consul服务器 1)建立 Consul 服务 2)设置代理,在后台启动 consul 服务端 3)查看集群信息 4&a…