
负载均衡集群是由一组相互独立的计算机系统构成,通过常规网络或专用网络进行连接,由路由器衔接在一起,各节点相互协作、共同负载、均衡压力,对客户端来说,整个群集可以视为一台具有超高性能的独立服务器。
市面上存在两种数据库负载均衡的思路:
1、基于数据库连接的负载均衡:例如总共有100个数据库连接,50个连接登录到数据库机器A,另外50个连接登录到数据库机器B,这样每个连接中接下来的所有请求全都是发往同一台数据库机器的。这种数据库负载均衡的思路模拟了WEB上的负载均衡方法,但是由于WEB连接是短时间连接(连接建立后,获取需要的HTML等资源后,连接马上被关闭),而数据库连接是长时间连接( 连接建立后,可长时间保持,客户可不停向数据库发送SQL请求,数据库做出回答,如此不断循环直到连接被人为或因错而断开为止),因此这种数据库负载均衡思路存在着明显的缺点:有可能会发生绝大部分的请求压力都集中到某台数据库机器上去,从而使得负载均衡效果失效。
2、基于批处理请求的负载均衡:在建立数据库连接的时候,会同时与每台数据库服务器建立连接,之后针对客户端的每次请求,都会根据负载均衡算法,独立地选出某个数据库节点来执行这个请求。此种思路符合数据库长时间连接的特征,不存在上面所述的基于连接的负载均衡方法的缺点。
mysql数据库负载均衡 一般多用于读负载, lvs 负载均衡,keepalived 高可用性。
LVS软件负载均衡器
LVS(LinuxVirtual Server)是由章文嵩博士主导开发的一款开源软件,可以实现Linux平台下的基于网络层的负载均衡软件。典型的基本架构图如图所示:
LVS集群采用IP负载均衡技术和基于内容请求分发技术。
LVS集群采用基于IP负载均衡技术和基于内容请求分发技术。当客户端有请求时,首先将请求包传送到Load Balance,然后Load Balance从后面的Real Servers中按照一定的算法策略选取一台Real Server,比如Real Server1,然后把请求包发送给Real Server1进行处理。对所有用户而言,面向用户的服务器端IP地址,只有一台,称之为VirtualIP Address。
纵向扩展指的是增加单个数据库服务器的性能,这包括增加内存、磁盘空间、CPU 等资源。这种扩展方式会遇到瓶颈,是因为单台数据库服务器的性能有限,总有一天会达到极限。横向扩展指的是增加多台数据库服务器,将数据分布在多台服务器上。这种扩展方式需要解决如何在多台服务器之间进行数据同步、如何确保数据的一致性、如何处理负载均衡等问题。横向扩展能够提高数据库的性能和可扩展性,但也带来了更多的复杂性。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)