比特币:「高可用架构设计」的入门秘籍

前言

伴随着互联网的诞生和发展,高可用架构出现并不断完善。互联网早期许多系统只依赖于一台计算机来处理请求,所以经常出现「服务不可用」的情况。为了保持系统正常运行,出现将负载分配给能够满足需求的多台计算机的高可用架构。

工程师们反复使用并持续优化这些解决方案,以适应自己的需求。本文主要介绍高可用架构的演进及常用高可用架构优缺点及适用场景。

高可用性用来描述计算机系统或其组件在一段时间内连续运行的能力。政府、银行和其他合规监管行业通常需要数据计算和存储的高可用性,系统必须能够自动从服务器或组件故障中恢复。为了实现系统的可靠性,三个系统设计的原则可以用来实现高可用性:消除单点故障、可靠的故障切换、故障检测能力。在分布式系统中可以通过将多个冗余节点连接为一个集群来实现这一点,其中每个节点都能够进行故障检测和恢复。

高可用架构一般分为计算高可用和存储高可用,主要手段是数据和服务的冗余备份及失效转移。

支付巨头Visa加密负责人:自去年1月波场月活用户量一直高于以太坊、Polygon、Optimism与Arbitrum之和:金色财经报道,据支付巨头Visa公司加密负责人Cuy Sheffield在社交媒体披露数据显示,波场在新兴市场已得到广泛采用,此外2022年1月至2023年1月期间,波场月活用户量一直高于以太坊、Polygon、Optimism与Arbitrum月活用户量之和。此外,Polygon、Optimism与Arbitrum三个以太坊L2链上稳定币支付的活跃用户量同比增长超500%,说明当前仍处于稳定币支付的早期阶段。[2023/2/27 12:31:41]

计算高可用

计算高可用主要分为主备模式、主从模式、集群模式。三种模式都是通过计算模块冗余方式来规避单点故障的风险,不同的是三种方案故障检测及恢复方式不同,系统可用性也不一样。

主备计算高可用主备高可用架构任意时刻只有主机对外提供运算任务,备用机器根据运行状态分为冷备和温备。当系统出现故障时需要人为进行服务切换及故障恢复。此种架构实现方式最简单,主备之间不需要交互,不会为系统引入额外复杂度。但是此种方式主备服务无法无缝切换,可用性无法得到保证。

比特币矿企CleanSpark将2023年哈希率展望下调近30%:金色财经报道,比特币矿企Clean Spark(CLSK)将其2023年年底的哈希率或计算能力指导从之前的22.4EH/s下调至16exahash/s(EH/s),理由是其合作伙伴之一Lancium延迟建设采矿设施。(Coindesk)[2022/12/15 21:45:26]

主备计算高可用

主从计算高可用

主从模式和主备模式区别是从机也要执行一些任务,任务调度器负责将任务分类并发送给主机或从机。当主机出现故障时,如果主机不能够自动恢复,则需要人工操作,将原来的从机升级为主机,增加新的机器作为从机,新的从机准备就绪后,任务分配器继续按照原有的设计策略分配任务。主从模式发挥了从机的运算性能,可以减轻主机的运算压力,但是需要加入任务调度功能,实现会复杂一些。

数据:10月比特币矿工收入增长7.2%至5.899亿美元:金色财经报道,据The Block数据显示,10月调整后的链上比特币和以太坊交易量下降35.1%至2370亿美元。调整后的稳定币链上交易量下降24.2%至5804亿美元。比特币矿工收入增长7.2%至5.899亿美元。以太坊NFT市场交易量进一步下降25.1%,至3.775亿美元。合法的CEX现货交易量减少25.9%至5438亿美元。[2022/11/2 12:07:24]

主从计算高可用集群计算高可用

集群模式是将服务器组合在一起以作为一个统一的系统对外提供服务,也称为故障转移集群,它们共享相同的存储但使用不同的网络。对于有负载均衡功能的集群每个节点具有相同的功能,因为它们可以运行它们所支持的主系统的相同工作负载。如果集群中的服务器出现故障,另一台服务器或节点可以立即接管,以确保集群支持的服务保持正常运行。使用高可用性集群有助于确保关键系统没有单点故障,并减少或消除停机时间。

Square Peg第五支基金完成5.5亿美元募资:10月26日消息,风险投资公司SquarePeg宣布旗下第五支基金完成5.5亿美元募资,投资者包括澳大利亚养老基金Hostplus和Australian Super,以及家族办公室、机构和捐赠基金。

