- 博客(27)
- 资源 (37)
- 收藏
- 关注

原创 分布式体系结构之非集中式结构
前言上文介绍了分布式体系结构中的集中式结构,目前很多云上的管理都采用了集中式结构,但是这种结构对中心服务器性能要求很高,而且存在单点瓶颈和单点故障问题。为了解决这个问题,分布式领域中又出现了另一经典的系统结构,即非集中式结构,也叫作分布式结构。1、非集中式结构概述在非集中式结构中,服务的执行和数据的存储被分散到不同的服务器集群,服务器集群间通过消息传递进行通信和协调。也就是说,在非集中式结构中,没有中央服务器和节点服务器之分,所有的服务器地位都是平等(对等)的。相比于集中式结构,非集中式结构就降低了
2020-05-12 14:14:10
1108

原创 分布式技术与人工智能
1.什么是人工智能1.1人工智能概述目前人工智能已经广泛渗入到了我们的生活中,比如手机拍照美化、人脸识别、平安城市、自然语言处理、语音识别等。对人工智能的定义一般可划分为四类即:机器“像人一样思考”“像人一样行动”“理性地思考”“理性地行动”。注意:这里的行动,指的是采取行动或制定行动的决策。那么如何让机器像人一样具有智能呢?人并不是天生就会解决问题的,我们经常会听到一句经典的话“见多识广”,人遇到新的问题,是通过学习新知识,然后结合自己的经验去解决问题的。比如,人并不是生来就认识苹果,
2020-05-09 14:38:40
3180
1

原创 分布式技术架构原理解析之协调与同步(五)分布式锁
前言前面的文章详细介绍了“分布式互斥”,解释了同一临界资源(共享资源)同一时刻只能被一个程序访问的问题,也就是说只有获得访问权限的进程才可以访问共享资源,而此时其他进程必须等待拥有该权限的进程释放权限。那么在访问共享资源时,这个权限是如何设置或产生的呢?以及设置或产生这个权限的工作原理是什么?本文就来介绍分布式锁是如何解决这个问题的。...
2020-05-08 16:34:09
255

原创 分布式技术架构原理解析之协调与同步(四)分布式事务
概述通常我们在网上商城购物,对于每一笔订单交易来说,一般会有两个核心的步骤:订单业务:下订单操作库存业务:减库存操作订单业务和库存业务一般会运行在不同的机器上,甚至是运行在不同区域的机器上。针对同一笔订单,当且仅当订单操作和减库存操作一致时,才能保证交易的正确性。也就是说一笔订单,只有这两个操作都完成,才能算做处理成功,否则处理失败,在分布式领域中,这个问题就是分布式事务问题。1、什...
2020-05-07 10:28:46
367

原创 分布式技术架构原理解析之序篇
1 前言分布式技术概念繁多、知识庞杂、新兴技术层出不穷,令许多新手望而却步。即使接触了一段时间分布式系统,仍然是经常各种概念、名词张冠李戴,傻傻的分不清楚;甚至是做了多年技术,也参与了很多分布式技术实践,却无法回答工作中各种分布式技术、组件、框架选型背后的根源。究其原因,主要是知识碎片化、不成体系、见树不见林。小编我就是这样之前作为传统存储工程师只了解产品层面的技术,目前转型分布式系统需要挑战非...
2020-04-28 19:36:21
527
2

