本质上集群部署并没有提高性能服务器集群技术,性能看起来提高只是附加属性快速备案域名快速备案。服务器集群技术,一台服务器集群部署性能会提高吗(2台服务器集群搭建)集群的主要目的有两个:避免单点问题扩容单点问题假设没有集群部署,那么就是说只有一台Server对外提供服务,如果这个Server挂掉了,那么所有的客户端就没办法访问了。如果进行了集群部署,假设两台,通过IPhash的方式进行负载均衡,那么当其中一台Server挂掉了,那么只有大概一半的客户端受到影响(如果所有客户端都恰巧hash到了挂掉的那个Server,那就没办法了)。如果路由有故障转移机制,那么基本可以保证一台Server挂掉了,客户端没有影响。扩容再说扩容,一台Server能对外提供的最大负载是一定的。当客户端数量超过了Server的最大负载时,那么就可能导致Server挂掉,或者客户端响应缓慢甚至没有响应的问题。通过集群部署,可以增加最大客户端数量。假设一台Server能同时支持1000个客户端访问,那两台Server理论就能支持2000个客户端同时访问。性能上面说了,集群部署并没有提高性能。集群只是多开通了通道。举个例子,假如有个水池,原来一个水管向水池里注水,集群部署后就是多个水管向水池里注水。单个水管的速度并没有变化,但是流量变大了。看起来性能提高的原因是,性能一般是通过TPS/QPS来定义的,也就是一秒内完成的请求数量。集群后,因为流量大了,那么TPS肯定就高了。但是,TPS/QPS计算的是系统的最大可运行负载。就是一个系统在这个负载下可以正常的长时间对外服务,超过了这个负载就可能导致响应变慢或没有响应、甚至导致服务器直接挂掉。而一般情况下都会做冗余,所以系统基本不会长时间运行在最大可运行负载下。所以一般情况下集群对性能的影响有限,极端情况还可能降低性能。假设一台Server能支持1000个客户端,你部署了两台Server,而实际只有10个客户端进行访问,远达不到单台Server的负载,加上集群需要路由算法,可能性能上就比单台Server稍微慢了一点点。谢谢邀请!服务器集群(英文一般简称Cluster),一般由若干台(一般3台以上)服务器组成。服务器集群解决一台服务器存在潜在问题:1、单台服务器如果由于硬件故障、网络通讯异常、性能受限、软件故障、宕机等情况,那个所运行的业务就会中断,且业务恢复起来非常麻烦、时间周期长;而服务器集群解决了这个问题,在集群中某一台服务器出现故障时,业务不会中断,故障服务器上的业务会自动切换到集群中的其它服务器上,保证用户无感知到业务中断的体验。2、单台服务器性能有限,而服务器集群能够通过软件聚合多台服务器的硬件性能,对外提供超强的硬件性能,这是单台服务器所不具备的条件。因此,服务器集群不是简单的若干台服务器组合一起,它是运算能力的聚合!分布式:服务分散部署在不同服务器组成一个整体应用,分散压力,解决高并发。假设访问量特别大,就可以做成分布式,将一个大项目拆分出来单独运行。跟CDN一样的机制。Redis分布式:将redis中的数据分布到不同的服务器上,每台服务器存储不同内容。Mysql集群是每台服务器都存放相同数据。分布式部署:系统应用部署在2台或以上服务器或虚拟机上,服务间通过RPC、WCF(包含WebService)等交互,即可称作分布式部署。微服务也算作分布式的一种,反之则不然。 分布式优点: 1、将模块拆分,使用接口通信,降低模块之间的耦合度。 2、将项目拆分成若干个子项目,不同团队负责不同子项目。 3、增加功能时只需再加一个子项目,调用其它系统接口即可。 4、可灵活进行分布式部署。 5、提高代码的复用性,比如service层,如果不采用分布式rest服务方式架构,在手机Wap商城、微信商城、PC、Android、ios每个端都要写一个service层逻辑,开发量大,难以维护和一起升级,此时可采用分布式rest服务方式共用一个service层。 缺点:系统之间交互要使用远程通信,接口开发增大工作量,但利大于弊。微服务:可单独部署运行的微小服务,一个服务只完成单一功能分散能力,服务之间通过RPC等交互,至少有一个数据库。用户量过大高并发时,建议将应用拆解为多个子系统,各自隔离,独立负责功能。缺点:服务数量大,后期运维较难。分布式、微服务区别:分布式依赖整体组合,是系统的部署方式;微服务是架构设计方式,粒度更小,服务之间耦合度更低。独立小团队负责,敏捷性更高。集群:多台服务器复制部署相同应用,由负载均衡共同对外提供服务,逻辑功能仍是单体应用。项目如果跑在一台机器上,这台机器如果出现故障,或者用户请求量比较高一台机器支撑不住,网站可能就访问不了。那怎么解决呢?就需要使用多台机器,复制部署一样的程序,让几个机器同时运行网站。那怎么分发请求到所有机器上?所以负载均衡的概念就出现了。负载均衡:将请求分发以分摊服务器压力。基于反向代理能将所有的请求根据指定的策略算法,分发到不同的服务器上。实现负载均衡常用Nginx、LVS。负载均衡服务器出现问题了怎么办?所有冗余的概念就出现了。冗余:两台或多台服务器,一个主服务器,一个从服务器。 假设一个主服务器的负载均衡服务器出现问题,从服务器能替代主服务器来继续负载均衡。实现的方式就是使用Keepalive来抢占虚拟主机。双机双工模式:目前Cluster(集群)的一种形式,两台服务器均为活动状态,同时运行相同的应用,保证整体的性能,也实现了负载均衡和互为备份。WEB服务器或FTP服务器等用此种方式比较多。实现多台服务器代码(文件)同步方案:1、负载均衡中实现代码同步rsync。2、rsync inotify逐一文件监听并实时同步。3、实现redis共享session。
本文出自快速备案,转载时请注明出处及相应链接。