资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
集群和分布式一、区别分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小时,10个任务同时完成,这样,整身来看,还是平均1小时完成一个任务!(注意这里的任务和子任务的区别)Ps1:分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 Ps2:集群是个物理形态,分布式是个工作方式二、集群概念二、集群概念1.两两大关键特性大关键特性 集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个服务实体,但事实上集群由一组服务实体组成。与单一服务实体相比较,集群提供了以下两个关键特性:可扩展性集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。高可用性集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出 错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。二、集群概念二、集群概念2. 两大能力两大能力 为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力:负载均衡负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。错误恢复由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。 负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的。二、集群二、集群概念概念3.两大技术两大技术集群地址集群由多个服务实体组成,集群客户端通过访问集群的集群地址获取集群内部各服务实体的功能。具有单一集群地址(也叫单一影像)是集群的一个基 本特征。维护集群地址的设置被称为负载均衡器。负载均衡器内部负责管理各个服务实体的加入和退出,外部负责集群地址向内部服务实体地址的转换。有的负载均 衡器实现真正的负载均衡算法,有的只支持任务的转换。只实现任务转换的负载均衡器适用于支持ACTIVE-STANDBY的集群环境,在那里,集群中只有 一个服务实体工作,当正在工作的服务实体发生故障时,负载均衡器把后来的任务转向另外一个服务实体。内部通信为了能协同工作、实现负载均衡和错误恢复,集群各实体间必须时常通信,比如负载均衡器对服务实体心跳测试信息、服务实体间任务执行上下文信息的通信。 具有同一个集群地址使得客户端能访问集群提供的计算服务,一个集群地址下隐藏了各个服务实体的内部地址,使得客户要求的计算服务能在各个服务实体之间分布。内部通信是集群能正常运转的基础,它使得集群具有均衡负载和错误恢复的能力。三三、集群分类集群分类Linux集群主要分成三大类( 高可用集群, 负载均衡集群,科学计算集群)高可用集群( High Availability Cluster)负载均衡集群(Load Balance Cluster)科学计算集群(High Performance Computing Cluster)三、集群三、集群分类分类具体包括:Linux High Availability 高可用集群 (普通两节点双机热备,多节点HA集群,RAC, shared, share-nothing集群等)Linux Load Balance 负载均衡集群 (LVS等,F5硬件设备.)Linux High Performance Computing 高性能科学计算集群 (Beowulf 类集群.)分布式存储其他类linux集群 (如Openmosix, rendering farm 等.)四、详细介绍四、详细介绍1. 高可用集群高可用集群(High Availability Cluster)常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如双机热备, 双机互备, 双机.高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。 (请注意高可用集群既不是用来保护业务数据的,保护的是用户的业务程序对外不间断提供服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度)。四、详细介绍四、详细介绍2. 负载均衡集群负载均衡集群(Load Balance Cluster)负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。四、详细介绍四、详细介绍3. 科学计算集群科学计算集群(High Performance Computing Cluster)高性能计算(High Perfermance Computing)集群,简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。五、分布式(集群)与集群的联系与区别五、分布式(集群)与集群的联系与区别分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。 举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器完成同一业务,如果有业务访问的时候,响应服务器看哪台服务器的负载不是很重,就将给哪一台去完成。 而分布式,从窄意上理解,也跟集群差不多, 但是它的组织比较松散,不像集群,有一个组织性,一台服务器垮了,其它的服务器可以顶上来。 分布式的每一个节点,都完成不同的业务,一个节点垮了,哪这个业务就不可访问了。六、nginx+tomcat集群配置七、注意:Nginx反向代理实现会话(session)保持的两种方式一、ip_hash:ip_hash使用源地址哈希算法,将同一客户端的请求总是发往同一个后端服务器,除非该服务器不可用。ip_hash语法:upstreambackendip_hash;down;ip_hash简单易用,但有如下问题:当后端服务器宕机后,session会丢失;来自同一局域网的客户端会被转发到同一个后端服务器,可能导致负载失衡;不适用于CDN网络,不适用于前段还有代理的情况。注意:Nginx反向代理实现会话(session)保持的两种方式二、sticky_cookie_insert:使用sticky_cookie_insert启用会话亲缘关系,这会导致来自同一客户端的请求被传递到一组服务器在同一台服务器。与ip_hash不同之处在于,它不是基于IP来判断客户端的,而是基于cookie来判断。因此可以避免上述ip_hash中来自同一局域网的客户端和前段代理导致负载失衡的情况。语法:;sticky_cookie_insertsrv_idexpires=1hdomain=path=/;说明:expires:设置浏览器中保持cookie的时间domain:定义cookie的域path:为cookie定义路径八、Tomcat+redis(web后端session保持)+nginx配置九、补充:Nginx负载均衡一些基础知识:nginx 的 upstream目前支持 4 种方式的分配1)、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2)、weight 指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。2)、ip_hash 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。3)、fair(第三方) 按后端服务器的响应时间来分配请求,响应时间短的优先分配。4)、url_hash(第三方)九、补充:Nginx负载均衡一些基础知识:在http节点里添加:#定义负载均衡设备的Ip及设备状态upstreammyServerserver127.0.0.1:9090down;server127.0.0.1:8080weight=2;server127.0.0.1:6060;server127.0.0.1:7070backup;在需要使用负载的Server节点下添加proxy_passhttp:/myServer;upstream每个设备的状态:down表示单前的server暂时不参与负载weight默认为1.weight越大,负载的权重就越大。max_fails:允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream模块定义的错误fail_timeout:max_fails次失败后,暂停的时间。backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。十、关于WEB集群中文件服务器的讨论在WEB集群中一般都要上传和删除图片。小规模的时候,图片放在本地,再通过同步方式来保持一致。常见的文件服务器:samba+web,ftp+web,nfs+web,rsync单向同步,分布式存储 samba+web,ftp+web这2种需要改程序代码,用的不多;rsync单向同步在小环境中用;nfs+web在中型环境用的最多;大型环境,海量文件用的是分布式存储,比如hadoop等。分布式存储是什么? 与目前常见的集中式存储技术不同,分布式存储技术并不是将数据存储在某个或多个特定的节点上,而是通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号