1.集群
1.1定义:是一组独立的计算机系统构成一个松耦合的多处理器系统,它们之间通过网络实现进程间的通信。应用程序可以通过网络共享内存进行消息传送,实现分布式计算机。
是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。如一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务。
1.2负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。
负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。
1.3集群系统主要解决下面几个问题:
高可靠性(HA):利用集群管理软件,当主服务器故障时,备份服务器能够自动接管主服务器的工作,并及时切换过去,以实现对用户的不间断服务。
负载均衡:即把负载压力根据某种算法合理分配到集群中的每一台计算机上,以减轻主服务器的压力,降低对主服务器的硬件和软件要求。
高性能计算(HP):即充分利用集群中的每一台计算机的资源,实现复杂运算的并行处理,通常用于科学计算领域,比如基因分析,化学分析等。
2.负载均衡系统
先从集群讲起,
负载均衡又有DNS负载均衡(比较常用)、IP负载均衡、反向代理负载均衡等,也就是在集群中有服务器A、B、C,它们都是互不影响,互不相干的,任何一台的机器宕了,都不会影响其他机器的运行,当用户来一个请求,有负载均衡器的算法决定由哪台机器来处理,假如你的算法是采用round算法,有用户a、b、c,那么分别由服务器A、B、C来处理;
2.1基于DNS的负载均衡
通过DNS服务中的随机名字解析来实现负载均衡,在DNS服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,他们也就访问不同地址上的Web服务器,从而达到负载均衡的目的。
2.2反向代理负载均衡 (如Apache+JK2+Tomcat这种组合)
使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式。
2.3基于NAT(Network Address Translation)的负载均衡技术 (如Linux Virtual Server,简称LVS)
网络地址转换为在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后外部网络中的计算机就各自与自己转换得到的地址上服务器进行通信,从而达到负载分担的目的。
3.分布式是指将不同的业务分布在不同的地方。 而集群指的是将几台服务器集中在一起,实现同一业务。 分布式中的每一个节点,都可以做集群。 而集群并不一定就是分布式的。
举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。
分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。
在群集的这三种基本类型之间,经常会发生交叉、混合。比如:在高可用性的群集系统中也可以在其节点之间实现负载均衡,同时仍然维持着其高可用性。还有一种概括性说法:cluster是手段,load banlance是目标之一。
分享到:
相关推荐
负载均衡是分布式系统架构中的关键组成部分,其主要目的是确保在多台服务器之间有效地分发工作负载,提高系统的可用性和响应速度,同时防止任何单一服务器过载。随着互联网业务的增长,单台服务器往往无法满足处理...
### 基于Dubbo的分布式系统架构的关键知识点 #### 一、Dubbo简介与应用场景 **1. Dubbo概述** Dubbo是一款高性能、轻量级的开源微服务框架,由阿里巴巴开发并维护。它主要提供了三个核心能力:面向接口代理的服务...
本项目实战教程涵盖了高并发、集群以及分布式系统架构等关键知识点,旨在帮助Java架构师提升技能,实现高性能、高可用和可扩展的电商系统。 1. **Java基础与高级特性** - Java的基础语法、面向对象编程、异常处理...
陈康贤,淘宝花名龙隆,淘宝技术部研发工程师,2011年加入淘宝网,参与了阿里云手机商城、口碑网迁移、店铺建站、offer、支付宝卡宝、生活商城、淘宝同学等项目,在分布式系统架构设计、高并发系统设计、系统稳定性...
总结来说,Tomcat集群和负载均衡通过分布式架构和智能的请求分发策略,提升了Web应用的处理能力和容错能力,有效解决了单一服务器的性能瓶颈和单点故障问题,保证了大规模网站的稳定运行。同时,不同的负载均衡技术...
分布式系统架构是现代互联网服务的核心,它通过将计算任务和数据分布在多个计算机节点上,实现了高可用性、可扩展性和高性能。本资料合集聚焦于分布式系统的架构设计,特别是通过《豆瓣技术架构》和《支付宝技术架构...
### Dubbo分布式系统架构视频知识点概述 #### 一、Dubbo简介与基本概念 - **Dubbo**是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:**面向接口的远程方法调用**、智能容错和负载均衡以及服务自动...
流媒体服务器集群的负载均衡是构建大规模视频点播系统中至关重要的技术,它关系到系统的资源利用率和服务质量。流媒体服务器(MS)集群系统通过相对低成本的方式提供了强大的可扩展性和高吞吐量,但要充分利用这些...
在"大规模分布式系统架构与设计实战.完整版"这本书中,作者深入探讨了构建高效、可靠且可扩展的分布式系统的关键技术和实践。 一、分布式系统基础 分布式系统的核心目标是透明性,即用户应能感知到系统是一个整体,...
首先,书中涵盖了分布式系统的基石——负载均衡。负载均衡是将工作负载分布到多个计算资源上,以提高服务响应速度和系统可用性。它包括网络负载均衡和应用负载均衡,前者主要处理网络层的流量分发,后者则更关注业务...
根据提供的文件内容,我们可以提炼出关于分布式系统架构设计的几个关键知识点,涉及负载均衡、服务端优化、以及分布式系统的具体实现技术。 1. 分布式系统架构设计 分布式系统架构设计是构建在多个计算机系统通过...
文中提到的系统架构设计包括客户端、Web服务器、数据库服务器和图片服务器集群四大部分。客户端通过浏览器访问网站,Web服务器负责响应用户请求,从数据库服务器获取图片URL,并将页面返回给客户端。数据库服务器...
Java集群与负载均衡是构建大型、高可用性Web应用程序的关键技术。它们确保系统能够处理大量并发请求,并在硬件故障或高负载情况下保持服务的稳定性和响应速度。下面将详细探讨这两个概念及其在Java开发中的应用。 ...
本文旨在介绍一种基于服务类型的Web集群负载均衡算法,并探讨其设计原理及实现细节。 #### 1. 服务器负载均衡的常用算法 负载均衡算法主要分为两大类:静态负载均衡技术和动态负载均衡技术。 - **静态负载均衡...
在"大规模分布式系统架构与设计实战.完整版"这本书中,作者深入探讨了如何构建、管理和优化这些复杂的系统。 一、分布式系统基础 分布式系统由多个独立的计算机节点组成,它们通过网络通信,共同执行一个任务。...
在《Java分布式系统架构问题解决与瓶颈突破》一书中,作者深入探讨了互联网环境中大型网站架构的演变历程,以及在这一过程中所面临的关键技术挑战及其解决方案。这本书是为那些希望成为架构师或已经在该领域工作的...