走在前往架构师的路上

专注于分布式计算,大数据,数据挖掘,机器学习算法等领域的研究

状态机在分布式系统中的应用

前言在大型的分布式系统中,经常会涉及到状态的改变,这里的状态变化可以分很多种,最极端的情况是,任何状态之间都可以互相切换。这种状态之间的切换,转变,更加官方一点的称为叫状态机。这个词可能很多人会感到比较陌生,英文就是State Machine。所以如果大家在学习开源项目中,看到这个单词,指的就是状...

2017-09-10 15:58:09

阅读数:2281

评论数:0

聊聊错误注入技巧

前言什么是“错误注入”?错误注入指的是将错误引入到我们的程序中。可能有人会很好奇,这么做有什么目的呢?答案很简单:程序的测试。因为在很多时候,当我们要进行边缘情况测试的时候,往往模拟测试的场景不是非常好造的(尤其是分布式类的程序更是如此),这个时候,我们需要有快捷的方式将错误注入到程序中,以便在我...

2017-02-26 20:00:32

阅读数:3874

评论数:5

Storm源码目录结构分析

前言 由于公司业务的需要,我从比较熟悉的Hadoop平台的学习转到了实时计算框架Storm上面,还好其中的很多东西都是类似的,比如JobTracker对应于Storm中的Nimbus等等.相比于Hadoop的这种离线批处理的作业方式,Storm则是跟他完全相反的实时处理计算,数据源源不断的产生,...

2015-03-17 18:44:30

阅读数:2486

评论数:0

分布式系统阅读笔记(十五)-----协调和一致性

介绍 这里说的协调和一致性指的是在分布式系统的环境下,对于多进程访问共享资源的一个协调和数据状态的一致性的保证。其中的措施包括分布式的共有排除机理,在组通信中的协调和一致性的手段,还有这其中可能会出现的一些问题。在整个协调服务的过程中,有一个东西非常重要,就是失败的监听,这里需要一个失败监听器。可...

2015-01-14 14:17:00

阅读数:2154

评论数:0

分布式系统阅读笔记(十四)-----时钟和全局状态

介绍 在分布式系统中,时间是一个巨大的问题,因为在不同的电脑上会有他们自己的物理时间,如何做到状态事务的一致性往往比较难。缺少一个全局的物理时间使得很难去发现一段分布式程序的执行的状态是如何。 时钟,事件,进程状态和时间同步算法 小标题中提到的3个 名次在分布式的时间中出现最多频率的词。如何同步不...

2015-01-12 11:22:26

阅读数:3668

评论数:0

分布式系统阅读笔记(十三)-----命名服务

介绍 这篇笔记将要讲述的是命名服务,命名服务用一句话说就是帮助客户端进行资源的定位通过给定他们的名字的方式,与命名服务十分类似的,这里还会提到目录服务,具体的说是可以通过属性查找,后面将会以DNS,GNS等为例子。 1、在这里说的名字是指与对应的对象进行了绑定的关系,而属性指的是对象与多个属性值进...

2015-01-08 16:50:46

阅读数:3867

评论数:0

分布式系统阅读笔记(十二)-----分布式文件系统

一、介绍 一个分布式系统本质上就是一段程序能够存储和访问远程文件就像访问本地文件类似,能够允许任何连上网络上的用户都可以访问。在后面的记录中,主要是对2大文件系统NFS和AFS做详细的介绍和分析。 1、文件系统在最初的设计时往往是按照中心结点服务的方式构建,在中心节点服务器中保持着大量的文件资...

2015-01-06 15:17:40

阅读数:2128

评论数:0

分布式系统阅读笔记(十一)-----安全

一、介绍 在分布式系统中,对于数据的隐私的保证性,完整性和可用性显得至关的重要。安全攻击的手段可以去窃取,篡改用户的信息。正是因为如此种种的情况发生了,才有了后面一系列的安全的相关防御方法。 1、这些安全的机理本质上就是以一种预想的方式对资源进行一层包装。这种包装隔离的手段可以是物理上的隔离,比如...

2015-01-04 11:00:22

阅读数:2622

评论数:0

分布式系统阅读笔记(十)-----P2P对等网络系统

一、介绍 P2P系统全称是peer-To-peer System,就是对等系统的意思。他的出现使得资源可以在所有的节点间进行数据的共享了,前提是只要他是连上网络的。在P2P系统中,所有的资源和数据对象都分布于各个节点中。 1、P2P系统可以用在一些分布式的应用和服务当中。 2、在P2P中一个好的资...

2015-01-01 15:05:59

阅读数:3706

评论数:0

分布式系统阅读笔记(九)-----Web Service服务

一、介绍 Web Service用一句话概括就是它提供了一个服务接口使客户端能够与服务端进行交互用非常多种的方式,超过普通的浏览器的模式。在Web Service中通常是以XML的格式方式进行传输和通信的。这其中还涉及了XML的Security安全方面的操作。 1、Web Service服务是...

