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

    分布式系统架构6:链路追踪

    这是小卷对分布式系统架构学习的第6篇文章,关于链路追踪,之前写过traceId的相关内容:https://juejin.cn/post/7135611432808218661,不过之前写的太浅了,且不成系统 ,只是简单的理解,今天来捋一下链路追踪的理论1.为什么需要链路追踪在复杂的分布式系统中,系统通常由多个独立的服务组成,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路。 Span由另一个Span引发,则会记录父Span ID时间戳、标签和日志每一次Trace是由若干个有顺序、有层级关系的Span组成的一棵追踪树结构,图片来源Dapper论文3.链路追踪的概念从广义上,分布式链路追踪系统可以分为三个部分 如果需要依赖开发者配合才能使追踪系统生效,这样是无法满足追踪系统“无所不在的部署”这个需求可扩展性:支持分布式部署,具备良好的扩展性,能支持的组件越多越好,至少在接下来几年内能处理服务和集群的规模数据的快速分析 6.链路追踪协议链路追踪协议的发展历史,2016 年 11 月,CNCF 技术委员会接受了 OpenTracing 作为基金会的第三个项目。

    41410编辑于 2025-01-01
  • 来自专栏微信公众号【Java技术江湖】

    分布式系统理论基础6:Raft、Zab

    https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 本文也将同步到我的个人博客: www.how2playlife.com 该系列博文会告诉你什么是分布式系统 引言 《分布式系统理论进阶 - Paxos》介绍了一致性协议Paxos,今天我们来学习另外两个常见的一致性协议——Raft和Zab。 理解的难度加上现实的骨感,在生产环境中基于Paxos实现一个正确的分布式系统非常难[1]: There are significant gaps between the description of the Zab Zab[5][6]的全称是Zookeeper atomic broadcast protocol,是Zookeeper内部用到的一致性协议。 实现分布式系统时,先从具体需求和场景考虑,Raft、Zab、VR、Paxos等协议没有绝对地好与不好,只是适不适合。

    73020发布于 2019-12-03
  • 来自专栏s09g的技术博客

    零基础入门分布式系统 6. Consensus

    然而,这种方法的最大问题是领导者可能单点故障:一旦领导者不可用,整个系统就会停机。 共识算法的设计主要取决于系统模型。 这一结论被称为FLP不可能原理(FLP result),它是分布式计算最重要的定理之一,以其三位作者Fischer、Lynch和Paterson的名字命名[Fischer et al.,1985]。 然而,大多数实际使用的系统通过使用时钟超时来避免non-termination非终止。回忆一下,在一个部分同步的系统中,我们不能假设有网络延迟或者节点执行速度的上下限。 每个节点都有一个唯一的ID,我们假设有一个全局常量nodes,包含系统中所有节点的ID集合。这个版本的算法不处理重新配置问题(在系统中增加或删除节点)。

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

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

    Chubby的客户端是单独的进程,所以Chubby必须处理比人们想象中更多的客户端;我们已经看到有90,000个客户端直接与Chubby的主服务器通信,远远超过了所涉及的机器数量。因为每个单元只有一个主服务器,而且它的机器和客户端的机器是一样的,客户端可以以很大的幅度压倒主服务器。因此,最有效的扩展技术是将与主服务器的通信次数减少一个较大的系数。假设主服务器没有严重的性能缺陷,主服务器的请求处理的微小改进也没有什么效果。我们使用了几种方法:

    40740编辑于 2022-07-06
  • 来自专栏苏三说技术

    6分布式ID

    通过这种方式,我们能够有效地避免数据冲突和重复插入的问题,从而保障系统的正常运行。 除了满足唯一性的基本要求外,作为主键 ID,我们还需要关注主键字段的数据类型、长度对性能的影响。 因为主键字段的数据类型、长度直接影响着数据库的查询效率和整体系统性能表现,这一点也是我们在选方案时需要考虑的因素。 服务器在校对时间时可能会发生时钟回拨的情况(当前时间回退),由于根据时间戳参与计算ID,这可能导致生成相同的ID,而这对系统来说是不可接受的。 如果时间差超过了设置的最大容忍时钟回退时间,系统将直接抛出异常;如果未超过,则系统会休眠等待两者时间差的时长,核心原则确保不会发放重复的ID。 在系统启动时会自动加载到这个文件,读取其中的类路径,然后通过反射机制实例化对应的类,完成主键算法的注册和加载。

    74310编辑于 2024-04-19
  • 来自专栏计算机学习

    xv6(6) 系统调用

    如此才能保证系统的稳定和安全。本节采用 $xv6$ 的实例来讲解系统调用具体是如何实现的。 理论部分 系统调用是给用户态下的程序使用的,但是用户程序并不直接使用系统调用,而是系统调用在用户态下的接口。 $Linux$ 里面系统调用使用的向量号是 $0x80$,$xv6$ 里面使用的 $64$(不同 $xv6$ 版本可能不同)。 这就涉及了系统调用号概念,每一个系统调用都唯一分配了一个整数来标识,比如说 $xv6$ 里面 $fork$ 系统调用的调用号就为 1。 上述差不多将系统调用的一些理论知识说完了,下面用 $xv6$ 的实例来看看系统调用具体如何实现的。 xv6$ 将所有具体的系统调用处理函数地址按照系统调用号的顺序集合成了一个数组。

    71610编辑于 2023-12-06
  • 来自专栏shysh95

    分布式系统

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

    1.2K20发布于 2019-07-23
  • 来自专栏菩提树下的杨过

    ZooKeeper 笔记(6) 分布式

      目前分布式锁,比较成熟、主流的方案有基于redis及基于zookeeper的二种方案。    大体来讲,基于redis的分布式锁核心指令为SETNX,即如果目标key存在,写入缓存失败返回0,反之如果目标key不存在,写入缓存成功返回1,通过区分这二个不同的返回值,可以认为SETNX成功即为获得了锁 redis分布式锁,看上去很简单,但其实要考虑周全,并不容易,网上有一篇文章讨论得很详细:http://blog.csdn.net/ugg/article/details/41894947/,有兴趣的可以阅读一下 关于zk的分布式锁,网上也有一篇文章写得不错,见http://blog.csdn.net/desilting/article/details/41280869 个人感觉:zk做分布式锁机制更完善,但zk 只允许2个抢到锁的实例可以进行业务处理,其它实例处于standby状态(即:备胎),如果这二个抢到锁的实例挂了(比如异常退出),那么standby的实例会得到锁,即:备胎转正,开始正常业务处理,从而保证了系统

    67280发布于 2018-01-18
  • 来自专栏Java后端技术栈cwnait

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

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

    1.2K31发布于 2019-12-01
  • 来自专栏look Java

    6 zookeeper实现分布式

    zookeeper实现分布式锁 仓库地址:https://gitee.com/J_look/ssm-zookeeper/blob/master/README.md 锁:我们在多线程中接触过,作用就是让当前的资源不会被其他线程访问 实现分布式锁大致流程 整体思路 所有请求进来,在/lock下创建 临时顺序节点 ,放心,zookeeper会帮你编号排序 判断自己是不是/lock下最小的节点 是,获得锁(创建节点 -- 目前apache只提供了tomcat6和tomcat7两个插件 --> <artifactId>tomcat7-maven-plugin</artifactId> -- 6.开启事务 --> <tx:annotation-driven/> </beans> web.xml 注意哦 :仔细查看上面的项目结构 创建相应的文件夹 这里也会出现爆红,后面会自己消失 -- 网友投票最牛逼版本 --> </dependency> 在控制层中加入分布式锁的逻辑代码 添加了集群的ip /** * @author : look-word * 2022-07-17 10:

    36110编辑于 2023-12-07
  • 来自专栏架构师专栏

    保证分布式系统数据一致性的6种方案

    分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介绍下数据一致性的基础理论。 但在电商等场景中,对于数据一致性的解决方法和常见的互联网系统(如 MySQL 主从同步)又有一定区别,群友的讨论分成以下 6 种解决方案。 通过以上方法,达到了分布式系统的最终一致性。进一步了解 eBay 的方案可以参考文末链接。 三、去哪儿网方案 哪儿网分布式事务方案 随着业务规模不断地扩大,电商网站一般都要面临拆分之路。 那么运营系统取消订单的时候就是通过接口调用等方式来调用订单中心和库存管理的服务了,而不是直接去操作库。这就涉及一个『分布式事务』的问题。 ? 分布式事务有两种解决方式 1.优先使用异步消息。 要保证多个系统间数据一致,乍一看,必须要引入分布式事务框架才能解决。

    17.3K95发布于 2018-02-09
  • 来自专栏服务端技术杂谈

    分布式系统分布式事务

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

    1.1K81发布于 2018-04-16
  • 来自专栏散尽浮华

    分布式监控系统Zabbix-3.0.3-完整安装记录(6)-微信报警部署

    注意:设置里面的”进入认证系统“,认证是需要收费的,所以这里不进行认证。忽略这个设置。 注意:添加的用户一定要扫描下面”设置“->”企业号信息“里的二维码,关注这个企业号 ? 点击”系统管理组“设置管理员 ? ?  邮箱验证方式添加 ? ? ? 登陆上面的管理员邮箱,按照邮件提示进行密码登陆设置 ?  先扫描二维码进行绑定,然后设置密码 ? ? 登陆后,发现系统管理员已经设置成功了。 ? root@Zabbix-server src]# [root@Zabbix-server src]# wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58

    1.6K90发布于 2018-01-22
  • 来自专栏月梦·剑心的技术专栏

    分布式系统概述

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

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

    分布式系统简介

    现在工作中发现大数据技术的底层还是分布式系统,那么重新拾起,总结下~ 一、分布式系统简介 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。 2、透明性   将它的进程和资源实际上在多台计算机上分布这样一个事实隐藏起来,如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就称为是透明的。 位置透明性:用户无法判别资源在系统中的物理位置。 迁移透明性:如果一个分布式系统中的资源移动不会影响该资源的访问方式,就可以说这种分布式系统能够提供迁移透明性。 6分布式系统的类型 集群计算系统:通过在高速网络上挂接相对简单的计算机集,就可以构建成一个超级计算机,集群计算系统都可用于并行程序设计,即单个程序可以在多台计算机上并行地运行。 参考文献:《分布式系统原理与泛型》

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

    6-系统调用

    系统调用 系统调用是操作系统提供给应用程序(开发人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务 程序接口由一组系统调用组成 系统调用的概念和作用 应用程序通过系统调用请求操作系统的服务。 系统中各种共享资源都由操作系统统一掌管,因此用户程序想要执行与资源有关的操作(例如存储分配。I/O操作,文件管理等)都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。 ,对进程的控制,这些功能需要执行一些特权指令,所以系统调用的相关处理需要在核心态下进行 系统调用与库函数的区别 应用程序本身可以通过汇编语言直接进行系统调用,但是常见情况下更多是使用高级语言间接进行系统调用 高级编程语言向上层(应用程序)提供库函数,这些库函数中的一部分对系统调用进行了封装,隐藏了系统调用的细节,使上层进行系统调用更加方便 系统调用的背后过程 注意: 陷入指令是在用户态执行的,执行陷入指令后立即引发一个内中断

    65930编辑于 2022-10-27
  • 来自专栏程序员奇点

    分布式锁的6个层次

    分布式锁的原则 互斥性, 一次只能有一个客户端获得锁, 不死锁,客户端如果获得锁之后,出现异常,能自动解锁,资源不会被死锁。 get",KEYS[1]) == ARGV[1] then return redis.call("del",KEYS[1]) else return 0 end // 在公司的redis-v6包已经支持 = nil { return errCode } // doSomeThing } // 注意,以下代码还不能用cas优化,因为公司的redis-v6还不支持oldvalue 如果丢失的数据跟分布式锁有关,则会导致锁的机制出现问题,从而引起业务异常。针对这个问题介绍两种解法: 使用红锁(RedLock)红锁是Redis作者提出的一致性解决方案。 如果用红锁来实现分布式锁,那么丢锁的概率是(k%)^N。鉴于Redis极高的稳定性,此时的概率已经完全能满足产品的需求。 红锁的问题在于: 加锁和解锁的延迟较大。

    37310编辑于 2024-01-22
  • 来自专栏罗西的思考

    PyTorch 分布式 Autograd (6) ---- 引擎(下)

    [源码解析] PyTtorch 分布式 Autograd (6) ---- 引擎(下) 0x00 摘要 上文我们介绍了引擎如何获得后向计算图的依赖,本文我们就接着看看引擎如何依据这些依赖进行后向传播。 ] PyTorch分布式(6) ---DistributedDataParallel -- 初始化&store [源码解析] PyTorch 分布式(7) ----- DistributedDataParallel 然后将在第6点接受到的send方法插入队列,以便在该worker的本地 autograd 引擎上执行。 8)然后将在第6点接受到的send方法插入队列,以便在该worker的本地 autograd 引擎上执行。 autograd 全部分析完毕,前面说过,分布式处理有四大金刚,我们简介了 RPC,RRef,分析了分布式引擎,从下一篇开始,我们开始分析剩下的分布式优化器,此系列可能包括4~6篇。

    1.1K30编辑于 2021-12-08
  • 来自专栏FREE SOLO

    分布式系统基础

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

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

    分布式图片系统

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

    1.1K30发布于 2020-07-20
领券