一、分布式定义
今晚翻论坛,想看看别人是怎么说的,一路把2004年的帖子都翻出来了,基本是众说纷纭
有的人说在不同机器上才是分布式,有的人说在不同JVM里才是分布式,也有的人说在不同线程里也算分布式……
我自己的理解是,从概念上讲,如果把业务拆分到不同的节点,就算是分布式。这里的节点可以是web app、JVM、服务器。但是不包括线程,线程的前提就是要跑在一个进程里,那根本就没有办法独立部署,还叫什么分布式呢
用一个办法简单区分,就是如果相互之间需要通过RPC调用,就是分布式。如果可以NPC,就不是分布式
二、分布式的好处
1、复用
分布式可以理解为“服务化”,把一大坨业务,拆分成若干个可独立运行的小业务,或者说子系统,这就使得每个子系统具备了复用的可能性。比如若干个子系统,都用到了用户管理,那么用户管理就可以拆分出来,实现复用
淘宝的商品管理、订单管理,也都是独立部署的子系统,这样上层的业务系统,都可以直接复用了
2、支持异构客户端
这个其实和第1点没有严格的区分。主要说的是将应用的前端和后端逻辑分离,这样就可以支撑不同的客户端。比如典型的新浪微博,可以用浏览器访问,也可以用iOS客户端访问,还可以用android客户端访问,甚至也提供了API,可以自行开发独立客户端
这都要求将应用的前后端分离,否则是不可能实现的
3、提升性能
这点跟将单线程应用改成多线程应用有些类似,都需要满足一定的条件,才能实现性能提升的目的,见另一篇博客
http://kyfxbl.iteye.com/blog/1888407
如果应用的瓶颈在CPU和内存上,然后子任务可并行化,那么用分布式提升性能的“可能性”是比较大的
反之,即使系统采用分布式架构,性能也基本不会有丝毫提升
比如说,系统的瓶颈是在数据库IO上,那么就算拆分成分布式架构,数据库IO瓶颈也依然存在,对性能没有任何好处
或者,把业务拆分后,多个子任务必须要串行执行(顺序依赖、资源竞争),那么分布式也无法带来性能提升
三、分布式的坏处
首先是开发、部署都变得复杂了,不赘述
其次,如果应用不当的话,分布式还有很大的可能会降低性能。因为分布式涉及到RPC,会带来额外的开销
四、集群
集群主要是为了可服务性(双机热备、双机互备)和容灾(数据冗余、数据备份)等
另一方面,集群也能带来性能提升
首先,集群配合负载均衡,通过分流可以同时响应更多请求,这里就可以提升性能
另外,虽然从单个请求来看,集群不能带来性能提升,比如做一个任务要10分钟,那么即使用了集群,一样也是10分钟。但是考虑用4台机器组成集群,那么就可以同时处理4个请求,10分钟里处理了4个请求,从整体来看,性能也是提升了。理论上,采用集群,系统是可以无限水平扩展的
另外一个帖子总结得不错:
“分布式是以缩短单个任务的执行时间来提升效率的;而集群则是通过提高单位时间内执行的任务数来提升效率”
http://www.iteye.com/topic/1121383
五、分布式与集群的联系
基本上是2个不同的概念。非分布式的系统,一样可以做集群;分布式里的每个子系统,都可以单独做集群
分享到:
相关推荐
在压缩包中的文本文件"hadop 分布式集群大数据云计算源码视频教程.txt"中,可能包含了课程大纲、课件摘要、实战项目介绍等补充材料,供学习者参考和复习。 总之,这套教程是学习和提升Hadoop、大数据处理和云计算...
总的来说,这篇文献深入研究了Linux集群的分布式安全,提出了一种进程级的安全模型和集群范围内的访问控制机制,旨在增强集群系统的安全性,以应对复杂分布式应用的挑战。这对于系统开发者和Linux专业人士来说是一份...
本文档是关于在分布式集群环境下进行数据挖掘优化算法研究的论文,文章标题直接体现了主题,涉及分布式集群、数据挖掘以及优化算法三大核心技术点。描述部分重复了标题内容,因此在知识点阐述上不做额外补充。标签...
特别是在多源储能系统集群划分和协调调度的智能优化方面,本文的成果是对现有研究的重要补充。 总结而言,分布式多源储能模糊聚类集群协调优化模型的研究,展示了智能技术在能源系统集成与管理中的潜力。通过智能化...
"08_Experimentgengxin( 最新版).pptx"和"08_Experimentgengxin.pptx"可能涵盖了Hadoop的实验和更新内容,可能是关于如何设置和操作Hadoop集群,以及最新的优化和改进。 最后,“09_Hadoop2新特性.pptx”和“09_...
在教学中,这些概念应该结合具体的分布式数据库系统进行讲解,比如MongoDB的副本集、分片集群等特性,帮助学生深入理解分布式环境下的数据管理和操作。同时,课程还应涵盖分布式数据库设计原则、性能优化策略以及...
单机和集群安装相差不多,先说单机然后补充集群的几点配置。 第一步,先安装工具软件编辑器:vim 代码如下:sudo apt-get install vimssh服务器: openssh,先安装ssh是为了使用远程终端工具(putty或xshell等),这样...
### 二、分布式系统的设计原则与模式 #### 2.1 CAP理论 CAP理论指出,在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)三个特性最多只能同时实现两个。这意味着...
- **一致性**:确保分布式集群中的每个节点都返回相同且最近更新的数据。一致性指的是每个客户端具有相同的数据视图。 - **可用性**:每个非失败节点在合理的时间内返回所有读取和写入请求的响应。 - **分区容忍性**...
5. **配置服务器**:配置服务器存储关于分片集群的信息,如分片的元数据和路由信息。它们是集群的重要组成部分,但不存储用户数据。 6. **路由进程(Mongos)**:Mongos 是路由查询的进程,它连接到配置服务器,...
RAFT算法以其简单性和易理解性著称,它确保了即使在节点故障的情况下,集群也能保持一致性和可用性。实验要求可能会让学生通过模拟和实现RAFT算法来加深理解,掌握其基本原理和操作流程。 在南京大学的这门课程中,...
#### 二、GlusterFS 集群安装方式补充 ##### 2.1 RPM 包安装 RPM 包安装是一种非常方便的安装 GlusterFS 的方式,它能够确保软件包的依赖关系得到正确处理。以下是具体步骤: **准备环境:** - 确保有一台干净的 ...
文章主要探讨了一种新的数据纠错方法,即基于Hadoop分布式集群和Spark分布式并行计算平台的分布式支持向量机训练算法,从而实现对TMS系统中数据站点检修次数的异常数据的识别和纠正。 首先,文章介绍了TMS系统在...
总的来说,基于TFS的分布式文件存储平台的研究与实现,是对传统分布式文件存储系统的一个重要补充。它针对小文件存储优化了系统架构,并通过集成Web平台和核心数据缓存机制,实现了更加高效和便捷的文件管理解决方案...
### 构建生态化分布式数据库架构体系 #### 关键词: - MySQL协议 - Schema垂直拆分 ...总体而言,阿里巴巴通过不断的技术创新和实践探索,不仅解决了现有问题,还在不断推动着分布式数据库领域的进步和发展。
Hadoop允许数据在集群中的各个节点上分布式存储和并行处理,极大地提升了IO能力,使得计算能力随机器数量线性增长。它将数据分片处理,降低了网络通信,实现了计算的本地化,提高了整体性能。\n\nHadoop的生态系统还...
WebLogic Server是Oracle公司提供的一个强大的Java应用服务器,它支持分布式应用程序的部署和运行,而集群技术则增强了其可用性和可伸缩性。以下是关于WebLogic集群配置的一些关键知识点: 1. **集群基础概念**: ...
通过使用Gearman构建的分布式集群,能够实现任务的分散,同时具备自动任务重发和错误处理等安全机制。 系统整体模型利用内存数据库Redis和任务分发管理框架Gearman,优势在于Redis的高速读写能力以及Gearman在任务...
HBase作为分布式数据库的核心概念和知识点可以详细阐述如下: 1. 分布式存储系统BigTable的概念和应用背景 BigTable是谷歌提出的一个分布式存储系统,它主要用于解决互联网搜索问题,特别是建立和维护互联网索引。...