关于服务器高可用架构的培训心得
什么是负载均衡
首先,我们理解了什么是负载均衡,由多台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。多个服务器实例所组成的服务具有很高的可用性及扩展性,当其中一个服务实例失效的时候,其它服务实例可以帮助它分担一部分工作甚至是完成它的工作。
如何通过nginx实现负载均衡
首先需要选择具体的负载均衡模式,分别是轮询、weight、fair、ip_hash、url_hash四种,选择符合自己的模式后,打开nginx.cnf文件,在http节点下添加upstream节点,如upstream [自建名]{server 192.168.0.1.8080;}
通过这个 [自建名] 在url里访问的,像上面这个例子一样什么都不加就是默认的轮询,第一个请求过来访问第一个server,第二个请求来访问第二个server。依次轮着来。例如其中的weight模式的配置如下:
upstream [自建名] {
server 192.168.0.1:8080 weight 2;
server 192.168.0.2:8080 weight 1;
}
其他的模式也是也是在该文件下配置略显差异。
然后是创建一个监听器
server{
listen [端口];
server_name [解析名];
index index.html;
root /data0/htdocs/www;
}
最后,总的来讲
一、多台服务器提供服务,但域名只解析到主服务器,而真正的服务器IP不会被ping下即可获得,增加一定安全性。
二、upstream里的IP不一定是内网,外网IP也可以。不过经典的案例是,局域网中某台IP暴露在外网下,域名直接解析到此IP。然后又这台主服务器转发到内网服务器IP中。
三、某台服务器宕机、不会影响网站正常运行,Nginx不会把请求转发到已宕机的IP上