导航菜单
路很长,又很短
博主信息
昵   称:Cocodroid ->关于我
Q     Q:2531075716
博文数:359
阅读量:2140241
访问量:255153
至今:
×
博文->>搜索结果(耗时0.031秒) 博文列表>>
Tags : 分布式、数据结构、一致性 发表时间: 2019-12-24 00:00:25
点击上方蓝色字关注我们~分布式知识是我们每个开发人员都是应该掌握的,即使你已经有几年的开发经验,但是对于分布式系统接触却寥寥无几,是时候学习一下技能了。分布式系统应具有以下四个特征:(1)分布性。分布式系统由多台计算机组成,它们在地域上是分散的,可以散布在一个单位、一个城市、一个国家,甚至全球范围内。整个系统的功能是分散在各个节点上实现的,因而分布式系统具有数据处理的分布性。(2)自治性。分布式系统中的各个节点都包含自己的处理机和内存,各自具有独立的处理数据的功能。通常,彼此在地位上是平等的,无主次之分,既能自治地进行工作,又能利用共享的通信线路来传送信息,协调任务处理。(3)并行性。一个大的
类别:架构 | 阅读(1217)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,网站架构,zookeeper 发表时间: 2017-07-11 16:05:56
  Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。  Zookeeper是针对大型分布式系统的高可靠的协调系统。由这个定义我们知道zookeeper是个协调系统,作用的对象是分布式系统。为什么分布式系统需要一个协调系统了?理由如下:  开发分布式系统是件很困难的事情,其中的困难主
