高可用架构去中心化重要?

这篇具有很好参考价值的文章主要介绍了高可用架构去中心化重要?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 背景

在互联网高可用架构设计中,应该避免将所有的控制权都集中到一个中心服务,即便这个中心服务是多副本模式。
对某个中心服务(组件)的过渡强依赖,那等同于把命脉掌握在依赖方手里,依赖方的任何问题都可能成为你不稳定的因素。
弱化强依赖,实现可降级交互,是一种设计理念和架构模式,目的是将系统的控制权分散到各个节点,避免出现单点故障或中心化控制的问题。
这一点,我们称之为『去中心化』

高可用架构去中心化重要?,架构,去中心化,java

具体来说,去中心化架构中的每个节点都具有自主性,可以独立地处理和存储数据,并且节点之间通过特定的协议或机制进行通信和协作。这种架构可以提高系统的可用性和可扩展性,降低对单个节点的依赖性,增强系统的可靠性和容错能力。

2 经典去中心化架构设计

我们去分析业内的很多经典的软件设计,都可以看到他们为了实现降低对中心服务(组件)的依赖,做了很多方案优化。

2.1 微服务注册中心

高可用架构去中心化重要?,架构,去中心化,java


如上图所示:
1、Provider 服务提供者:服务向注册中心注册服务信息,即 服务 -> 服务实例 数据模型, 同时定时向注册中心汇报健康检查,如果一定时间内(一般90s)没有进行心跳汇报,则会被注册中心剔除。
所以这边注意,注册中心感知到应用下线并进行剔除这个过程可能比较长。
2、Consumer 服务消费者:服务向注册中心获取所需服务对应的服务实例信息。这边需要注意,在Spring Cloud生态中,一般通过实时订阅或者定时拉取方式从注册中心中获取所需的服务实例信息。
3、Remote Call 远程调用:Consumer从注册中心获取的Provider的实例信息,通过 Load Balance的策略,确定一个实际的实例,发起远程调用。

去中心化分析:很明显,我们的注册和订阅都依赖注册中心(Eureka、ZK、Etcd或者其他...),如果这个注册中心挂了,我们连对服务的访问路由地址都无法匹配,请求都没办法发出去。
所以现在一般Client端会缓存依赖服务的地址列表到本地,即便注册中心挂了,在短时间内也会正常运行,只是新增或者更新的服务实例无法获取到。

2.2 分布式存储系统

分布式存储系统是实现去中心化的一种重要实现方式。通过将数据分散存储在多个节点上,而不是集中存储在中心服务器上,分布式存储系统可以避免单点故障和中心化控制的问题,提高系统的可用性和可扩展性。

在分布式存储系统中,每个节点都有自己的存储设备和计算能力,可以独立地存储和检索数据。节点之间通过特定的协议或机制进行通信和协作,共同维护系统的数据和功能。这种架构可以降低对单个节点的依赖性,增强系统的可靠性和容错能力。
 

高可用架构去中心化重要?,架构,去中心化,java


如图,B Region 如果挂了,流量会调度到A Region中,如果A、B均挂了,则会启动Backups Region,当然,数据可能会有一些延迟,但依然能保证系统正常提供服务。

3 常用的架构设计方案

业内有一些优秀的设计经验,用于规避中心故障导致的服务雪崩。

3.1 多副本模式+重试

高可用架构去中心化重要?,架构,去中心化,java


比如你的中心服务有20个副本(实例),其中一个副本(实例)出故障,导致执行返回5xx,那么第二次请求的时候大概会有 19/20 的成功概率。
负载均衡模式默认是RR,所以实例越多,实际上重试成功的概率会越高。

3.2 多副本模式+异常隔离

高可用架构去中心化重要?,架构,去中心化,java


如果依赖的中心服务存在多副本,那么即使存在不健康副本(实例),只要是被自动驱逐之后,服务依旧是健康的。
但是驱逐需要保障剩余的副本能够支撑峰值流量的冲击。

3.3 强大的主备模式

标准两地三中心建设(同城主、同城备、异地备),避免单机房故障,甚至区域自然灾害导致系统无法提供正常服务。

高可用架构去中心化重要?,架构,去中心化,java

3.4 极限兜底:如缓存保证依赖可降级

高可用架构去中心化重要?,架构,去中心化,java


类似微服务注册中心的做法,用一层缓存做兜底,一般来说数据库跟缓存同时出故障的概率不高。
笔者的团队就有一个案例:依赖的Etcd服务,用于路由分发的配置信息存储,失联了4小时,靠着缓存保证了大部分流量的正常运行。
文章来源地址https://www.toymoban.com/news/detail-799077.html

