![v2-c8a56bdebed9b3dac0938723c6f208a8_1440w.jpg?source=172ae18b](http://img-02.proxy.5ce.com/view/image?&type=2&guid=aa8dfaaf-f92f-eb11-8da9-e4434bdf6706&url=https://pic2.zhimg.com/v2-c8a56bdebed9b3dac0938723c6f208a8_1440w.jpg?source=172ae18b)
首先,要明白单台服务器常见的问题,无非就是并发、大数据、单点
并发问题:一个时间点,同时有海量用户去对服务器进行访问
大数据:例如海量数据的存储和传输(性能方面的问题)
单点问题:例如只有一台服务器,如果服务器出现故障了后果不堪设想。
针对以上问题,出现了以下几种解决方式(会持续更新,目前我就了解两种):
集群架构思想:
可以处理并发问题和单点问题,集群的目标是多台服务器做相同的业务处理,可以缓解用户的并发问题(也叫作负载均衡),同时因为多台服务器做相同的操作,所以一台挂了并不影响另一台的操作,所以可以避免单点问题。(以前使用apache做分布式集群负载均衡的前端服务器,现在流行Ngix做分布式集群负载均衡的前端服务器)。举个例子,集群就像大家用的笔记本电脑和外接键盘的关系,笔记本的键盘坏了,可以用外接键盘,提供持续服务,或者笔记本键盘没坏,用外接键盘可以更好的保护笔记本键盘不会加速衰老
集群的种类:
高可用集群:主要是为了保障用户的应用程序持久、不简单提供服务
负载均衡集群:可以做到把一个高负荷的应用分散到多个节点共同完成,适合业务繁忙、大负荷访问的系统
科学计算集群(HPC集群):提供单个计算机不能提供的强大计算能力,追求与综合性能
分布式架构思想:
和集群的实现不同,集群是多台服务器集中实现同一种业务,而分布式则是把多台服务器集中在一起,每台服务器实现不同的业务,做不同的事情,并且缺一不可,如果一台服务器挂了,就有可能影响整个服务器的功能的运行。
分布式集群综合架构思想:
就如上面所述,集群有集群的好处,分布式有分布式的好处,可否做到两个架构进行合并呢,当然可以。我们可以让分布式的每一个节点都进行集群,这种架构通常叫做分布式集群架构。