Linux系列学习精要(四)

  • 2019 年 10 月 6 日
  • 筆記

一、在云计算中,应用的集群实现的初级方案–负载均衡如何实现?

随着互联网访问用户的不断增长,单台服务器打遍天下的时间将很快过去,能力再强的服务器也会面临天花板。因此,采用多台廉价X86服务器对外同时提供服务,采用负载均衡进行服务器的业务调度,成为当前应用集群的实现必然之路。如下图。

负载平衡器对外提供一个IP地址,隐藏内部真实服务器的IP地址,通过多种方式进行真实服务器能力的调度。

1、轮询算法

负载平衡器通过将业务请求轮流发送到不同的真实服务器,每台真实服务器获得的业务请求均衡,该方式默认各真实服务器的能力相同,未考虑各真实服务器的真实业务当前负载。

2、加权算法

如果后台的真实服务器的能力不相同,那么可以为能力强的服务器分配较高的权重,相应收到的业务请求流量也会较多。

3、最小连接数算法

负载平衡器根据后台不同真实服务的当前连接数,自动平衡负载,为连接数较少的机器填补业务流量,达到均衡负载的作用。

不同的负载平衡器支持的平衡算法还很多,如源地址散列等,最终目标都是让不同的业务请求能否根据业务需求放置到最适合的真实服务器中进行应用执行。

二、在云计算中,数据库的集群实现的初级方案–主备、主主如何实现?

应用的集群相应好做,因为应用程序服务器中未存储用户的数据信息,所有的信息均存储在数据库中,经常负载均衡器任意增减应用程序服务器的数量均不会对业务造成影响。

但数据库服务器中放置了用户的真实数据,任意增减应用程序服务器会对业务带来真正的影响。那如何实现数据库的集群呢?在业内有以下几种方式。

1、主主模式

以Mysql为例,通过分库、分表的模式将数据库服务器实现集群,多台服务器同时支撑一个数据库实例的运转。单台数据库服务器通过数据多副本、或者主备的模式,实现单台数据库服务器的稳定性提高。

2、主备模式

以Mysql为例,将单台数据库服务器的数据实现双写,主用服务器实同读写,备用服务器仅作为主用服务器故障时替换使用。

在业内,以Mysql为例,可以通过Mysql Proxy实现分库分表的主主模式,通过Keepalived开源程序实现主备模式。