类别:大数据 | 阅读(1783)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,接口,幂等 发表时间: 2017-02-22 21:16:31
概念幂等性,Idempotence,这个词来源自数学领域,百科上一元运算的幂等性解释如下:>设f为一由{x}映射至{x}的一元运算,则f为幂等的,当对于所有在{x}内的x:>f(f(x))=f(x)>特别的是,恒等函数一定是幂等的,且任一常数函数也都是幂等的。幂等性衍生到软件工程中,它的语义是指:函数/接口可以使用相同的参数重复执行,不应该影响系统状态,也不会对系统造成改变.一个简答的例子:查询接口GetFoo(),不管调用多少次,都不会破坏当前的系统/内存,这就是一个幂等操作.当然,系统内部产生的日志这些细节不要在意.在HTTP/1.1规范中,幂等性有类似的明确定义:>
类别:大数据 | 阅读(2409)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,算法,snowflake,Twitter 发表时间: 2016-03-02 19:20:33
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没有顺序ID生成机制,所以开发了这样一套全局唯一ID生成服务。结构snowflake的结构如下(每部分用-分开):0-00000000000000000000000000000000000000000-00000-
类别:Java | 阅读(1950)| 回复(0)| (0) 阅读全文>>
Tags : kafka,分布式,队列 发表时间: 2015-07-24 21:17:28
根据KaFka官网的quickstart步骤进行运行KaFka程序,但是当运行Step4:Sendsomemessages这个步骤出现了这个问题:Exceptioninthread“main”kafka.common.FailedToSendMessageException:Failedtosendmessagesafter3tries.atkafka.producer.async.DefaultEventHandler.handle(DefaultEventHandler.scala:90)atkafka.producer.Producer.send(Producer.scala:76)at
类别:消息队列 | 阅读(5146)| 回复(0)| (2) 阅读全文>>
Tags : kafka,分布式,队列 发表时间: 2015-07-24 00:44:31
使用kafka0.8.2版本在CentOS64位上启动官网上的quickstart说明例子时出现异常:##ThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue.#Nativememoryallocation(malloc)failedtoallocate986513408bytesforcommittingreservedmemory.#Anerrorreportfilewithmoreinformationissavedas:#//hs_err_pid6500.logOpenJDK64-BitServerVMwarni
类别:消息队列 | 阅读(3745)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,共识算法,故障容错算法,ZAB 发表时间: 2022-05-29 14:15:09
ReplicatedStateMachine(复制状态机)和Primary-BackupSystem的对比假设初始时X=0,客户端发送了X=1,X=X+5,X=X+1三个指令ReplicatedStateMachine(复制状态机)节点持久化的是日志序列,在节点之间复制的是日志序列,然后把日志序列应用到状态机(X),最终X=7Primary-BackupSystem节点存储和复制的都是X=1、X=6、X=7这种状态的变化序列两种模型的对比1.数据同步次数不一样存储的是日志序列:客户端的所有写请求都要在节点之间同步,不管状态有无变化存储的是状态变化:只需同步最后一条数据2.存储状态变化以客户端发
类别:分布式 | 阅读(234)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,共识算法,故障容错算法,Raft 发表时间: 2022-05-29 14:14:53
Raft算法的成员身份(服务器节点状态)领导者(Leader):同一时刻只有一个Leader,主要工作有处理写请求、管理日志复制和不断地发送心跳信息跟随者(Follower):默默接收和处理来自领导者的消息,当等待领导者心跳信息超时的时候,主动站出来,推荐自己当候选人候选者(Candidate):每一个节点都可以成为Candidate,节点在该角色下才可以被选为新的Leader,候选人将向其它节点发送请求投票(RequestVote)RPC消息,通知其它节点来投票,如果赢得了大多数选票,就晋升当领导者Raft算法是强领导者模型,集群中只能有一个领导者任何一个节点有且仅有三种状态:Leader、
类别:分布式 | 阅读(248)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,共识算法,故障容错算法,Paxos 发表时间: 2022-05-29 12:29:23
BasicPaxosBaxos解决的问题在多个并发节点中,保证三个节点存储的日志顺序一样复制状态机的原理是什么状态机的原理是:一样的初始状态+一样的输入事件=一样的最终状态。因此,要保证多个Node的状态完全一致,只要保证多个Node的日志流是一样的即可。即使这个Node宕机,只需重启和重放日志流,就能恢复之前的状态三种角色提议者(Proposer):提议一个值用于投票表决,可把客户端当成提议者。但在绝大多数场景中,集群中收到客户端请求的节点,才是提议者。好处是对业务代码没有入侵性,即不需要再业务代码中实现算法逻辑,可像使用数据库一样访问后端数据。代表的是接入和协调功能,收到客户端请求后,发起
类别:分布式 | 阅读(223)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,共识算法,故障容错算法,Bully,Gossip,NWR 发表时间: 2022-05-29 12:24:57
导语为什么要有分布式选举?主节点在一个分布式集群中负责对其它节点的协调和管理,它的存在可以保证其它节点的有序运行,以及数据库集群中的写入数据在每个节点上的一致性。(一致性是指,数据在每个集群节点中都是一样的,不存在不同的情况)分布式选举问题的本质是什么?传统的分布式共识方法,主要是基于多数投票策略实现的什么是分布式共识?在多个节点均可独自操作或记录的情况下,使得所有节点针对某个状态达成一致的过程本质是“求同存异”一致性和共识的区别是什么?一致性:分布式系统中的多个节点之间,给定一系列的操作,在约定协议的保障下,对外界呈现的数据或状态时一致的共识:分布式系统中多个节点之间,彼此对某个状态达成一致
类别:分布式 | 阅读(242)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,共识算法,拜占庭容错算法,PBFT,PoW,PoS,DPos 发表时间: 2022-05-29 12:19:33
什么是分布式共识?在多个节点均可独自操作或记录的情况下,使得所有节点针对某个状态达成一致的过程本质是“求同存异”一致性和共识的区别是什么?一致性:分布式系统中的多个节点之间,给定一系列的操作,在约定协议的保障下,对外界呈现的数据或状态时一致的共识:分布式系统中多个节点之间,彼此对某个状态达成一致结果的过程一致性强调结果,共识强调达成一致的过程,共识算法是保障系统满足不同程度一致性的核心技术分布式共识的两个关键点是什么?1.获得记账权2.所有节点或服务器达成一致拜占庭容错算法和非拜占庭容错算法拜占庭将军问题描述的是最困难的,也是最复杂的一种分布式故障场景,除了存在故障行为,还存在恶意行为的一个场
类别:分布式 | 阅读(326)| 回复(0)| (0) 阅读全文>>
Tags : 分布式事务,XA 模式 发表时间: 2021-10-26 15:19:25
作者|朱晋君XA协议是由X/Open组织提出的分布式事务处理规范,主要定义了事务管理器TM和局部资源管理器RM之间的接口。目前主流的数据库,比如oracle、DB2都是支持XA协议的。mysql从5.0版本开始,innoDB存储引擎已经支持XA协议,今天的源码介绍实验环境使用的是mysql数据库。两阶段提交分布式事务的两阶段提交是把整个事务提交分为prepare和commit两个阶段。以电商系统为例,分布式系统中有订单、账户和库存三个服务,如下图:第一阶段,事务协调者向事务参与者发送prepare请求,事务参与者收到请求后,如果可以提交事务,回复yes,否则回复no。第二阶段,如果所有事务参与
类别:分布式 | 阅读(512)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,脑裂,HA、集群 发表时间: 2017-09-23 15:05:29
1.引言脑裂(split-brain),指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争抢共享资源,结果会导致系统混乱,数据损坏。对于无状态服务的HA,无所谓脑裂不脑裂;但对有状态服务(比如MySQL)的HA,必须要严格防止脑裂。(但有些生产环境下的系统按照无状态服务HA的那一套去配置有状态服务,结果可想而知...)2.如何防止HA集群脑裂一般采用2个方法1.仲裁当两个节点出现分歧时,由第3方的仲裁者决定听谁的。这个仲裁者,可能是一个锁服务,一个共享盘或者其它什么东西。2.fencing当不能确定某个节点的状态时,通过fe
类别:分布式 | 阅读(1577)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,数据库,中间件 发表时间: 2016-07-05 20:29:03
摘要:目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的系列,希望可以对大家有帮助。分布式数据库中间件对比总结(1)目前数据库中间件有很多,基本这些中间件在下都有了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的系列,希望可以对大家有帮助。1.什么是中间件传统的架构模式就是应用连接数据库直接对数据进行访问,这种架构特点就是简单方便。但是随着目前数据量不断的增大我们就遇到了问题:单个表数据量太大单个库数据量太大单台数据量服务器压力很大读写速度遇到瓶颈当面临以上问题时,我们会想到的第一种解决方
类别:编程开发 | 阅读(1771)| 回复(0)| (0) 阅读全文>>
Tags : 分布式,事务 发表时间: 2016-04-06 20:33:46
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数据分块放在不同的服务器上(如:uid%16,一致性哈希等)。2)数据镜像:让所有的服务器都有相同的数据,提供相当的服务。对于第一种情况,我们无法解决数据丢失的问题,单台服务器出问题时,会有部分数据丢失。所以,数据服务的高可用性只能通过
类别:编程开发 | 阅读(1161)| 回复(0)| (0) 阅读全文>>
Tags : 架构,分布式网站 发表时间: 2016-03-03 18:43:19
本文是学习大型分布式网站架构的技术总结。对架构一个高性能,高可用,可伸缩,可扩展的分布式网站进行了概要性描述,并给出一个架构参考。一部分为读书笔记,一部分是个人经验总结。对大型分布式网站架构有很好的参考价值。  本次分享大纲如下大型网站的特点大型网站架构目标大型网站架构模式高性能架构高可用架构可伸缩架构可扩展架构安全架构敏捷架构大型架构举例一、大型网站的特点用户多,分布广泛大流量,高并发海量数据,服务高可用安全环境恶劣,易受网络攻击功能多,变更快,频繁发布从小到大,渐进发展以用户为中心免费服务,付费体验二、大型网站架构目标高性能:提供快速的访问体验。高可用:网站服务一直可以正常访问。可伸缩:通
类别:架构 | 阅读(1311)| 回复(0)| (0) 阅读全文>>