lbpool 数据库负载均衡连接池

程序名称:lbpool

lbpool 介绍

lbpool是根据MySQL的复制机制设计的支持负 载均衡的JDBC连接缓冲池。一般来说,MySQL复制机制涉及一台主服务器(master
server)和多台复制服务器(slave server),数据库写操作只发生在主服务器上,而读操作则可以分布到主服务器及其他复制服务器。

虽然lbpool是为MySQL设计的,但也可以方便地扩展到其他支持复制功能的数据库系统,如PostgreSQL等。

负载均衡策略

负载均衡算法主要基于并发连接数,负载和slave的状态等参数来选择合适的服务器:

  • 是否可访问;
  • 复制是否依然在进行;
  • 复制是否已经落后主服务器;
  • 负载是否太高;
  • 数据库连接数是否太多。

一些有用的特性

  • 实时重负载均衡:即当客户端断开,或某服务器断线或重新在线后,系统会对现有数据库连接进行重分配以达到动态的负载平衡;
  • 如果所有服务器都断线,则系统在一段时间内会阻塞数据库查询,避免马上抛出SQLException,当某台机器在线后,则数据库查询马上恢复正常;
  • 如果某台服务器断线,或复制服务器与主服务器断开或滞后很长时间,则原有连接会被切换到其他服务器,而且并不影响正在进行过程的查询;
  • 复制服务器信息配置在主服务器上,支持动态配置,因此可以方便地增加、删除或维护复制服务器。

lbpool 官网

http://code.google.com/p/mysql-lbpool/

相关编程语言

SchemaCrawler提供一组用于增强标准JDBC Metadata的...
ER Master 是一个用于设计ER模型图的Eclipse插件。提...
Eclipse下用于画数据库ER图的插件,主要特性如下: ...
PowerDesigner 是Sybase的企业建模和设计解决方案,...
Mogwai ERDesigner NG是一个实体关系建模工具类似于...
Power*Architect 是一个数据建模工具,主要用在数据...