自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小白程序猿的博客

讲述一个小白程序猿的成长历程,分享实战中的解决方案和开发技巧,满满干货~

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 小白学分布式程序开发14-MQ

消息队列(MQ)——什么是MQ消息队列(MQ)是一种应用程序之间的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

2017-08-28 13:33:26 316

原创 小白学分布式程序开发13-幂等性

幂等性(Idempotence):分布式架构的基石,即同一个操作无论请求多少次,其结果都相同。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常等等。举个最简单的例子:*支付用户购买商品时使用网上支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会

2017-08-21 11:02:30 379

原创 小白学分布式程序开发12-PAXOS算法例子

例子       现有两个商人各有一个项目需要通过审批,但只有一个项目能通过,两人开始展开激烈的争夺。       商人A先找了官员1和官员2进行贿赂,官员1和2分别收取了¥10,等商人找到官员3时,没想到遭到了官员3的鄙视,官员3告诉他,商人B给了¥12。不过没关系,商人A已经得到了1,2两个官员的认可,形成了多数派。他可以进入提案采纳阶段了。       但是此时商人B

2017-08-16 09:55:06 340

原创 小白学分布式程序开发11-PAXOS算法1

Paxos的两个原则1、安全原则:保证不能做错的事a. 只能有一个值被批准,不能出现第二个值把第一个覆盖的情况b. 每个节点只能学习到已经被批准的值,不能学习没有被批准的值2、存活原则:只要有多数服务器存活并且彼此间可以通信最终都要做到的事a. 最终会批准某个被提议的值b. 一个值被批准了,其他服务器最终会学习到这个值

2017-08-16 09:23:38 345

原创 小白学分布式程序开发10-PAXOS算法

今天我们要学习的是莱斯利·兰伯特提出的PAXOS算法,我们先来了解一下莱斯利·兰伯特。简介:       莱斯利·兰伯特(LaTex软件创始人)是一名计算机科学家,同时他也是微软研究院首席研究员、美国国家工程院和科学院院士.主要成就:       时间、时钟和相对论、面包店算法、拜占庭将军问题、Paxos算法、抽象的正确性。       2013

2017-08-09 10:29:33 306

原创 小白学分布式程序开发9-三阶段提交

三阶段提交与两阶段提交不同的是,三阶段提交有两个改动点。1、引入超时机制。同时在协调者和参与者中都引入超时机制。 2、在第一阶段和第二阶段中插入一个准备阶段。保证了在最后提交阶段之前各参与节点的状态是一致的。                                                                   CanCommit阶段

2017-08-03 09:22:57 380

原创 小白学分布式程序开发8-二阶段提交的缺点

上次我们讲了二阶段提交,今天我们就接着来讲讲二阶段提交的缺点1.同步阻塞问题执行过程中,所有参与节点都是事务阻塞型的。当参与者占有公共资源时,其他第三方节点访问公共资源不得不处于阻塞状态。举例:接上一篇的例子,如果Jim是打电话到小白的宿舍里,小白用宿舍的公用电话来接,那么宿舍里的其他人想打电话只有等在小白后面了。2.单点故障由于协调者的重要性,一旦

2017-07-31 16:23:00 1074

原创 小白学分布式程序开发7-二阶段提交

什么是二阶段提交?先举个简单的例子来说明:小白程序猿训练营组织周末爬山的活动,组织者是Jim。第一阶段,Jim作为“协调组织者”,给小白和小明(参与者)发微信,组织他们俩明天8点在学校门口集合,一起去爬山,然后开始等待小白和小明答复。第二阶段,如果小白和小明都回答没问题,那么大家如约而至。如果小白或者小明其中一人回答说“明天没空,不行”,那么Jim会

2017-07-24 14:28:06 328

原创 小白学分布式程序开发6-BASE理论

什么是BASE理论?BASE理论是eBay架构师Dan Pritchett在对大规模分布式系统的实践总结基础上提出的,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(Eventual Consitency)。BASE是指:基本可用

2017-07-18 12:57:02 426

原创 小白学分布式开发5——CAP理论

今天我们来学分布式系统中CAP理论吧~一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。程序猿小白:一致性、可用性和分区容错性是什么意思呢? Consistency 一致性一致性指"all nodes see the same data at t

2017-07-12 15:19:48 530

原创 小白学分布式程序开发4-数据一致性模型

三种数据一致性模型:强一致性、弱一致性、最终一致性

2017-07-04 11:11:44 346

原创 小白学分布式程序开发3-分布式系统的数据一致性问题

今天我们来探讨一下分布式系统的数据一致性问题(What?Why?)数据一致性其实是数据库系统中的概念。我们可以简单的把一致性理解为正确性或者完整性,那么数据一致性通常指关联数据之间的逻辑关系是否正确和完整。我们知道,在数据库系统中通常用事务(访问并可能更新数据库中各种数据项的一个程序执行单元)来保证数据的一致性和完整性。而在分布式系统中,数据一致性往往指的是由于数

2017-07-03 13:00:11 318

原创 小白学分布式程序开发2-分布式架构下系统间交互的5种通信模式

分布式架构下系统间交互的5种通信模式1、request/response模式(同步模式)       客户端发起请求一直阻塞到服务端返回请求为止。普通的HTTP请求都属于同步模式。2、Callback(异步模式)        客户端发送一个RPC请求给服务器,服务端处理后再发送一个消息给消息发送端

2017-06-28 16:38:16 2186

原创 小白学分布式程序开发1-分布式的特点

初步了解分布式系统的定义及其6大特点:分布性、对等性、并发性、缺乏全局时钟、故障总是会发生点、处理单点故障。

2017-06-28 12:41:39 438

原创 欢迎关注小白程序猿的博客

大家好,我是小白程序猿。步入程序猿这个行业,有没有让你很有成就感呢?IT是一门新技术日新月异的职业,不能靠着死记硬背就能学的好。学习一门新技术,要知其然知其所以然,才能融会贯通,做到学以致用。欢迎大家关注小白程序猿的博客,我们会带领大家走上正确的学习道路!

2017-06-28 09:53:06 370

java程序员面试题

java程序员面试题汇总,经常碰到的考题。

2010-01-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除