当前位置:首页 > 科技  > 软件

聊聊高可用存储架构:集群和分区

来源: 责编: 时间:2024-04-26 08:47:55 88观看
导读主备、主从、和主主架构都基于一个共同的前提:主机需要有能力存储所有数据。然而,主机的存储和处理容量是有限的。以历史发展为例,Intel 386时代的服务器仅能存储几百MB数据,到了Intel奔腾时代则能够存储几十GB,而进入Inte

主备、主从、和主主架构都基于一个共同的前提:主机需要有能力存储所有数据。然而,主机的存储和处理容量是有限的。以历史发展为例,Intel 386时代的服务器仅能存储几百MB数据,到了Intel奔腾时代则能够存储几十GB,而进入Intel酷睿多核时代后,服务器的存储能力增加到了数TB。尽管从硬件发展角度看,存储能力的提升速度相当快,但与业务需求的增长速度相比,这种提升还是远远不够。例如,截至2013年,Facebook已经累计存储了2500亿张照片,总容量达到250PB(250×1024TB),日均上传量达到3亿5000万张图片。这种庞大的数据量显然无法由单台服务器来存储和处理,因此必须依赖多台服务器的集群架构来实现。qRR28资讯网——每日最新资讯28at.com

简而言之,集群是由多台机器组成的一个统一系统,这里的“多台”通常指的是至少3台机器。与主备或主从架构的两台机器相比,集群提供了更大的扩展性。集群可以根据其中机器承担的角色不同分为两种类型:数据集中型集群和数据分散型集群。qRR28资讯网——每日最新资讯28at.com

1. 数据集中集群

数据集中集群与主备、主从这类架构相似,我们也可以称数据集中集群为 1 主多备或者 1 主多从。无论是 1 主 1 从、1 主 1 备,还是 1 主多备、1 主多从,数据都只能往主机中写,而读操作可以参考主备、主从架构进行灵活多变。下图是读写全部到主机的一种架构:qRR28资讯网——每日最新资讯28at.com

图片图片qRR28资讯网——每日最新资讯28at.com

在主备和主从架构中,数据通常通过单一的复制通道从主机复制到备机。然而,在数据集中集群架构中,存在多个复制通道,这可能会增加主机的复制负担。在某些情形下,减轻主机的复制负担或减少复制操作对正常读写活动的影响是必要的。qRR28资讯网——每日最新资讯28at.com

此外,多个复制通道可能会导致不同备机之间的数据出现不一致。在这种情况下,需要对各备机之间的数据一致性进行验证和调整。qRR28资讯网——每日最新资讯28at.com

对于备机如何判断主机的状态,主备和主从架构中只涉及单台备机的状态判断。但在数据集中集群架构中,多台备机都需要对主机状态做出判断,且不同备机的判断结果可能不一致,处理这些不一致的判断是一个复杂的问题。qRR28资讯网——每日最新资讯28at.com

当主机发生故障时,如何决定新的主机也是一个关键问题。在主从架构中,通常直接将备机升级为主机。然而,在数据集中集群架构中,由于存在多台可升级的备机,必须决定哪一台备机最适合成为新的主机,以及备机之间如何进行协调。qRR28资讯网——每日最新资讯28at.com

ZooKeeper是一个典型的开源数据集中集群解决方案,它通过ZAB算法来解决这些问题,尽管ZAB算法相当复杂。qRR28资讯网——每日最新资讯28at.com

对于数据分散集群,这种结构涉及多台服务器,每台服务器存储部分数据并备份其他部分数据。数据分散集群面临的复杂性在于如何将数据恰当地分配到不同服务器上。这涉及到以下几个设计要素:qRR28资讯网——每日最新资讯28at.com

均衡性:分配算法必须确保数据在各服务器之间的分布大体均衡,避免某台服务器的数据量显著高于其他服务器。qRR28资讯网——每日最新资讯28at.com

容错性:当部分服务器出现故障时,算法需要能够将受影响的数据区重新分配给其他服务器。qRR28资讯网——每日最新资讯28at.com

