1)web服务
实现原理:
在linux下编译安装keepalived,实现如上图所示的功能:
1)把webserver1和webserver2绑定成一个webserver(概念),即部署两台共用一个ip(192.168.1.4)
2)配置时必须设定主备lvs,即主lvs正常的情况下,备lvs处于闲置状态,当主lvs故障的时候,备lvs处于激活状态,自动接管公用ip
这样一样,我们只要在路由里把80端口映射在192.168.1.4上就可以保证web服务不中断。
2)DB服务
前提:
1)web页面编码时预留多ip数据库的设计,一般的数据库都保存在某个配置文件中,数据库地址栏一般都是dbhost="192.168.1.5",默认情况都是填写一个,如果想组成HA,必须支持填写多个,例如dbhost="192.168.1.5,192.168.1.6",当然在程序的db操作时也要做一些代码的修改,支持在dbhost故障时继续寻址。
如图所示,即在db1和db2这两台服务器上部署mysql cluster(mysql集群版),同时指定db1和db2共同作为管理、数据、查询节点,这样在任何一个数据库的操作都会实时同步到另外一台。
原文链接:高可靠web服务的实现模型,转载请注明来源!