8
回答
服务器集群是不是一个服务器机箱中有几个独立的软硬件系统?
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

服务器一般有两个以上的CPU,服务器集群是不是一台服务器中配置成2个以上的独立的系统?

平时只有一个系统工作,这个系统有故障后,其他系统会自动工作,几个服务器再构成负载均衡。

我的理解是不是正确呢?

但是这样是不是挺浪费资源的呢?

举报
文心雕码
发帖于4年前 8回/606阅
共有8个答案 最后回答: 4年前
集群是把任务分配给这些服务器,大家一块来工作,免得单独一台压力过大。在各别机器瘫掉后,把他的任务迅速分配给别的机器或由备用机器顶上。
你所说的在一台服务器上配置 两个以上的独立系统,并不是使用群集技术,而是采用虚拟技术在一台服务器上安装多个的独立系统,在这种环境下可以学习使用群集技术,但由于各系统实际使用的还是一套硬件,在负载均衡及冗余上起不了什么作用,所以是不提倡在生产环境下使用的。

引用来自“blindcat”的答案

集群是把任务分配给这些服务器,大家一块来工作,免得单独一台压力过大。在各别机器瘫掉后,把他的任务迅速分配给别的机器或由备用机器顶上。
你所说的在一台服务器上配置 两个以上的独立系统,并不是使用群集技术,而是采用虚拟技术在一台服务器上安装多个的独立系统,在这种环境下可以学习使用群集技术,但由于各系统实际使用的还是一套硬件,在负载均衡及冗余上起不了什么作用,所以是不提倡在生产环境下使用的。

有道理,先谢谢了。

我发现服务器一般有多个CPU,是不是这几个CPU都是同时工作的,处理一个程序?

是不是可以理解成“多进程”?

拿常用的LEMP(Linux、Nginx、PHP-FPM、MySQL)来说,Nginx作为前端HTTP服务器,自身不做容灾和故障转移(但可以配置DNS进行负载均衡 )。

静态文件由Nginx处理,动态PHP请求则fastcgi_pss到 upstream里的PHP-FPM集群,Nginx可以配置fastcgi_next_upstream实现故障转移,比如:
fastcgi_next_upstream error timeout invalid_header http_500 http_502 http_504;
后端PHP-FPM返回 error、 timeout 、 invalid_header、 http_500、http_502、http_504信息则自动切换到upstream里的下一台PHP-FPM应用服务器。
也就是说Nginx实现了动静分离、负载均衡、故障转移。


部署时要把项目放到Nginx和各台PHP-FPM服务器上,注意需要配置Nginx把上传等写操作固定到一台服务器,然后用inotify+rsync同步到其它机器。
Cookie方面存储的数据可以使用MySQL内存表作为载体。

MySQL可以配置一主多从,实现数据库层面的读写分离、负载均衡,配置主主同步复制可以实现双机热备,通过keepalived或heartbeat可以实现故障转移等等。

上面都没有涉及到虚拟化技术,Linux全部安装在物理机器上,一台服务器只运行一个Linux操作系统,每个Linux上运行对应的服务:Nginx、PHP-FPM(多台服务器)、MySQL(多台服务器)。

顶部