可伸缩性:当需要扩展集群容量时,算法应能自动将数据迁移到新增的服务器上,并确保扩容后数据依然均衡分布。qRR28资讯网——每日最新资讯28at.com

与数据集中集群不同,数据分散集群中的每台服务器都能处理读写请求,因此不存在像数据集中集群中那样的专门负责写操作的主机角色。然而,在数据分散集群中,需要有一个特定角色负责执行数据分配算法,这个角色可能是一台独立服务器,也可能是由集群内部选举产生的服务器。如果是后者,这台服务器通常也被称为主机,但其职责与数据集中集群中的主机职责有所不同。qRR28资讯网——每日最新资讯28at.com

Hadoop 的实现就是独立的服务器负责数据分区的分配,这台服务器叫作Namenode。Hadoop 的数据分区管理架构如下:qRR28资讯网——每日最新资讯28at.com

图片图片qRR28资讯网——每日最新资讯28at.com

与 Hadoop 不同的是,Elasticsearch 集群通过选举一台服务器来做数据分区的分配,叫作 master node,其数据分区管理架构是:qRR28资讯网——每日最新资讯28at.com

图片图片qRR28资讯网——每日最新资讯28at.com

在集群架构中,数据集中型集群只允许客户端将数据写入主节点,而数据分散型集群允许客户端在任何服务器上进行读写操作。这一关键差异决定了两种架构适用于不同的应用场景。数据集中型集群通常适用于数据量较小、服务器数量较少的情况,如ZooKeeper集群,通常建议使用约5台服务器,且每台服务器的数据量是可管理的。相反,数据分散型集群因其优越的可扩展性,更适合处理大量业务数据和大规模服务器群,如Hadoop和HBase集群,这些集群可包含数百甚至数千台服务器。qRR28资讯网——每日最新资讯28at.com

数据分区

在考虑存储高可用架构时,我们通常关注的是如何在硬件故障发生时维持系统的运行。然而,对于可能导致所有硬件同时故障的重大灾害或事故,如新奥尔良的水灾、美加大范围停电、洛杉矶的大地震等,单纯基于硬件故障的高可用架构可能不足以应对。在这种情况下,需要设计可以抵抗地理级别故障的高可用架构,这正是数据分区架构的来源。qRR28资讯网——每日最新资讯28at.com

数据分区架构通过按照特定规则将数据分布在不同的地理位置来避免地理级别的故障带来的重大影响。这种架构确保即使某一地区遭受重大灾害,也只有部分数据受到影响,而非全部数据。一旦地区故障恢复,其他地区的备份数据可以快速恢复受影响地区的业务运行。qRR28资讯网——每日最新资讯28at.com

设计有效的数据分区架构需要综合考虑多个方面:qRR28资讯网——每日最新资讯28at.com

1.数据量数据量的大小决定了分区复杂性。

例如,假设每台MySQL服务器的存储能力为500GB,那么2TB的数据需要至少4台服务器。但对于200TB的数据,简单地增加到800台MySQL服务器将极大增加管理复杂度。例如,可能每周都有服务器故障,从800台服务器中找出故障的那一两台并不简单,同时,运维复杂度也会显著提高。在地理分布上,若数据集中在一个城市,一旦发生大型灾难,风险极高。qRR28资讯网——每日最新资讯28at.com

2.分区规则

分区可以按照洲际、国家或城市等级别进行,具体采取哪种规则取决于业务需求和成本考虑。洲际分区适用于服务不同大洲的用户,由于网络延迟较大,通常用作数据备份而非实时服务。国家分区适合针对具有不同语言、法律需求的国家,通常也主要用于数据备份。城市分区则适合在同一国家或地区内提供低延迟服务,适用于异地多活等需求。qRR28资讯网——每日最新资讯28at.com

3.复制规则

即使采用了数据分区架构,每个分区仍然需要处理大量数据。单一分区的数据损坏或丢失仍然是无法接受的。因此,即使在分区架构中,也必须实施数据复制策略,以确保数据的安全和高可用性。qRR28资讯网——每日最新资讯28at.com

常见的分区复制规则有三种:集中式、互备式和独立式。qRR28资讯网——每日最新资讯28at.com

集中式备份

