负载均衡
先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现,也就是两台以上即可。
测试环境
由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台CentOS。
测试域名 :acom
A服务器IP :1921685149 (主)
B服务器IP :192168527
C服务器IP :1921685126
部署思路
A服务器做为主服务器,域名直接解析到A服务器(1921685149)上,由A服务器负载均衡到B服务器(192168527)与C服务器(1921685126)上。
域名解析
由于不是真实环境,域名就随便使用一个acom用作测试,所以acom的解析只能在hosts文件设置。
打开:C:WindowsSystem32driversetchosts
在末尾添加
1921685149 acom
保存退出,然后启动命令模式ping下看看是否已设置成功
从截图上看已成功将acom解析到1921685149IP
A服务器nginxconf设置
打开nginxconf,文件位置在nginx安装目录的conf目录下。
在>
市面上存在两种数据库负载均衡的思路:1
基于数据库连接的负载均衡:例如总共有100个数据库连接,50个连接登录到数据库机器A,另外50个连接登录到数据库机器B,这样每个连接中接下来的所有请求全都是发往同一台数据库机器的
这种数据库负载均衡的思路模拟了WEB上的负载均衡方法,但是由于WEB连接是短时间连接(连接建立后,获取需要的HTML等资源后,连接马上被关闭),而数据库连接是长时间连接(连接建立后,可长时间保持,客户可不停向数据库发送SQL请求,数据库做出回答,如此不断循环直到连接被人为或因错而断开为止),因此这种数据库负载均衡思路存在着明显的缺点:有可能会发生绝大部分的请求压力都集中到某台数据库机器上去,从而使得负载均衡效果失效
2
基于批处理请求的负载均衡:在建立数据库连接的时候,会同时与每台数据库服务器建立连接,之后针对客户端的每次请求,都会根据负载均衡算法,独立地选出某个数据库节点来执行这个请求
此种思路符合数据库长时间连接的特征,不存在上面所述的基于连接的负载均衡方法的缺点
市面上的负载均衡厂商,既有基于连接的,也有基于批处理请求的,用户需仔细辨别才能找到自己想要的合适产品
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)