- 浏览: 21076 次
- 性别:
- 来自: 上海
最新评论
-
qq466862016:
bucuo
分布式事务 -
niuyandong1988:
集群的两大特性的第一个不是扩展性,应该是伸缩性。扩展性和伸缩 ...
分布式与集群 -
niuyandong1988:
第一句话有问题啊,集群是并联吧,分布式是串联吧...
分布式与集群
文章列表
看到一篇关于云的文章,挺形象,链接:http://www.zhihu.com/question/21641778/answer/62523535云服务”现在已经快成了一个家喻户晓的词了。如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道。 “云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。 任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。然而,不是所有的云公司都一样,不是所有人都是CTO,所以有时候看到云技术背后的一些词可能会比较头疼。看图:
注:以下内容摘自;http://www.cnblogs.com/artech/p/restful-web-api-02.html
Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建。构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物。而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个“奇怪”的名字呢?
目录 一、为什么叫这个“奇怪”的名字?二、采用URI标识资源 二、采用URI标识资源 三、使用“链接”关联相关的资源
注:以下内容摘自:http://www.cnblogs.com/artech/p/restful-web-api-01.html
REST不是一个标准,而是一种软件应用架构风格。基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格。REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格。由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍REST之前,我们先来简单认识一下Web。
目录 一、TCP/IP与HTTP 二 ...
注:以下内容摘自:http://blog.csdn.net/bluishglc/article/details/7612811
1.XA
XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事务管理器是因为,在分布式系统中,从理论上讲(参考Fischer等的论文),两台 ...
注:以下内容摘自http://www.jianshu.com/p/231874bfb0e8
我相信,通过我的生动分析,你会对苏宁、国美、京东有入目三分的认识!不是我自吹,我这篇文章至少值1000块钱,因为老夫做过生意,知道其中的关键之处,和天天读新闻只知道装B的家伙完全不一样!没人能用这么生动的语言、讲清楚这么重要的问题!
现金流,知道对做生意的有多重要吗?
注:以下内容摘自:http://segmentfault.com/blogs
Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称。然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关。在本文中,笔者将结合自身实践,谈谈如何尽可能地提高应用程序性能。
分布式计算引擎在调优方面有四个主要关注方向,分别是CPU、内存、网络开销和I/O,其具体调优目标如下:
提高CPU利用率。
避免OOM。
降低网络开销。
RDD是Spark中对数据和计算的抽象,是Spark中最核心的概念,它表示已被分片(partition),不可变的并能够被并行操作的数据集合。
对RDD的操作分为两种transformation和action。Transformation操作是通过转换从一个或多个RDD生成新的RDD。Action操作是从RDD生成最后的计算结果。
在Spark中,提供丰富的transformation和action操作,比起MapReduce计算模型中仅有的两种操作,会大大简化程序开发的难度。
RDD的生成方式只有两种,一是从数据源读入,另一种就是从其它RDD通过transformation操作转换。 ...
Spark join有两种方式:map-side join和reduce-side join
1、Map-side Join使用场景是一个大表和一个小表的连接操作,其中,“小表”是指文件足够小,可以加载到内存中。该算法可以将join算子执行在Map端,无需经历shuffle和reduce等阶段,因 ...
注:以下内容摘自:http://www.jianshu.com/p/bde93f9d1469
一、什么是可伸缩性
可伸缩性是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长的过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设置的添置,就能实现整个系统能力的线性增长,实现高吞吐量和低延迟性能。
二、可伸缩性和纯粹性能调优是有区别的:
可伸缩性是高性能、低成本和可维护性等诸多因素的综合考量和平衡,可伸缩性讲究平滑线性的性能提升,更侧重于系统的水平伸缩,通过廉价的服务器实现分布式计算;
而普通性能优化只是单台机器的性能指标优化。他们共同 ...
docker 镜像(image),容器(container)
两者是互相转化的关系, 前者是一种【过去式】,后者是【进行时】, 镜像就好像是 git 的 tag 标签,是已经打上烙印, 是可以回滚回去的。 后者就是正在运行的状态,是基于镜像的。
比如我们对镜像 ImageA(镜像 ImageA 是静止状态)启动起来, 启动后就变成了 ContainerA 容器(运行状态), 当我们对该容器进行了修改(比如在该容器中运行了 sudo apt-get install cmake), 则该容器 ContainerA 和初始的镜像 ImageA 会出现了差异, 然后我们可以将该容器 commit ...
Docker应用容器相对于 VM 有以下几个优点:
1、启动速度快,容器通常在一秒内可以启动,而 VM 通常要更久
2、资源利用率高,一台普通PC 可以跑上千个容器,你跑上千个 VM 试试
3、性能开销小, VM 通常需要额外的 CPU 和内存来完成 OS 的功能,这一部分占据了额外的资源
因为VM 的 Hypervisor 需要实现对硬件的虚拟化,并且还要搭载自己的操作系统,自然在启动速度和资源利用率以及性能上有比较大的开销。个人体会较深的两处优点:
1、 快速部署,传统的部署模式是:安装(包管理工具或者源码包编译)->配置->运行;Docker的部署模式是:复制-& ...
注:以下内容摘自:http://blog.chinaunix.net/uid-7374279-id-4413214.html
先说区别:一句话:分布式是并联工作的,集群是串联工作的。1:分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。
Stream Grouping定义了一个流在Bolt任务间该如何被切分。这里有Storm提供的6个Stream Grouping类型:
1. 随机分组(Shuffle grouping):随机分发tuple到Bolt的任务,保证每个任务获得相等数量的tuple。
2. 字段分组(Fields grouping):根据指定字段分割数据流,并分组。例如,根据“user-id”字段,相同“user-id”的元组总是分发到同一个任务,不同“user-id”的元组可能分发到不同的任务。
3. 全部分组(All grouping):tuple被复制到bolt的所有任务。这种类型需要谨慎使用。
4. ...
storm是我接触并在项目中用到的第一个实时计算框架,做下总结:
一、首先如果如果让我们自己设 计一个实时计算系统,我们要解决哪些问题?
1、低延迟。都说了是实时计算系统了,延迟是一定要低的。
2、高性能。性能不高就是浪费机器。
3、分布式。系统都是为应用场景而生的,如果你的应用场景、你的数据和计算单机就能搞定,那么不用考虑这些复杂的问题了。我们所说的是单机搞不定的情况。
4、可扩展。伴随着业务的发展,我们的数据量、计算量可能会越来越大,所以希望这个系统是可扩展的。
5、 容错。这是分布式系统中通用问题。一个节点挂了不能影响我的应用。
二、如果仅仅需要解决这5个问题,可能 ...
原文链接:http://blog.csdn.net/gugemichael/article/details/36688043
一、分布式系统中的概念
三元组:其实,分布式系统说白了,就是很多机器组成的集群,靠彼此之间的网络通信,担当的角色可能不同,共同完成同一个事情的系统。如果按”实体“来划分的话,就是如下这几种:
1、节点 -- 系统中按照协议完成计算工作的一个逻辑实体,可能是执行某些工作的进程或机器2、网络 -- 系统的数据传输通道,用来彼此通信。通信是具有方向性的。3、存储 -- 系统中持久化数据的数据库或者文件存储。