原创 对分布式存储系统设计架构的理解
1传统存储今天和大家浅谈一下分布式存储设计方面我个人的一些理解。首先声明我本人不是做研发的,只是一个有着10年左右存储行业经验的普通工程师和产品经理。最早接触存储是在2010年,那时候说起存储大多指的是双控制器的磁盘阵列,比如:EMC、IBM、HDS等,除了双控制器架构还有多控制器的所谓高端存储,这些统称企业级存储。不过不管是中端的还是高端的,对于普通工程师来说都是一个黑盒子,我们并不知道其内部...
2020-04-27 14:00:38
1071
原创 分布式存储之分布式数据复制技术
前言在上一篇文章中,介绍了数据分布(也称数据分片)技术,主要用于构建数据索引的关键技术。数据分布的本质是,将原数据集划分为多个数据子集,以存储到不同的地方,在一定程度上体现了数据的可用性和可靠性(一个存储节点故障,只影响该存储节点的数据)。数据分片是确定数据位置,而数据复制是实现数据可靠性的关键方法。在实际情况下,仅考虑数据分片,其实是无法真正应用到生产环境的。因为,故障导致数据丢失和不可用是很常见的情况。因此,在进行分布式数据存储设计时,通常会考虑对数据进行备份,以提高数据的可用性和可靠性,而实现数据
2020-07-17 17:32:14
820
原创 分布式存储之数据分布方式之哈希与一致性哈希
数据分布设计原则数据分布,主要就是数据分片,它解决了确定数据位置的问题。假设,现在有上百 G 数据需要进行分布式存储,也就是要存储到不同的节点上。要实现数据分布其实有很多种方法,比如随机分布、范围分布、映射分布等。那么,我们应该如何选择到底要使用哪种方法呢?在分布式数据存储系统中,存储方案选型时,通常会考虑数据均匀、数据稳定和节点异构性这三个维度。从数据均匀的维度考虑,主要包括两个方面:不同存储节点中存储的数据要尽量均衡,避免让某一个或某几个节点存储压力过大,而其他节点却几乎没什么数据。比如,现在
2020-07-17 16:05:16
804
1
原创 分布式数据存储系统之三要素
什么是分布式数据存储系统?分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器里获取。如下图所示,当用户(即应用程序)想要访问数据 D,分布式操作引擎通过一些映射方式,比如 Hash、一致性 Hash、数据范围分类等,将用户引导至数据 D 所属的存储节点获取数据。上面的这个获取数据的整个过程与到商店购物的过程是不是有些类似呢?顾客到商店购物时,导购会根据顾客想要购买的商品引导顾客到相应的货架,然后顾客从这个货架上获取
2020-07-01 13:20:53
1026
原创 分布式存储之CAP理论
什么是 CAP?我们结合电商的例子,来理解 CAP 的含义。假设某电商,在北京、杭州、上海三个城市建立了仓库,同时建立了对应的服务器{A, B, C}用于存储商品信息。比如,某电吹风在北京仓库有 20 个,在杭州仓库有 10 个,在上海仓库有 30 个。那么,CAP 这三个字母在这个例子中分别代表什么呢?C 代表 Consistency,一致性,是指所有节点在同一时刻的数据是相同的,即更新操作执行结束并响应用户完成后,所有节点存储的数据会保持相同。在电商系统中,A、B、C 中存储的该电吹风的数量应该是
2020-06-28 11:06:45
797
原创 分布式通信之消息队列
前言上一篇介绍了分布式通信技术中的发布订阅。总结来说,发布订阅就是发布者产生数据到消息中心,订阅者订阅自己感兴趣的消息,消息中心根据订阅者的订阅情况,将相关消息或数据发送给对应的订阅者。在实际使用场景中,还有一种常用的通信方式,就是将消息或数据放到一个队列里,谁需要谁就去队列里面取。在分布式领域中,这种模式叫“消息队列”。什么是消息队列?在学术电子论文订阅的例子中,出版社或会议方将论文发布到论文网站(或平台)上,然后论文网站再将论文推送给订阅相关论文的老师或学生。这里的论文网站就是消息中心,负责根据订
2020-06-22 14:05:44
656
原创 分布式通信之发布订阅
前言上一篇文章介绍了分布式通信中的远程调用,其核心是在网络服务层封装了通信协议、序列化、传输等操作,让用户调用远程服务如同进行本地调用一样。其实,这种方式就是通过网络服务层的封装实现了不同机器上不同进程之间的直接通信,因为是直接通信,所以通过线程阻塞的方式实现同步调用比较容易,因此通常被用于同步调用。比如,机器 1 上的进程 A 调用机器 2 上的进程 B,进程 A 被挂起,进程 B 开始执行,当进程 B 将值返回给 A 时,A 继续执行。虽然这种方式也可以用于异步通信,但因为进程之间是直接交互的,
2020-06-18 17:39:22
311
原创 分布式通信之远程调用
前言分布式的本质就是多进程协作,共同完成任务。要协作,自然免不了通信。从今天开始就来介绍多个进程之间通信的相关内容,那么首先先介绍分布式通信中的远程调用。什么是远程调用?以电商购物平台为例,每一笔交易都涉及订单系统、支付系统及库存系统,假设三个系统分别部署在三台机器 A、B、C 中独立运行,订单交易流程如下所示:用户下单时,调用本地(机器 A)的订单系统进行下单;下单完成后,会远程调用机器 B 上的支付系统进行支付,待支付完成后返回结果,之后在本地更新订单状态;在本地远程调用机器 C 上的仓库
2020-06-03 17:53:39
888
原创 分布式计算模式之流水线
前言在分布式领域中解决类似具有依赖关系的流水线作业的计算模式,叫作流水线计算模式。其实,流水线计算模式就是将一个任务拆分为多个步骤(子任务),然后多个这样的任务通过对步骤(子任务)的重叠执行,以实现数据并行处理的场景。这种流水线模式在计算机领域中最先用于 CPU 指令设计,后来推广到机器学习领域进行数据处理、模型训练等。在流水线计算模式中,由于前一个子任务执行后,会扔给下一个子任务,由下一个子任务去展现自己的能力,即:前一个任务的结果是另外一个任务的输入。什么是流水线模式?计算机中的流水线(Pipe
2020-06-01 17:50:35
1237
原创 分布式计算模式之Actor
前言前几篇文章介绍了MapReduce 和 Stream 计算模式,虽然这两种计算模式对数据的处理方式不同,但都是以特定数据类型(分别对应静态数据和动态数据)作为计算维度。在接下来两篇文章中,将从计算过程或处理过程的维度,介绍另外两种分布式计算模式,即 Actor 和流水线。分布式计算的本质就是在分布式环境下,多个进程协同完成一件复杂的事情,但每个进程各司其职,完成自己的工作后,再交给其他进程去完成其他工作。而分布式进程那么多,如果需要开发者自己去维护每个进程之间的数据、状态等信息,这个开发量可不是一般
2020-05-27 12:02:40
556
原创 分布式计算模式之Stream
前言上文介绍了分布式计算模式中的 MapReduce 模式。这种模式的核心思想是:将大任务拆分成多个小任务,针对这些小任务分别计算后,再合并各小任务的结果以得到大任务的计算结果。这种模式下任务运行完成之后,整个任务进程就结束了,属于短任务模式。但是任务进程的启动和停止是一件很耗时的事儿,因此 MapReduce 对处理实时性的任务就不太合适了。实时性任务主要是针对流数据的处理,对处理时延要求很高,通常需要有常驻服务进程,等待数据的随时到来随时处理,以保证低时延。处理流数据任务的计算模式,在分布式领域中叫
2020-05-26 11:02:50
624
原创 分布式计算模式之MapReduce
前言前面文章中介绍两层调度时提到,Mesos 的第二层调度是由 Framework 完成的。这里的 Framework 通常就是计算框架,比如 Hadoop、Spark 等。用户基于这些计算框架,可以完成不同类型和规模的计算。那么,在接下来就来介绍分布式计算技术”了。分布式领域的4 种计算模式:MapReduce、Stream、Actor 和流水线。计算问题处理思想之分而治之分而治之的基本思想是将一个复杂的、难以直接解决的大问题,分割成一些规模较小的、可以比较简单的或直接求解的子问题,这些子问题之间
2020-05-25 19:30:33
941
1
原创 分布式调度架构之共享状态调度
前言上文介绍了在两层调度架构中,第二层调度只知道集群中的部分资源,无法进行全局最优调度。而要解决全局最优调度的问题需要共享状态调度。什么是共享调度集群中需要管理的对象主要包括两种:资源的分配和使用状态;任务的调度和执行状态;单体调度和两层调度实现集群对象管理的方式和问题单体调度:这两种对象都是由单体调度器管理的,因此可以比较容易地保证全局状态的一致性,但问题是可扩展性较差(支持业务类型受限),且存在单点瓶颈问题。两层调度:这两种对象分别由第一层中央调度器和第二层Framework 调度
2020-05-22 11:34:10
1331
原创 分布式调度架构之两层调度
前言上一篇文章中,介绍了单体调度。单体调度的核心是,所有节点的资源以及用户的任务均由中央服务器统一管理和调度。因此,中央服务器很容易成为单点瓶颈,会直接导致其支持的调度规模和服务类型受限。于是两层调度就出现了。本文主要就来介绍到底什么是两层调度,它是如何设计的,又有哪些调度算法呢?分布式两层调度上文提到单体调度架构,会存在单点瓶颈问题,其会限制调度的效率和支持的任务类型。说会限制任务类型是因为不同的服务具有不同的特征,对调度框架和计算的要求都不一样。比如有的业务最开始时只有批处理任务,后来发展到同时还
2020-05-21 00:33:59
1251
1
原创 分布式调度架构之单体调度
前言通过前两篇文章《分布式体系结构之非集中式结构》和《分布式体系结构之集中式结构》可以看出,分布式系统架构的目的是,将多个服务器资源管理起来,寻找合适的服务器去执行用户任务。而为用户任务寻找合适的服务器这个过程,在分布式领域中叫作调度。在分布式系统架构中,调度器就是一个非常重要的组件。它通常会提供多种调度策略,负责完成具体的调度工作。不同的分布式架构的调度器原理也不一样,最常见或最直观的是单体调度,就是任务和分布式系统中的空闲资源直接进行匹配调度,即:调度器同时管理任务和资源。本文就详细介绍分布式调度
2020-05-15 11:29:51
665
原创 分布式体系结构之集中式结构
前言对于云计算通俗的理解是把多个服务器管理起来,作为一个统一的资源提供服务。而如何组织,就是分布式体系结构的范畴了。在很多场景下请求都会汇总到一台服务器上,由这台服务器统一协调我们的请求和其他服务器之间的关系。这种由一台服务器统一管理其他服务器的方式,就是分布式体系结构中的集中式结构(也称为 Master/Slave 架构),其中统一管理其他服务器的服务器是主,其他服务器是从。下文主要介绍分布式体系结构中的集中式结构。1. 分布式集中式结构概述集中式结构就是,由一台或多台服务器组成中央服务器,系统内的
2020-05-11 12:04:07
2343
原创 分布式技术架构原理解析之协调与同步(三)分布式共识
1、分布式选举与分布式共识之前提到的分布式选举问题,是通过分布式选举算法从多个节点中选出一个主节点。不管是哪种选举算法,几乎都有一个共同特点:每个节点都有选举权和被选举权,当某个节点得到了大部分节点的同意或认可后成为主节点,然后主节点向其他节点宣告主权。从本质上看,分布式选举问题,其实就是传统的分布式共识方法,主要是基于多数投票策略实现的。2、分布式在线记账场景分布式在线记账:在没有集中的发...
2020-05-05 16:56:42
2140
原创 分布式技术架构原理解析之协调与同步(二)分布式选举
1 概述我们大家都知道集群一般是由两个或两个以上的服务器组建而成,每个服务器都是一个节点。也会听到数据库集群、管理集群等概念,也知道数据库集群提供了读写功能,管理集群提供了管理、故障恢复等功能。那么对于一个集群来说,多个节点到底是怎么协同,怎么管理的呢?比如,数据库集群,如何保证写入的数据在每个节点上都一致呢?答案是选一个“领导”来负责调度和管理集群中其他节点。这个“领导”,在分布式中叫做主节点...
2020-04-30 16:16:23
341
原创 分布式技术架构原理解析之协调与同步(一)分布式互斥
分布式互斥通过**《分布式技术架构原理解析之序篇》**,对分布式系统有了一个初步了解。今天,和大家一起分享:分布式协调与同步。学习如何让分布在不同计算机上的程序具有“团队精神”,换句话说就是如何让程序通过协作共同去达成一个业务目标。首先我们来看一下分布式互斥呢。在分布式系统里,对于同一共享资源,在同一时刻只能被一个程序访问,叫作分布式互斥(Distributed Mutual Exclusio...
2020-04-29 16:48:57
647
原创 浅谈存储协议及接口
在存储系统中,我们通常称上层协议为“指令”,一般执行动作是“读出从某某开始的多少长度的扇区”,指令包含三大关键信息:操作码,Operation Code,或者成为OP:比如Write,Read,Control(Inquery,Standby等等)。起始地址:从哪开始读。如果是文件的话,精确到字节。如果是硬盘的话,精确到LBA(扇区)。长度:从起始地址往后多长的一段字节或者扇区。...
2020-04-28 08:43:26
921
原创 简单聊一聊有关就业和职业发展的话题
在当前疫情的背景下想和广大大学生朋友们聊一聊有关就业和职业发展的话题。小编在大学学的是计算机专业,2006年毕业后还算比较顺利的进入了IT行业,做了一名普通的工程师,到现在算起来在这个圈子里也摸爬滚打十几个年头了,把一些我个人的经验和体会分享一下希望对大家有所帮助:除非有特别好的机会,或者特别充分的准备,否则尽量选择对口的行业,且专注于同一行业发展,不要随便跨行业。这一点是小编的真实体会,本人...
2020-04-28 08:29:42
739
1
原创 OpenStack组件架构及部分核心组件解析
1 OpenStack组件架构简介上图 VM是虚拟机,围绕 VM 的那些长方形代表 OpenStack 不同的模块(OpenStack 叫服务,后面都用服务这个术语),下面来分别介绍。**Nova:**管理 VM 的生命周期,是 OpenStack 中最核心的服务;**Neutron:**为 OpenStack 提供网络连接服务,负责创建和管理L2、L3 网络,为 VM 提供虚拟网络和物...
2020-04-27 16:50:34
2880
全面解析DDN存储和HPC解决方案.docx
2020-04-29
IBM GPFS架构特点浅析IBM GPFS架构特点浅析.pdf
2020-04-29
华为存储支持OpenStack技术白皮书.pdf
2020-04-29
大V话存储-长篇原创连载之华为9000.pdf
2020-04-29
大话集群文件系统.pdf
2020-04-29
Oracle入门基础理论.pdf
2020-04-29
SSD基础知识及一些技术解析.docx
2020-04-28
Lustre_Manual_cn_0.0.4.pdf
2020-04-28
Linux 性能分析.pdf
2020-04-28
什么是高性能计算.pdf
2020-04-28
文件系统那些事.pdf
2020-04-28
浅析GPU通信技术.pdf
2020-04-27
六大分布式文件系统分析.pdf
2020-04-27
ZFS文件系统.pdf
2020-04-27
Ceph性能测试:纠删码 vs. 三副本?.pdf
2020-04-27
生物信息分析平台BIOSTACK_产品白皮书.pdf
2020-04-27
对分布式存储系统设计架构的理解.pdf
2020-04-27
2020年中国互联网发展趋势报告.pdf
2020-06-03
联想HPC-AI-GPU服务器-人工智能技术-V2.pptx
2020-05-08
联想气象环保HPC解决方案-V3.pptx
2020-05-08
联想 HPC与生命科学-V3.pptx
2020-04-30
华为云数据中心解决方案技术白皮书.pdf
2020-04-30
华为视频云存储解决方案技术白皮书.pdf
2020-04-30
用户态文件系统fuse概念学习.docx
2020-04-30
从内核文件系统看文件读写过程.docx
2020-04-30
文件系统磁盘布局与I:O映射.docx
2020-04-30
Intel CPU微架构简介.docx
2020-04-29
[分享]Nebula Genomics白皮书非官方中文版.pdf
2020-04-29
分布式事务与一致性算法 Paxos & raft & zab.pdf
2020-04-29
分布式系统基石-etcd.pdf
2020-04-29
Ceph工作原理和安装.pptx
2020-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人