分布式与集群
文章平均质量分 64
whycold
这个作者很懒,什么都没留下…
展开
-
分布式与集群的区别
<br /><br />简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。<br />例如:<br />如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。<br />采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。<br />而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将转载 2011-04-18 12:32:00 · 967 阅读 · 0 评论 -
并发控制与事务隔离
并发控制(Concurrency control)并发控制描述了数据库处理隔离以保证数据正确性的机制。为了保证并行事务执行的准确执行数据库和存储引擎在设计的时候着重强调了这一点。典型的事务相关机制限制数据的访问顺序(执行调度)以满足可序列化 和可恢复性。限制数据访问意味着降低了执行的性能,并发控制机制就是要保证在满足这些限制的前提下提供尽可能高的性能。经常在不损害正确性的情况下,为了达到更好的转载 2014-03-23 17:21:46 · 1567 阅读 · 0 评论 -
leveldb实现原理
转至:http://www.cnblogs.com/haippy/archive/2011/12/04/2276064.html LevelDb日知录之一:LevelDb 101 说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat。这两位是Google公司重转载 2013-12-23 20:08:43 · 976 阅读 · 0 评论 -
Kyoto Cabinet 实现原理
由于最近在做分布式存储系统,需要一个小、性能好、靠谱的存储引擎,我们瞄准了Kyoto Cabinet,希望通过分析源码能对它进行改造成我们需要的引擎,这一工作落在我身目上,于是我花了一星期时间彻底地分析了Kyoto Cabinet源码,下面将分享下由Kyoto Cabinet源码分析出的实现原理。 由于最近比较忙,后面再补上后面的内容,先留个位,待续。。。原创 2014-03-23 13:41:42 · 2591 阅读 · 2 评论 -
Apache kafka原理与特性(0.8V)
前言: kafka是一个轻量级的/分布式的/具备replication能力的日志采集组件,通常被集成到应用系统中,收集"用户行为日志"等,并可以使用各种消费终端(consumer)将消息转存到HDFS等其他结构化数据存储系统中.因为日志消息通常为文本数据,尺寸较小,且对实时性以及数据可靠性要求不严格,但是需要日志存储端具备较高的数据吞吐能力,这种"宽松"的设计要求,非常适合使用kafka.转载 2014-07-30 22:06:01 · 1414 阅读 · 0 评论 -
Raft一致性协议
分布式存储系统通常通过维护多个副本来进行fault-tolerance,提高系统的availability,带来的代价就是分布式存储系统的核心问题之一:维护多个副本的一致性。一致性协议就是用来干这事的,即使在部分副本宕机的情况下。Raft是一种较容易理解的一致性协议。一致性协议通常基于replicated state machines,即所有结点都从同一个state出发,都经过同样的一些操作序列,转载 2014-09-09 16:29:36 · 13465 阅读 · 1 评论 -
rabbitMQ在高可用方面的集群方案
转至:http://blog.csdn.net/yangbutao/article/details/10982391下面介绍rabbitMQ的两个高可用方面的集群方案1、普通的集群rabbitMQ中的exchange和queue都包含meta、contents、state等信息,exchange在集群中的每个节点都保存一份数据,但是queue不一样,queue在集群中对于conte转载 2014-02-18 15:53:19 · 9427 阅读 · 0 评论 -
Zookeeper概述(译)
译自http://zookeeper.apache.org/doc/trunk/zookeeperOver.htmlZooKeeper是一个用于分布式应用的开源分布式协调服务。它提供了简单的原语集合,分布式应用可在这些原语之上构建用于同步、配置维护、分组和命名的高层服务。ZooKeeper的设计使得编程容易,并且使用类似于广泛熟知的文件系统目录树结构的数据模型。它运行在Java环境中,但是有J转载 2014-12-01 16:07:42 · 3922 阅读 · 0 评论 -
Zookeeper工作原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee转载 2014-07-26 21:48:56 · 1298 阅读 · 0 评论 -
LVS:三种负载均衡方式比较
1、什么是LVS? 首先简单介绍一下LVS (Linux Virtual Server)到底是什么东西,其实它是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客转载 2016-03-11 10:03:29 · 1689 阅读 · 0 评论 -
ZeroMQ-初认识
在我的工作中,经常会碰到分布式进程之间通信可靠性问题:即服务A向服务B发送消息,如果服务B挂了,如何保证服务A的消息可以不中断将消息传给服务B?一般有两种解决方案:(1)服务B部多点,无存在单点问题;(2)对实时性要求不高的情况下,服务A在服务B挂时,能将传给服务B的消息缓存下来,等服务B启动时,再将消息发送给服务B。 在公司论坛中,无意发现了ZeroMQ,发现它直接实现了上面两种解决原创 2013-09-16 16:33:36 · 1115 阅读 · 0 评论 -
分布式事务-二阶段提交与三阶段提交
在分布式系统中,事务往往包含有多个参与者的活动,单个参与者上的活动是能够保证原子性的,而多个参与者之间原子性的保证则需要通过两阶段提交来实现,两阶段提交是分布式事务实现的关键。原创 2015-08-16 14:19:02 · 22339 阅读 · 5 评论 -
数字证书原理(ssl,https)
文中首先解释了加密解密的一些基础知识和概念,然后通过一个加密通信过程的例子说明了加密算法的作用,以及数字证书的出现所起的作用。接着对数字证书做一个详细的解释,并讨论一下windows中数字证书的管理,最后演示使用makecert生成数字证书。如果发现文中有错误的地方,或者有什么地方说得不够清楚,欢迎指出! 1、基础知识 这部分内容主要解释一些概念和术语,最好是先理解这部分内容转载 2016-10-19 18:18:00 · 1048 阅读 · 0 评论 -
[译]Kyoto Cabinet 基本规格书
如果你知道 Tokyo Cabinet ,那么就应该知道 Kyoto Cabinet,因为他们都是同一个作者(平林幹雄)开发出来的 Key-Value 数据库。Kyoto Cabinet:a straightforward implementation of DBM,主页:http://fallabs.com/kyotocabinet/ ,演示文稿:http://www.slideshar转载 2014-03-19 17:55:45 · 963 阅读 · 0 评论 -
mysql主主关系配置
mysql支持主主关系,是通过同步bin-log来实现数据同步,如mysqlA与mysqlB是主主关系,mysqlA的数据是通过同步mysqlA的bin-log来将数据同步到mysqlB,相反mysqlB的数据是通过同步mysqlB的bin-log来将数据同步到mysqlA。根据这一原理,如果双写mysqlA和mysqlB,可能产生数据冲突而造成数据不一致,因此在使用时需要避免双写造成的数据冲突问原创 2014-02-19 21:26:17 · 2971 阅读 · 0 评论 -
高可用
-、高可用策略1- 一个性能差的高可用其实上是假的高可用,高可用一定有性能的下限2- 高可用首先是要保证重要业务的高可用,需要对业务进行取舍,关注于最重要的方面3- 根据业务的优先级进行区分,高优先级的业务走不同的通道,保持高的服务质量,即QoS是高可用的重要组成部分4- 高可用的一个最廉价同时也是最简单的方案就是扩容5- 可服务节点的水平扩展和流量分流是保证高可用的常见手段转载 2012-07-20 17:40:46 · 3489 阅读 · 0 评论 -
一致性哈希算法
转载地址:http://www.codinglabs.org/html/consistent-hashing.html http://博客园/dubing/archive/2011/12/30/2307832.html 分布式缓存问题假设我们有一个网站,最近发现随着流量增加,服务器压力越来越大,之前直接读写数据库的方式不太给力了,于是我们想引入Memcached作为缓存机制。转载 2012-12-26 10:37:32 · 699 阅读 · 0 评论 -
mysql主从、主主复制架构
转载:http://rain1118.blog.51cto.com/4350097/834046mysql主从复制的概述:mysql内建的复制功能是构建大型,高性能应用程序的基础。将mysql的数据分布多个系统上,这种复制机制是通过将mysql的一台主机(master)的数据复制到其他主机(slaves)上,并重新执行一遍来实现。mysql支持单行、异步复制。复制时对表的更转载 2012-12-26 16:37:18 · 819 阅读 · 0 评论 -
hadoop使用笔记
1、Hadoop解除 "Name node is in safe mode"? bin/hadoop dfsadmin -safemode leave 就可以把safemode解除 safemode模式 NameNode在启动的时候首先进入安全模式,如果datanode丢失的block达到一定的比例(1-dfs.safemode.threshold.pct),则系统会一直处于安原创 2013-09-04 20:35:27 · 3108 阅读 · 1 评论 -
虚拟IP原理
高可用性HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。实现HA的方式,一般采用两台机器同时完成一项功能,比如数据库服务器,平常只有一台机器对外提供服务,另一台机器作为热备,当这台机器出现故障时,自动动态切换到另一台热备的机器。转载 2013-09-22 15:00:15 · 54111 阅读 · 2 评论 -
berkeley db--入门介绍
转至:http://blog.sina.com.cn/s/blog_502c8cc40100yqkj.html1. Berkeley DB的简介Berkeley DB(BDB)是一个高性能的嵌入式数据库编程库(引擎),它可以用来保存任意类型的键/值对 (Key/Value Pair),而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大25转载 2013-12-29 19:53:03 · 2784 阅读 · 0 评论 -
berkeley db--进阶特性分析
转至:http://blog.jqian.net/post/berkeley-db.html数据存储Berkeley DB的数据存储可以抽象为一张表,其中第一列是key,剩余的n-1列(fields)是value。BDB访问数据库的方式,或者套用MySQL数据库的说法是存储引擎,有四种:Btree 数据保存在平衡树里,key和value都可以是任意类型,并且可以有duplica转载 2013-12-29 20:05:13 · 4434 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)上部
转至:http://blog.sina.com.cn/s/blog_466c6640010002ea.htmlIntroductionbdb包括对构建基于复制(replication)的高可用性应用程序的支持。bdb replication组由一些独立配置的数据库环境组成。组里只有一个master数据库环境和一个或多个client环境。Master环境支持读和写,client环境支转载 2013-12-29 20:17:54 · 2795 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)中部
转至:http://blog.sina.com.cn/s/blog_466c6640010002h4.htmlSynchronizing with a master 当一个client探测到replication组内一个新的master后,在它能去处理新的数据库变化之前,这个client必须去同步这个新的master。同步是一个重量及操作,它能同时给这个client转载 2013-12-29 20:23:04 · 1536 阅读 · 0 评论 -
Berkeley DB -- 主从复制(HA)下部
转至:http://blog.sina.com.cn/s/blog_466c6640010002hh.htmlNetwork partitionsbdb replication 的实现可能被网络隔离的问题影响。例如,考虑replication组有n个成员。网络隔离让master在一边,多于一半(n/2)的站点在另外一边。和master在一边的站点将继续前进,master继续接受数据转载 2013-12-29 20:24:26 · 1184 阅读 · 0 评论 -
cassandra使用笔记
Cassandra版本:1.0.81. 启动第一个节点时,不能在cassandra.yaml里配seed选项,启动其他节点时需配seed选项 2. initial_token若不指定,节点间会产生相同的默认token,cassandra可能会如下两个动作:(1) 若是新增节点产生冲突,可能会将相同token的老节点上数据迁到该节点原创 2013-10-08 14:26:31 · 1662 阅读 · 0 评论 -
Cassandra Token的生成
Token是为数据中心中某一特定节点分配某一范围的数据的依据。当启动一个Cassandra的集群,必须选择数据在集群中节点是如何分布的。partitioner是根据数据的key来决定这行数据存储在哪个节点上。token是独立与partitioner的。每一个节点都会分配一个token,这个token决定了节点在环中的位置,以及哪些数据会存储在这个节点上。分配给节点的token需要分布在所有的t转载 2013-09-30 10:15:01 · 3695 阅读 · 0 评论 -
MVCC
为了实现操作可串行化,同时避免锁机制存在的各种问题,我们可以采用基于多版本并发控制(Multiversion concurrency control,MVCC)思想的无锁并发机制。人们一般把基于锁的并发控制机称成为悲观机制,而把MVCC等机制称为乐观机制。这是因为锁机制是一种预防性的,读会阻塞写,写也会阻塞读,当锁定粒度较大,时间较长是并发性能就不会太好;而MVCC是一种后验性的,读不阻塞写,写也原创 2013-12-29 21:02:29 · 980 阅读 · 0 评论 -
对强一致性的理解
对于分布式存储系统来说,数据的强一致性:需要从客户端的角色来看存储系统的一致性,客户端调用存储系统时,只要存储系统返回写数据成功,存储系统就需保证任何情况数据都不会丢失;如果返回写失败,存储系统就需保证数据不会写进去;如果是time out状态,属于待定状态,存储系统保证数据一致就好,数据可能写成功也可能写失败。 ...原创 2018-12-13 16:38:56 · 639 阅读 · 0 评论