首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小白晋级大师

    分布式系统架构4:容错设计模式

    这是小卷对分布式系统架构学习的第4篇文章,虽然知道大家都不喜欢看纯技术文章,写了也没多少阅读量,但是为了个人要成长,小卷最近每天都会更新分布式的文章1.概念容错策略,指的是“面对故障,我们该做些什么”; 2.断路器模式概念:借鉴了电路中的断路器工作原理,用于防止一个子系统的故障蔓延到整个系统。 此状态下,系统不会继续调用目标服务,避免资源浪费。 4.重试模式概念:适用于解决系统的瞬间故障,如:网络抖动、服务临时过载问题。通过设定调用超时时间和重试次数,在调用失败后自动重试,提升服务调用成功率。 服务恢复检测需要额外开销 服务调用失败率高,可能影响全局性能的场景舱壁隔离模式故障隔离,防止系统资源被耗尽 增加系统设计复杂性 多模块

    44610编辑于 2024-12-20
  • 来自专栏微信公众号【Java技术江湖】

    分布式系统理论基础4:Paxos

    https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 本文也将同步到我的个人博客: www.how2playlife.com 该系列博文会告诉你什么是分布式系统 引言 《分布式系统理论基础 - 一致性、2PC和3PC》一文介绍了一致性、达成一致性需要面临的各种问题以及2PC、3PC模型,Paxos协议在节点宕机恢复、消息无序或丢失、网络分化的场景下能保证决议的一致性 Multi Paxos 通过以上步骤分布式系统已经能确定一个值,“只确定一个值有什么用?这可解决不了我面临的问题。” 你心中可能有这样的疑问。 ? -- 本文提到的一些概念包括一致性(consistency)、一致性系统模型(system model)、多数派(quorum)、全序关系(total order)等,在以下文章中有介绍 :) 《分布式系统理论基础 - 一致性、2PC和3PC》 《分布式系统理论基础 - 选举、多数派和租约》 《分布式系统理论基础 - 时间、时钟和事件顺序》 《分布式系统理论基础 - CAP》

    65210发布于 2019-12-03
  • 来自专栏Java技术栈

    分布式系统中处理参数配置的 4 种方案

    还有就是系统变成分布式系统后,子系统越来越多,你要维护这些配置就变得越来越困难。 我觉得至少要能解决以下几个问题才能算优秀! 这种可以实现区分不同环境的目的,但仍然不能动态更新配置,而且配置和维护环境变量相当麻烦,并且在分布式系统中更是个十分头疼的问题。 4、配置中心法 1)目前大多数分布式配置中心都是基于 Zookeeper 来实现的,Spring Cloud 有自己的配置中心组件,它们都支持在线动态更新和刷新配置。 总结 这是我们目前应用的 4 种配置方法,很显然,配置中心是最佳的解决方案,也解决了以上的几个问题,但需要依赖中间件及其高可用性,如果你有其他更好的方式,欢迎留言。 更多分布式技术请在后台回复:分布式

    1.2K30发布于 2018-11-23
  • 来自专栏s09g的技术博客

    用于松散耦合分布式系统的Chubby锁服务 (4)

    为了减少读取流量,Chubby客户端将文件数据和节点元数据(包括文件缺失)缓存在内存中的一个一致的、可写入的缓存中。缓存由下面描述的租赁机制来维护,并由主服务器发送的无效信息来保持一致,主服务器保持着每个客户端可能缓存的内容的列表。该协议确保客户端看到的是Chubby状态的一致视图,或者是一个报错。

    49710编辑于 2022-07-06
  • 来自专栏s09g的技术博客

    零基础入门分布式系统 4. Broadcast protocols and logical time

    正如我们将在第5讲中看到的那样,这些协议可以用来构成更高级分布式算法。在实践中,几种不同的广播协议都有采用,它们的主要区别在于传递消息的顺序order。 因此,我们将在本章开始时,更深入地研究时钟如何帮助我们跟踪分布式系统中的顺序。 4.1 逻辑时间 之前我们看到来自物理时钟的时间戳可能与因果关系不一致,即使这些时钟是经过类似NTP的协议同步。 相比之下,logical clocks 逻辑时钟的重点是正确捕捉分布式系统中的事件顺序。我们要研究的第一种逻辑时钟是Lamport时钟,由Lamport[1978]在分布式计算论文中引入。 在上面的例子中,t = 2被附加到m1,t = 4被附加到m2。当收件人收到消息时,它将其本地Lamport时钟增加到消息中的时间戳加1;如果收件人的时钟已经领先于消息中的时间戳,就只进行递增。 组的成员可能是固定的,但系统也可能为节点提供加入和离开组的机制。如果一个节点出现故障,其余的节点可以继续收发消息。

    1.1K11编辑于 2022-07-06
  • 来自专栏shysh95

    分布式系统

    随着互联网的发展,单一节点部署的方式已经无法满足需求,需要通过增加节点来线性扩展系统的负载和性能,因此系统架构也由原来的集中式架构向分布式架构转变。 分布式 分布式系统主要由以下几个特征: 分布性:分布式节点在空间上任意分布 对等性:节点没有主从之分。 数据副本冗余数据,防止数据丢失,服务副本指多个节点提供相同服务,一个节点宕机,服务仍然可用 并发性 缺乏全局时钟:分布式系统很难定义事件的先后顺序 故障总是发生 分布式环境面临的主要问题: 通信异常:分布式系统需要各个节点之间相互通信 CAP和BASE理论 为了构建一个兼顾可用性和一致性的分布式系统,诞生了CAP和BASE理论。 CAP理论 CAP理论:一个分布式系统不可能同时满足一致性、可用性和分区容错性,最多只能满足两个。 在分布式系统中,分区容错性应该是必选的,然后再在一致性和可用性中寻求平衡。

    1.2K20发布于 2019-07-23
  • 来自专栏Java后端技术栈cwnait

    什么是分布式系统,如何学习分布式系统

    正文 虽然本人在前面也写过好几篇分布式系统相关的文章,主要包括CAP理论、分布式存储与分布式事务,但对于分布式系统,并没有一个跟清晰的概念。 分布式系统涉及到很多的技术、理论与协议,很多人也说,分布式系统是“入门容易,深入难”,我之前的学习也只算是管中窥豹,只见得其中一斑。 因此,一致希望能对分布式系统有一个更全面的认识,至少能够把分布式系统中的各个技术、理论串起来,了解他们在分布式系统分别解决什么问题,有哪些优秀的实现。 什么是分布式系统 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。 分布式系统特性与衡量标准 透明性:使用分布式系统的用户并不关心系统是怎么实现的,也不关心读到的数据来自哪个节点。

    1.2K31发布于 2019-12-01
  • 来自专栏罗西的思考

    PyTorch 分布式(4)------分布式应用基础概念

    [源码解析] PyTorch 分布式(4)------分布式应用基础概念 目录 [源码解析] PyTorch 分布式(4)------分布式应用基础概念 0x00 摘要 0x01 基本概念 0x02 设计思路 如果您有权访问计算集群,您应该咨询您的本地系统管理员或使用您最喜欢的协调工具(例如, pdsh、 clustershell或 其他)。本文我们将在一台机器之上使用以下模板来fork多个进程。 把if __name__ == '__main__': 替换为init_process(0, 0, run, backend='mpi') 运行 mpirun -n 4 python myscript.py 共享文件系统 共享文件系统要求所有进程都可以访问共享文件系统,并将通过共享文件协调它们。这意味着每个进程都将打开文件,写入其信息,并等待每个人都这样做。之后,所有所需的信息都将可供所有流程使用。 为了避免竞争条件,文件系统必须通过fcntl支持锁定 。

    3.2K32发布于 2021-11-16
  • 来自专栏服务端技术杂谈

    分布式系统分布式事务

    分布式系统首先面对的问题是分布式事务 当我们采用分布式来提高系统性能时,首先面对的问题是面对和处理分布式事务。 分布式系统处理数据: 数据分区:把数据块放在不同的服务器上,采用一致性hash; 数据镜像:让所有服务器都有相同的数据,提供相同的服务; 第一种问题,单台机器出现问题,会存在数据丢失的问题。 这就是数据副本:出现某个节点的数据丢失时可以从副本读到,数据副本是分布式系统解决数据丢失的唯一手段。

    1.1K81发布于 2018-04-16
  • 来自专栏罗西的思考

    TensorFlow 分布式环境(4) --- WorkerCache

    [源码解析] TensorFlow 分布式环境(4) --- WorkerCache 目录 [源码解析] TensorFlow 分布式环境(4) --- WorkerCache 1. Cache 在系统中的位置 4. Cache 在系统中的位置 我们虽然总结了 Cache 如何初始化,如何使用,但是我们迷失了 Cache 在系统之中的位置,现在我们看看究竟在系统之中,Cache 处于什么位置。 4. [腾讯机智] TensorFlow源码解析(1): 创建会话 05tensorflow分布式会话 第八节,配置分布式TensorFlow TensorFlow 分布式(Distributed TensorFlow

    75620编辑于 2022-05-09
  • 来自专栏月梦·剑心的技术专栏

    分布式系统概述

    这就是分布式系统: 很多台计算机组成一个系统,协作运行大型的应用。 但是一个问题随之而来,那就是,在系统中增加了计算机之后,整个系统的性能也是随之增加的吗?可用性不随着系统的扩展而变化吗?未必。 这就引出了分布式系统的目标: 可扩展性(Scalability)。 如果一个用户不能访问系统,就称为不可用。 可用性也就是容错性,这展现出分布式系统相比于单机系统得天独厚的优势,一台计算机是没有容错性的,但是分布式系统可以在一堆不可靠的组件上构建一个可靠的系统。 后世的研究者为了绕开这个定理达成共识,不得不选择(1)将异步系统转换为同步系统 (2)使用随机性算法。 另一个不可能性定理为CAP定理,指导我们对于分布式系统性质的取舍。 Raft算法是目前最成功的分布式共识算法,是非拜占庭容错的,在分布式系统的下一篇文章,我将会写一下Raft算法。 参考文献 [1] Jay Kreps.

    49430编辑于 2023-08-31
  • 来自专栏个人分享

    分布式系统简介

    现在工作中发现大数据技术的底层还是分布式系统,那么重新拾起,总结下~ 一、分布式系统简介 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。 位置透明性:用户无法判别资源在系统中的物理位置。 迁移透明性:如果一个分布式系统中的资源移动不会影响该资源的访问方式,就可以说这种分布式系统能够提供迁移透明性。 4、可扩展性问题   地域上的可扩展性问题,难以对现有的为局域网设计的分布式系统进行扩展的主要原因之一是这些系统基于同步通信。请求服务的以防(一般称为客户)在得到回应前是处于阻塞状态的。 该体系结构由4层组成。   最低的光线层:在特定站点提供对局部资源的接口,此为定制化接口,以允许在某个虚拟组织中实现资源共享。 参考文献:《分布式系统原理与泛型》

    1.8K20发布于 2018-09-06
  • 来自专栏FREE SOLO

    分布式系统基础

    分布式系统概念 What is a Distributed System? “一个分布式系统是若干个独立的计算机的集合, 但是对该系统的用户来说, 系统就像一台计算机一样。 ” 两个方面的含义: •  硬件方面: 各个计算机都是自治的 •  软件方面: 用户将整个系统看作是一台计算机 分布式系统的特点 优点 – 与集中式系统相比较 1、 经济性: 高的性能/价格比 2、 性能: 能产生单个大型主机不能达到的绝对性能 3、 应用的固有的分布性, 例如: •  CSCW •  工作流 4、 可靠性高 •  多工系统的容错能力 5、 可扩充性强 •  系统演进能力 evolution) 优点 --与独立PC机比较 1、 支持数据共享 •  文件 •  数据库 2、 支持设备共享 •  高档打印机 •  海量磁盘 3、 P2P通信 • email • BBS 4、 紧耦合式: 多用于并行系统 2.  松耦合式 : 多用于分布式系统

    86610发布于 2019-04-28
  • 来自专栏分布式存储

    分布式图片系统

    ,如何保证7x24小时的高可靠性服务,在这个契机下,我们推出了分布式图片系统。 ,提高了系统的响应速度并避免了资源的重复执行,造成浪费,提高了系统利用率 图片数据源采用了多套方案实现,为使公司原有业务、新开发业务能快速使用分布式图片系统提供支持,减少了使用系统的复杂性 其中一种数据数据源采用了高性能的 TFS分布式图片存储系统,利用多个数据节点,产生同一份数据的多份冗余备份,提高了数据的安全性,为遇到故障时数据的快速恢复提供了支持 能够应对客户端日益变化的希望获取各种图片尺寸的诉求,执行即时压缩和图片处理算法 整体系统采用模块化划分,将系统分为各个部分,减少了系统的耦合性,增强了每个模块的独立性,整个系统采用分布式部署结构,防止单点结构的出现,为防止系统出现雪崩提供支持 项目的目的 a). 前端模块-Nginx 使用nginx自定义module,接收http请求,在自定义module的handler中调用分布式图片实现。

    1.1K30发布于 2020-07-20
  • 来自专栏Java成长之路

    分布式系统入门

    一、什么是分布式系统分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅是通过消息传递进行通信和协调的系统。 首先分布式系统一定是由多个节点组成的系统,一般来说一个节点就是我们的一台计算机;然后这些节点不是孤立的,而是相互连通的;最后,这些连通的节点上部署了我们的组件,并且互相之间的操作会有协同。 二、为什么需要分布式系统? 升级单机处理能力的性价比越来越低。 大型主机的人才培养成本非常之高,大型主机操作非常复杂,对运维人员的要求非常高。 大型主机非常昂贵。 集中式的系统具有明显的单点问题。大型主机虽然在性能和稳定性方面表现卓越,但是一旦出现了故障,那么整个系统都将处于不可用状态,其后果相当严重。 三、分布式系统基础知识 ? 四、分布式系统中有哪些难点? 面对故障独立性:在分布式系统中,整个系统的一部分有问题而其他部分正常是经常发生的情况,我们称之为故障独立性。

    1.7K30发布于 2018-09-29
  • 来自专栏Spark学习技巧

    分布式系统浅谈

    但如果要延伸到高并发场景下就必然要了解分布式系统分布式系统特点 分布式系统:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统 这是分布式系统,在不同的硬件,不同的软件 分布式锁就是干这个事的。 4. 如果交通警察是交通系统的指挥官,而zookeeper就是各个节点组成分布式系统的指挥官。 分布式系统问题 如果把分布式系统和平时的交通系统进行对比,哪怕再稳健的交通系统也会有交通事故,分布式系统也有很多需要攻克的问题,比如:通讯异常、网络分区、三态、节点故障等。 1. 4. 节点故障 这个其实前面已经说过了,节点故障在分布式系统下是比较常见的问题,指的是组成服务器集群的节点会出现的宕机或僵死的现象,这种现象经常会发生。

    96020发布于 2021-03-05
  • 来自专栏Java

    浅谈分布式系统

    虽然它也支持持久化功能,但其主要设计是为了在内存中操作数据 为了更好的学习Redis,我们得先了解一下分布式系统,只有在分布式系统中,才能发挥Redis的“威力”,如果只在单机程序中,可以直接通过变量来存储数据 1.4 集群(Cluster)   指的就是引入多台主机/服务器,协同完成某项工作 分布式vs集群。 但共同使用可以解决更大的任务  评价指标(Metric) 可⽤性(Availability) 系统可用的时间/整体时间 平时我们常说的4个9即系统可以提供99.99%的可⽤性,5个9是99.999% 随着后期网站访问量增长 一台主机硬件资源(CPU,内存,硬盘,网络)有限的情况下 可以选择俩种方式 1.开源  简单粗暴 增加更多的硬件资源(CPU 硬盘 ) 但主机扩容能力也是有限的 一旦引入多台主机,就是“分布式系统 也就是我们平时遇到的专项客⼾经理服 务 4.读写分离+主从分离架构 前言: 增加应用服务器,确实能处理好过大的访问量,可随着而来的是,数据库要承担的数据量也变增大,这时候我们可以继续将数据库中的读/

    33610编辑于 2024-11-20
  • 来自专栏程序人生

    谈谈分布式系统

    今天我们先寻其最重要的一个根:分布式系统。这个题目对互联网从业者来说,看着可笑,谁敢说自己不了解分布式系统啊? 然而,如果你只是躲在 load balancer 后面做些 stateless 的 service,而没有真正去面对分布式系统那种让人愉悦并忧伤着的不确定性,那么,你可能并不真正了解分布式系统,因而本文还是值得一读 所以在分布式系统里很多时候我们需要一致性,来确保某些东西是有序的,大家在同一个 page,否则这个系统会走入歧途。 分布式系统中的坑 上文中我们已经把分布式系统中最基本的要素过了一下。接下来我们踩踩坑。 坑一:network is reliable。 有机会再写本文没有展开讲的共识机制,它是分布式系统的基石。

    1.1K100发布于 2018-03-29
  • 来自专栏小白晋级大师

    分布式系统架构8:分布式缓存

    这是小卷对分布式系统架构学习的第11篇文章,今天了解分布式缓存的理论知识以及Redis集群。 而能够保证强一致性的 ZooKeeper、Doozerd、Etcd 等框架,吞吐量比不过Redis,通常不会用作“缓存框架”,而是作为通知、协调、队列、分布式锁等使用2.透明多级缓存TMC实际开发中,同时搭配进程内缓存和分布式缓存 ,查询以进程内缓存数据优先3.实现方案3.1 memcached缓存在服务端,memcached集群环境实际就是一个个memcached服务器的堆积cache的分布式主要是在客户端实现,通过客户端的路由处理来达到分布式解决方案的目的 如下是memcached客户端路由过程:3.2 Redis缓存与memcached客户端支持分布式方案不同,Redis更倾向于在服务端构建分布式存储以Redis集群模式为例,它没有中心节点,具有线性可伸缩的功能 sentinel获取当前的master instance;读:从redis node中基于权重选取一个实例读取,失败/超时则轮询其他实例;要想详细了解redis的面试过程中的问题,可以参考下面的思维导图自行整理:4.

    72010编辑于 2025-01-20
  • 来自专栏服务端技术杂谈

    分布式概念-分布式系统是什么?

    什么是分布式系统呢? 从百度百科得到: 分布式系统是建立在网络之上的软件系统,拥有软件特性,所以分布式系统具有高度内聚性,和透明性。是建设于网络之上的高层软件,而不是硬件。 因为分布式系统建立在网络之上,由多个独立操作系统组成,所以分布式系统对比独立部署并运行于单一操作系统之上的软件系统来说存在要解决通信和共识等问题。 分布式系统特点 分布式系统是多个服务器通过网络互联而构建的松耦合系统,其具备以下特点: 分布式分布式由多台计算机组成,在地域上是独立分散的,可以分散在一个单位,一个城市,一个国家,或是全球范围内 整个系统的统一功能是分散在多个节点上实现的,因而分布式系统具有数据处理的分布式特性。 自治性:分布式系统各个节点包含自己独有的cpu和内存,具备独立的处理数据能力。 分布式系统中,节点之间通信不像单机系统那样非成功即失败,我们考虑到网络不确定性带来的问题,所以分布式场景下存在“分布式三态”的概念。

    6.5K11发布于 2020-02-19
领券