集中式备份系统设有一个主要的备份中心,所有的分区都将其数据传输至该中心进行备份。此架构的优点包括设计的简洁性,由于分区之间没有直接的联系,各自独立运作,互不干扰。此外,扩展性也较高,若需要添加新的分区,如武汉分区,仅需将其数据备份到已有的西安备份中心,不影响其他分区。然而,这种方式的缺点是成本相对较高,因为需要建立和维护一个独立的备份中心。qRR28资讯网——每日最新资讯28at.com

图片图片qRR28资讯网——每日最新资讯28at.com

互备式备份

互备式备份要求每个分区备份另一个分区的数据。这种设计较为复杂,因为每个分区不仅要处理自己的业务数据还要负责备份工作,分区间存在相互影响和依赖。扩展此系统相对困难,例如引入武汉分区可能需要重新配置广州分区的备份目标为武汉,同时还需处理原有的北京与广州的备份数据,不论是数据迁移还是保留历史数据都会带来挑战。但这种方法成本较低,因为它直接利用现有的设施。qRR28资讯网——每日最新资讯28at.com

图片qRR28资讯网——每日最新资讯28at.com

独立式备份

独立式备份中,每个分区都拥有自己的备份中心,且备份中心不与原数据中心位于同一地点。例如,北京分区的备份设在天津,上海的备份设在杭州,广州的则设在汕头,主要目的是为了防止同城或相同地理位置的灾难同时影响主数据中心和备份中心。这种架构的优点在于设计简单,分区间互不干涉,扩展也相对简单,新分区只需建立自己的备份中心即可。然而,其缺点是成本非常高,每个分区需要单独建设和维护备份中心,地点租赁和设施成本是主要的财务负担,使得独立式备份的成本远高于集中式备份。qRR28资讯网——每日最新资讯28at.com

图片 图片 qRR28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-85695-0.html聊聊高可用存储架构:集群和分区

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 打包Python代码的常用方法,让你的程序变成exe应用!

下一篇: 详解JavaScript中的层叠规则(CSS Specificity)

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • K60至尊版刚预热 一加Ace2 Pro正面硬刚

    K60至尊版刚预热 一加Ace2 Pro正面硬刚

    Redmi这边刚如火如荼的宣传了K60 Ultra的各种技术和硬件配置,作为竞品的一加也坐不住了。一加中国区总裁李杰发布了两条微博,表示在自家的一加Ace2上早就已经采用了和PixelWo
  • Rust中的高吞吐量流处理

    Rust中的高吞吐量流处理

    作者 | Noz编译 | 王瑞平本篇文章主要介绍了Rust中流处理的概念、方法和优化。作者不仅介绍了流处理的基本概念以及Rust中常用的流处理库,还使用这些库实现了一个流处理程序
  • 如何使用JavaScript创建一只图像放大镜?

    如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌KDD'23工作:如何提升推荐系统Ranking模型训练稳定性

    谷歌在KDD 2023发表了一篇工作,探索了推荐系统ranking模型的训练稳定性问题,分析了造成训练稳定性存在问题的潜在原因,以及现有的一些提升模型稳定性方法的不足,并提出了一种新
  • “又被陈思诚骗了”

    “又被陈思诚骗了”

    作者|张思齐 出品|众面(ID:ZhongMian_ZM)如今的国产悬疑电影,成了陈思诚的天下。最近大爆电影《消失的她》票房突破30亿断层夺魁暑期档,陈思诚再度风头无两。你可以说陈思诚的
  • iQOO Neo8系列新品发布会

    iQOO Neo8系列新品发布会

    旗舰双芯 更强更Pro
  • iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    iQOO Neo8系列或定档5月23日:首发天玑9200+ 安卓跑分王者

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
  • 联想YOGA 16s 2022笔记本将要推出,屏幕支持触控功能

    联想YOGA 16s 2022笔记本将要推出,屏幕支持触控功能

    联想此前宣布,将于11月2日19:30召开联想秋季轻薄新品发布会,推出联想 YOGA 16s 2022 笔记本等新品。官方称,YOGA 16s 2022 笔记本将搭载 16 英寸屏幕,并且是一
Top