一文了解服务器集群的基本概念
什么是服务器集群?服务器集群是多台计算机在特定计算主题上组成的计算模式,具有协同分工的特点,对外呈现为一个整体。在群集系统中,所有计算机都有一个通用名称,所有网络客户都可以使用群集中任何系统上运行的服务。集群必须能够协调和管理分离组件的错误和故障,并且能够透明地向集群添加组件。用户的公共数据放在共享磁盘柜中,应用安装在所有服务器上,也就是说,集群上运行的应用需要在所有服务器上安装一次。
一般来说,集群的共同目的是降低单台服务器的计算压力,提高整体计算能力。在集群中,每台计算机都有一个专业名称:节点。对于集群来说,它的优缺点也是显而易见的。理论上对业务处理能力没有上限,可以显著提高业务处理效率,实现业务不间断。然而,它也需要很高的建设和维护成本。对于集群来说,通过直接增加节点来提高计算能力也非常简单。对于集群来说,扩展节点而不停止是非常容易的。更有意思的是,集群对节点性能的要求非常宽松,所以我们完全可以将性能更好的计算机添加为新节点。对于集群,可以不停止地完全改变节点。
负载均衡集群:负载均衡集群是最常见和最广泛使用的服务器集群类型。其目的是分担服务的整体压力。它的工作原理是将不同来源的请求分发到不同的节点,以便根据特定的规则进行处理。负载均衡集群可以分为两种类型:软件类型和硬件类型。软件负载均衡主要有三种类型:1.LVS;2.NGINX;3.HAPROXY。 硬件类型一般接触较少。在软件模型中,使用较多的是LVS和NGINX,LVS目前已经集成到Linux内核中。
负载均衡集群结构:负载均衡集群的工作模式是客户端的请求只发送给调度器节点,调度器节点收到请求后会根据建立的规则将请求转发给服务处理节点进行服务处理。调度器节点虽然不参与实际业务处理,但其通信压力也很大。
调度器:调度器的核心部分是调度算法。调度算法可以分为静态算法和动态算法。静态算法是严格按照算法规则进行请求分发的模式,而动态算法会在分发前调查当前集群中每个节点的负载情况,综合当前节点的资源占用情况和算法本身,再决定将客户端的请求委托给哪个节点。显然,动态算法的性能会更好,但同时会占用更多一点的资源。
轮询算法和最小连接算法是最简单也是最机械的算法。前者是将请求依次分发给节点,后者类似。不同的是,哪个节点的当前连接数最少,就会分配给压力最小的人,也就是说,压力最小的人就会被分配到任务中。
在轮询和最小连接的基础上,提出了一种改进的算法,即加权算法。所谓加权,就是给每个节点设置一个“分数”,通常根据节点的性能进行评估。由于不同的节点可能具有不同的计算能力,为了更好地分担计算负荷,使集群资源得到更合理的利用,应该给计算能力强的节点分配更多的计算任务,也就是所谓的“谁能做更多的工作”。
源地址散列将来自同一源的所有请求分发到同一节点进行处理。该算法适用于需要验证登录凭证的场景。目标地址哈希是将访问服务器上相同资源的所有请求发送到同一个节点。该算法适用于业务处理节点需要从其他地方取数据的场景。在这种情况下,应用该算法可以提高缓存命中率,节省服务器的压力。
高性能科学计算集群:这种集群离普通人很远。一般都是国家控制的战略计算资源,普通人是不可及和不可及的集群。关于服务器集群的知识还是很多的,但是作者研究它只是为了开阔视野,基本上是盲目的,几乎是一样的。
高可用性集群:高可用性集群的目的是保持服务不中断,即服务器不会停机。然而,事实上,没有人能保证一台电脑永远不会停机。因此,为了保证服务不中断,我们只能在服务中断后的最短时间内恢复。所以高可用性的原理比较简单,就是采用双机热备的模式。在需要提供服务的服务器中,打开两个业务数据相同的节点,最好是硬件配置相同的节点。一个设置为主,即当前向外界提供服务,另一个设置为从,不向外界提供任何服务。从机的唯一任务是同步主机上的业务数据并监控主机的状态。当主机服务中断时,立即接管服务权,将自己设置为主机,然后继续向外界提供服务。由于从机中的业务数据与主机中的业务数据几乎相同,因此交换机器的这种行为不会对客户服务产生太大影响。租用服务器可咨询租机房云idc了解。
产品需求请加QQ:303210272