到了这里,关于高可用架构去中心化重要?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Web3.0 DApp(去中心化应用程序)设计架构

    先来回顾下 Web2.0 应用程序架构,一图胜千言:   图示是对大多数 Web 2.0 应用程序如何工作的一个很好的抽象总结。以一个博客平台为例: 首先 ,必须有一个地方来存储基本数据,也就是数据库; 其次 ,要有后端代码(用 Node.js、Java 或 Python 等语言编写),用于定义业务逻

    2024年02月02日
    浏览(55)
  • 前端和Java验签以太坊钱包签名实现中心化登录

    相信做过一些dapp项目的小伙伴都知道,当dapp需要和中心化的业务系统交互时,怎么验证登录成了一个问题。要dapp输入登录账户密码就很奇怪,违背了设计初衷,不登录吧,中心化系统又没有安全可言。 故此需要一个特定的动作。只有当钱包持有人授权登录(连接钱包),前

    2024年04月23日
    浏览(31)
  • 什么是“中心化”和“去中心化”?区块链是怎么实现去中心化的?

    图1 三类网络拓扑结构 所谓“中心化”和“去中心化”,最早是用来刻画网络拓扑结构的术语。1964年,美国兰德公司发布了一份关于分布式通信的报告,提出了三种网络结构(如图1)。其中,(a)类结构被称为“中心化星型网络”,(b)类结构被称为“去中心化网络”,(

    2024年02月11日
    浏览(50)
  • 中心化与去中心化的详细介绍

    **去中心化(decentralization)**是指在一个系统或组织中,权力、控制和决策权不是集中在单一的中心机构或个人手中,而是分散到多个节点或参与者中。相反,**中心化(centralization)**是指权力、控制和决策权集中在单一的中心机构或个人手中。以下是一些去中心化和中心化

    2024年02月05日
    浏览(52)
  • 中心化交易所和去中心化交易所优势分别在哪

    块链资产数字货币的特征:去中心化、无修改法式、分布式机制等。目前市场数字货币交易所涵盖中心化和去中心化两种。目前市场上交易所大部分为去中心化,区块链的精神理念就是去中心化,并且去中心化交易所安全系数不高,不安全。中心化交易所被盗的风险系数高,

    2024年02月16日
    浏览(60)
  • Multichain跨链无法到账,DApp真去中心化or伪去中心化?

    团队出问题,DApp就用不了,multichain被不少人质疑伪去中心化,甚至更有人开始质疑web3,那么这到底是怎么回事呢? 跨链桥问题让DApp的去中心化引发质疑 事情是这样的,5月24下午0xscope发推称与multichain有关的钱包地址将3.17M 的MULTI转入到gateio,而此前DC用户反馈自己的跨链资

    2024年02月08日
    浏览(69)
  • 【激励机制】一种去中心化和中心化的reputation的博弈论自洽激励

    先上一幅Swarm Learning 的架构图镇楼 我们希望实现 激励的可协调 ,也就是让每个节点可以可信地分享reputation的信息 我们引进 可转移支付 方案,让节点可信地共享reputation信息 我们还通过密码学的方法整合reputation信息 1.如果节点报告reputation信息,别人就会掌握有利的信息,

    2023年04月12日
    浏览(41)
  • 去中心化模型

    文章目录 前言 一、去中心化是什么? 二、比特币如何实现去中心化 三、去中心化优点及意义 总结 比特币引用了一个去中心化的模型,这个模型有何意义? 在说“货币”时,我们讨论的是数字世界中的价值表示。而在互联网上的数字世界中,人们曾设计出各种各样的电子现

    2023年04月09日
    浏览(43)
  • Rollup去中心化

    前序博客有: Rollup Decentralization 所有Rollup项目的目标应为: 构建技术栈 将运营和治理去中心化,并交给社区 从而可实现去中心化世界。“去中心化”一词激发了一种开放、无许可的理念,以及一大批具有更快乐哲学的参与者。 大多数L1区块链系统都是从 Honest Majority 诚实的

    2024年02月08日
    浏览(56)
  • 去中心化身份一般见解

    DID现在一般是”去中心化身份“(Decentralized Identity)的简称,它是一种没有中心化机构做最终担保的数字身份,是Web2”用户画像“概念在Web3的延伸和拓展. DID相关的赛道主要分应用场景、身份、凭证三层。凭证层是DID的构成组件,身份层是DID的具体形态,应用场景层是DID的

    2024年01月21日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包