2014-12-30 15:57:03

阅读数:1618

评论数:0

分布式系统阅读笔记(八)-----分布式对象和组件

一、介绍 在分布式系统中,一个完整的中间件需要展现一定的对于上层程序语言的以及底层的物理设施的抽象性。而分布式对象和分布式组件恰恰是2种重要的实现方式。 1、分布式对象包集成了面向对象的语言的特征和优点。能够使用户用类似面向对象的语言调用的层次上去实现远程的方法调用。 2、分布式对象有下面的...

2014-12-29 09:41:01

阅读数:2197

评论数:0

分布式系统阅读笔记(七)-----操作系统的支持

介绍) 前面主要介绍了一些直接通信和间接通信,包括一些中间件的一些技术,这次我学习的内容是层级再往下,用一句话形式就是:在分布式系统中的操作系统级别对于中间件的支持。在这篇中,主要关注与操作系统级别对于通信的一些支持,包括RPC这样的远程调用等。 操作系统的层次) 操作系统是一个凌驾于纯硬件...

2014-12-27 15:42:17

阅读数:1625

评论数:0

分布式系统阅读笔记(六)-----间接通信

介绍) 这次的内容其实与上篇学习的内容正好是相对的,之前的各种通讯方式其实说的都是直接通讯,而这次我学习的内容是间接通讯,二者的本质区别在于间接通讯把时间和空间进行了分离,直接通讯在这2点上都进行了耦合,有点事操作直接简单,但是缺点也是非常明显的,扩展性差,不能很好的面对变化。根据空间和时间2个维...

2014-12-25 19:46:40

阅读数:2345

评论数:0

分布式系统阅读笔记(五)-----远程调用

介绍) 这篇笔记主要讲的是远程调用的主要2种形式,RPC(远程过程调用),RMI(远程方法调用),这2种方法作为远程调用的实现形式,对于我们理解他们的过程非常有用。 请求回复协议) 在远程调用中,一个很重要的概念是啊请求回复协议,由客户端发送Request到服务端,服务端执行好操作之后,把结果在回...

2014-12-24 09:31:04

阅读数:2116

评论数:0

分布式系统阅读笔记(四)-----进程间通信

介绍) 进程间通信的方式里包含了非常多的内容,比如用于实现进程间通信需要用到许多协议提供的API,在进程间的远程方法的调用上需要的约定一定的数据格式,这就衍生出了数据集中编组的一种方式。还有多播网络技术和对于特定应用的虚拟网络技术。 协议的相关API) 为了实现进程间通信中,根据不同类型的通...

2014-12-22 21:14:41

阅读数:2686

评论数:0

分布式系统阅读笔记(三)-----计算机网络和网络互连技术

1)介绍 当前网络在分布式系统中的主要问题有2个,1个是延时问题,还有一个数据传输速率的问题,后者可能受各方面的因素影响,比如网络总带宽的限制等。下面列表几个在分布式网络系统中的几个主要可能的讨论点: 1.扩展性。 2.可靠性。 3.安全性。 4.网络移动性。 5.网络服务质量。 6...

2014-12-21 16:06:50

阅读数:2022

评论数:0

分布式系统阅读笔记(二)----系统模型

1)引言 这篇笔记将为你讲述在分布式系统中经常会提到的3种模型结构,而且也用在了很多的方面。 2)介绍 主要分为3个: 1.物理模型,就是对于底层物理机子的一层包装。 2.结构模型,由一系列的用于计算和通信的节点所组成 3.基本模型,基本模型涵盖的方面是非常多的,具体细分可以有安全模型,用于沟通等...

2014-12-19 15:44:35

阅读数:2118

评论数:0

分布式系统阅读笔记(一)-----分布式系统的特征

1)引言 从今天开始,我将会开始学习分布式系统的一些理论知识,全方面的重新学习分布式的各个技术点,所以选用了原版本的英文教材>作为学习的资源。在期间,我会没读完一章,及时的做一些阅读的笔记,1个是怕自己忘了,还有一个是把知识分享给大家,这也是我首次阅读全英文的书籍,还是挺吃力的,希望能坚持把...

2014-12-18 13:18:17

阅读数:4166

评论数:0

fastJson解析框架的学习

最近偶然间看到了以前写过的代码,发现了以前用的非常频繁的json解析框架fastjson。这个框架的确非常方便,帮助开发者省了很多的人工代码。以前那是因为没有时间写学习其中的原理,周末抽了点时间分析了下他的源码,可以作为不错的json解析框架的资料。主要分为2个步骤,1个是对象转json字符串,还...

2014-12-08 20:27:25

阅读数:9673

评论数:1

浅谈设计模式

随着对于编程的越来越深入,

2014-08-04 15:57:10

阅读数:1384

评论数:0

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