SquarePeg合伙人Tushar Roy表示,新基金会密切关注澳大利亚、以色列和东南亚地区Web3市场的高水平活动。此前报道,SquarePeg于今年八月与Beenext、Hashed共同领投了区块链游戏基础设施初创公司Lysto1200万美元A轮融资。[2022/10/26 16:39:10]

高可用计算集群

一个高可用集群系统必须有一个精心设计的、预先设计好的负载均衡机制,以在集群节点之间分配运算任务。负载均衡器对运算节点进行持续的健康检查,以确保它们可以处理请求。负载均衡机制必须在节点故障的情况下指定确切的故障转移过程。

BNB Chain公布第五批Web3加速器计划入围名单,27个项目涵盖DeFi、音乐和NFT等领域:10月4日消息,BNB Chain公布第五批Web3加速器计划最有价值建设者的第五批、累计27个入围项目名单,涵盖DeFi、音乐和NFT、游戏和元宇宙、基础设施和工具、安全等领域,其中7个项目将获得Binance Labs的投资。[2022/10/4 18:39:04]

集群模式解决了故障检测、故障转移及故障修复的问题,能够最大化系统的可用性,但也引入了系统复杂度。在高可用性集群中必须防止的关键情况之一是“脑裂”。当所有私有内部连接同时被切断,但集群节点仍在运行时,就会发生“脑裂”。在这种情况下,集群的所有节点可能会错误地认为所有其他节点都已关闭,并尝试启动其他节点已经在运行的服务。对于同一服务的多个版本,所有这些版本都可能暴露给用户,并可能导致数据损坏,并且向一个HA集群添加过多的虚拟机和主机会导致负载平衡变得困难。

存储高可用

存储高可用通过数据复制,来实现存储冗余,进而实现高可用。存储高可用是系统设计的关键点及难点,需要保证系统的数据一致、可用、分区容忍。存储高可用常用的架构有主从模式和集群模式。

主从模式中,主机负责读写并定期复制数据给从机,从机仅承担读操作,可以减轻主节点的访问压力。一旦主机宕机,可以通过人工手段,将其中一个从节点切换为主节点。主从模式故障时需要人工干预,并且客户端需要感知主从关系,并将不同的操作发给不同的机器进行处理。在此模式下每个机器上存储的都是全量数据,但是单机的数据存储量总是有上限的,所以存在存储容量的限制,并且不容易扩容。和主从运算高可用类似,当主机出现故障时,如果主机不能够自动恢复,则需要人工操作,可用性无法得到保证。

主从高可用存储模式

集群模式由多个节点组成存储集群,每个节点负责存储部分数据,Client存储数据时,数据根据分片算法被路由到不同的存储节点。集群节点间运行共识算法,当有节点宕机时,共识算法会选举新的主节点并来调度集群的数据存储。基于共识复制的系统,写入被提议到一个节点,然后被复制到一定数量的其他节点。一旦大多数节点确认写入,就可以提交。它可以保证一致性,也可以提供高可用性。从节点可以用来读取数据,从而减少主节点的访问压力。

集群高可用存储模式

集群模式通常添加某种路由技术,将客户端定向到正确的站点来处理他们的请求。分片路由器按特定算法拆分数据,常用算法有取模、检索表、一致性哈希等,并将这些段分布在多个站点之间,每个节点可以视为一个独立的子集,针对子集,仍然需要保证高可用。分片可以在多台机器之间分配工作负载,提高吞吐量,并通过容忍更多的部分故障和消除单点故障来创造更大的弹性。

总结

在过去的几十年里,系统可用性架构取得了长足的进步,从主备模式、主从模式到高可用集群,架构师不断在CAP原则的基础上寻求适合自己应用场景解决方案。主从模式主要应用在需要快速写入的应用场景,集群模式适用于需要一致性的应用场景。现在很多系统服务都是在全球范围内部署,服务永远都不会停止,我们还在研究更好的可用性和更大规模的架构。

马耀耀

趣链科技数据网格实验室??BitXMesh后端开发工程师

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

瑞波币元宇宙:中国之元宇宙,优势何在?

文章源自元宇宙见闻作者|Believer编辑|Mamie前情提要|中美元宇宙之争:这场博弈谁能走到最后?元宇宙“爆火”,大厂纷纷入局,上千家公司抢注元宇宙商标,这无疑是人类文明的一次内卷.

[0:31ms0-0:976ms