服务器集群体系架构(二、Kafka的集群架构与工作流程)

本文目录
二、Kafka的集群架构与工作流程
(1)生产者定期向主题发送消息。
(2)Kafka 代理存储该特定主题配置的分区中的所有消息。 确保消息在分区之间平等共享。 如果生产者发送两个消息并且有两个分区,Kafka 将在第一分区中存储一个消息,在第二分区中存储第二消息。
(3)消费者订阅特定主题。一旦消费者订阅主题,Kafka 将向消费者提供主题的当前偏移,并且还将偏移保存在 Zookeeper 系统中。
(4)消费者将定期请求 Kafka 新消息。 Kafka 收到来自生产者的消息后,会将这些消息转发给消费者。
(5)消费者收到消息并进行处理后,便会向 Kafka 代理发送确认。
(6) Kafka 收到确认,将偏移更改为新值,并在 Zookeeper 中更新它。 由于偏移在 Zookeeper 中维护,消费者可以正确地读取下一封邮件,即使在服务器暴力期间。
(7)重复以上流程,直到消费者停止请求。消费者可以随时回退/跳到所需的主题偏移量,并阅读所有后续消息。
在队列消息传递系统,而不是单个消费者中,具有相同 Group ID 的一组消费者将订阅主题。这个消费者组被认为是单个组,并且消息在它们之间共享。
(1)生产者定期向某个主题发送消息。
(2)Kafka 代理存储该特定主题配置的分区中的所有消息。
(3)单个消费者订阅特定主题,假设为 Topic-01,Group ID 为 Group-1。
(4)Kafka 以与发布 - 订阅消息相同的方式与消费者交互,直到新消费者以相同的组 ID 订阅相同主题Topic-01 。
(5)一旦新消费者到达,Kafka 将其操作切换到共享模式,并在两个消费者之间共享数据。 此共享将持续,直到用户数达到为该主题配置的分区数。
(6)一旦消费者的数量超过分区的数量,新消费者将不会接收任何新消息,直到现有的一个消费者取消订阅。 出现这种情况是因为 Kafka 中的每个消费者将被分配至少一个分区,并且一旦所有分区被分配给现有消费者,新消费者将必须等待。
转自 W3Cschool的Kafka基本工作流程
网络体系结构有哪些分类
网络体系结构有哪些分类?
网络体系结构有哪些分类?
网络是连接世界的重要工具,它的体系结构也有不同的分类方式。在本篇文章中,我们将介绍几种常见的网络体系结构分类方式。
1.集中式体系结构
集中式体系结构是一种传统的网络结构,它的中心节点负责所有的网络管理和控制。这种结构最常见的例子就是局域网,如企业内部的局域网,它们通常在一个中心节点下连接多个客户端设备。优点是易于维护和管理,但也有顶级节点单点故障的弊端。
2.分布式体系结构
分布式体系结构是一种更加复杂的网络结构,其中每个节点都是自主的实体,它们共享数据和信息,具有分散控制的能力。这种结构最常见的例子是Internet,其中每个主机都是独立的实体,它们通过“路由协议”来互相通信。分布式结构的优点是容错能力强,因为没有中心节点,但维护成本也高。
3.集群体系结构
集群体系结构是将多个计算机组成一个整体,每个节点并列,具有相同的地位。因此,集群结构比集中式结构更具可扩展性和可靠性,集群可以通过新增节点或更改参数来解决性能瓶颈和负载平衡问题。集群结构最常见的例子是Web服务器集群。
4.对等网络体系结构
对等网络体系结构也称为点对点网络结构,它是一种对等式的网络结构,每个节点可以充当服务器和客户端,任何节点都可以向其他节点请求或提供服务,从而实现数据的共享和传输。对等网络结构最常见的例子是文件共享,如BitTorrent。
总结:
网络体系结构可以按照集中式、分布式、集群和对等式结构来分类。不同的结构具有各自的优点和缺点,在实践中需要根据不同的应用场景来选择适当的结构。
数据库系统中的几种架构及处理方式
来具体说说数据库集群吧
集群主要分成三大类 (高可用集群, 负载均衡集群,科学计算集群)
高可用集群( HighCluster)
负载均衡集群(Load Balance Cluster)
科学计算集群(High Performance Computing Cluster)
1、高可用集群(HighCluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如”双机热备”, “双机互备”, “双机”。高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。
2、负载均衡集群(Load Balance Cluster)
负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
3、科学计算集群(High Performance Computing Cluster)
高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。
高性能计算分类:
3.1、高吞吐计算(High-throughput Computing)
有一类高性能计算,可以把它分成若干可以并行的子任务,而且各个子任务彼此间没有什么关联。象在家搜寻外星人( SETI@HOME _ Search forat Home )就是这一类型应用。
这一项目是利用Internet上的闲置的计算资源来搜寻外星人。SETI项目的服务器将一组数据和数据模式发给Internet上参加SETI的计算节点,计算节点在给定的数据上用给定的模式进行搜索,然后将搜索的结果发给服务器。服务器负责将从各个计算节点返回的数据汇集成完整的 数据。因为这种类型应用的一个共同特征是在海量数据上搜索某些模式,所以把这类计算称为高吞吐计算。
所谓的Internet计算都属于这一类。按照 Flynn的分类,高吞吐计算属于SIMD(Single Instruction/Multiple Data)的范畴。
3.2、分布计算(Distributed Computing)
另一类计算刚好和高吞吐计算相反,它们虽然可以给分成若干并行的子任务,但是子任务间联系很紧密,需要大量的数据交换。按照Flynn的分类,分布式的高性能计算属于MIMD(Multiple Instruction/Multiple Data)的范畴。
下面说说这几种集群的应用场景:
高可用集群这里不多作说明。
想Dubbo是比较偏向于负载均衡集群,用过的猿友应该知道(不知道的可以自行了解一下),Dubbo同一个服务是可以有多个提供者的,当一个消费者过来,它要消费那个提供者,这里是有负载均衡机制在里面的。
搜索引擎比较偏向于科学计算集群的分布计算。
而到这里,可能不少猿友都知道,集群的一些术语:集群容错、负载均衡。
我们以Dubbo为例:
集群容错(bbo.io/UserGuide-zh.htm#UserGuide-zh-%E9%9B%86%E7%BE%A4%E5%AE%B9%E9%94%99)
Dubbo提供了这些容错策略:
集群容错模式:
可以自行扩展集群容错策略,参见:集群扩展
Failover Cluster
失败自动切换,当出现失败,重试其它服务器。(缺省)
通常用于读操作,但重试会带来更长延迟。
可通过retries="2"来设置重试次数(不含第一次)。
Failfast Cluster
快速失败,只发起一次调用,失败立即报错。
通常用于非幂等性的写操作,比如新增记录。
Failsafe Cluster
失败安全,出现异常时,直接忽略。
通常用于写入审计日志等操作。
Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。
通常用于消息通知操作。
Forking Cluster
并行调用多个服务器,只要一个成功即返回。
通常用于实时性要求较高的读操作,但需要浪费更多服务资源。
可通过forks="2"来设置最大并行数。
Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)
通常用于通知所有提供者更新缓存或日志等本地资源信息。
负载均衡(bbo.io/UserGuide-zh.htm#UserGuide-zh-%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1)
Dubbo提供了这些负载均衡策略:
Random LoadBalance
随机,按权重设置随机概率。
在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。
RoundRobin LoadBalance
轮循,按公约后的权重设置轮循比率。
存在慢的提供者累积请求问题,比如:第二台机器很慢,但没挂,当请求调到第二台时就卡在那,久而久之,所有请求都卡在调到第二台上。
LeastActive LoadBalance
最少活跃调用数,相同活跃数的随机,活跃数指调用前后计数差。
使慢的提供者收到更少请求,因为越慢的提供者的调用前后计数差会越大。
LoadBalance
一致性Hash,相同参数的请求总是发到同一提供者。
当某一台提供者挂时,原本发往该提供者的请求,基于虚拟节点,平摊到其它提供者,不会引起剧烈变动。
算法参见:en.wikipedia.org/wiki/Consistent_hashing。
缺省只对第一个参数Hash,如果要修改,请配置
缺省用160份虚拟节点,如果要修改,请配置
linux服务器集群搭建linux服务器集群
linuxweb集群优点?
linuxweb集群的优点是可以高效的进行异步编程。linuxweb集群设计语言十分简洁明亮。同时具备经典搭配,时尚又不失低调感觉,增添了合适的气息。谢谢采纳,
服务器集群怎么搭建?Linux平台的?
linux服务器集群平台的搭建比较简单,有专门的均衡软件,比如lvs,lvs是一个集群系统,由很多服务器组成,可以根据需要,把它门分为三层,一层是前端机,用于均衡,相当于公平为系统分配工作,二层是服务器群,比如web服务器群,DNS,mail群等,这些就是接待员,把均衡器分配的工作进行处理,第三层是存储设备,用于存储数据,相当于档案库。知道这些后,要搭建就非常容易,有现成的软件,比如我有四台web服务器,2台数据库,1台前置机,安装linux系统,安装lvs软件,比如heartbeat-2.1.4-9.el5.i386.rpmheartbeat-ldirectord-2.1.4-9.el5.i386.rpmlibnet-1.1.4-3.el5.i386.rpmheartbeat-devel-2.1.4-9.el5.i386.rpmheartbeat-pils-2.1.4-10.el5.i386.rpmperl-MailTools-1.77-1.el5.noarch.rpmheartbeat-gui-2.1.4-9.el5.i386.rpmheartbeat-stonith-2.1.4-10.el5.i386.rpm当然还需要配置,你可以自己百度有关lvs集群的详细安装说明。希望能帮助你。
如何实现Linux服务器集群系统?
服务器的集群系统是比较复杂的功能,这个得根据你业务的需求来确定使用什么架构。
如果是做mysql的集群,可以使用mycat中间件做读写分离,也可以使用MHA,来实现MySQL的集群。
如果要是做web项目的话,则可以使用LVS+Keepalived来实现。也可以使用Nginx做反向代理。
现在比较火的可能是虚拟化,就是配置一台高配服务器,在其中运行docker或者openstack等虚拟化技术也可以实现集群的功能,有个弊端就是宿主机一旦故障,整个业务全部瘫痪,当然,这样是比较节省开销的。
linux平台的集群软件有哪些软件?
Linux集群主要分成三大类(高可用集群,负载均衡集群,科学计算集群)
高可用集群(HighAvailabilityCluster)
负载均衡集群(LoadBalanceCluster)
科学计算集群(HighPerformanceComputingCluster)
================================================
高可用集群(HighAvailabilityCluster)
常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如"双机热备","双机互备","双机".
高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。(请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)
Linux平台常见的高可用集群有这些:
1.RedHat公司的开放源代码RedHatClusterSuite,简称RHCS.(产品介绍
***隐藏网址***
)
-RHCS实际上是一个套件,除了现在提到的高可用集群软件,还包含了一个基于LVS的负载均衡软件.
-RHCS包含的集群软件,是GPL协议下开放源代码的集群系统.
-RHCS目前的版本有RHCSv3和v4,分别对应于RedHat企业版Linux的3.0家族和4.0家族.
-RHCS是一个独立的产品,不包括在RedHatEnterpriseLinux当中,无论是购买还是下载,都是单独存在的.
RHCS的获得:
RHCS的获得有三个途径:
a.从redhat的官方销售渠道购买,得到的是RedHatRHCS产品的二进制代码(光盘或直接从RHN-RedHatNetwork下载),源代码,以及支持和升级服务.
b.从redhat的官方站点下载SRPM包,编译并安装.无原厂商业支持和升级服务.这里下载(ftp.redhat.com/pub/redhat/linux/enterprise/4/en/RHCS和ftp:/tp.redhat.com/pub/redhat/linux/enterprise/3/en/RHCS)
c.从centOS官方站点下载RHCS的二进制代码包并安装,无原厂商业支持和升级服务.这里下载(
***隐藏网址***
,请阅读此目录中的README文件)

更多文章:
server2008官网下载(sql server 2008 r2 express 官方)
2026年9月7日 13:00
域名邮箱域名续费(企业邮箱提示域名已过期,域名不在我这,怎么续费)
2026年9月7日 11:00
菜鸡免费版安卓破解下载(菜鸡云游戏最新版破解版永久免费无限时间下载地址)
2026年9月7日 02:10







