为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:我们搭建了达梦数据库主备集群,php项目连接达梦数据库,目前是在php项目的配置文件中,写的固定ip和端口信息。如果主备集群发生故障,存在切换主备数据库的情况,达梦是否有类似keepalived的虚拟ip解决办法,实现不需要修改代码,也能直接正常连接到备库?
刚刚搭建了一个测试环境php7.4的,通过服务名访问达梦,测试是可以的。下面是以本地测试DMDSC集群环境举例,主备集群同理只是服务名的选项配置稍有区别,主备集群服务名配置如下(/etc/dm_svc.conf文件中配置):
##主备集群服务名配置
TIME_ZONE=(480)
LANGUAGE=(cn)
DMCLUSTER1=(192.168.15.80:5237,192.168.15.81:5237)
[DMCLUSTER1]
LOGIN_MODE=(1)
本地测试,以本地测试DMDSC集群环境举例
服务名配置:/etc/dm_svc.conf
本地php测试页面的配置:
页面访问也是正常的:
达梦主备集群支持通过服务名的方式,这种方式类似虚拟IP,通过服务名连接数据库,在主备切换之后不需要应用程序修改连接串,应该是支持PHP的,如果这种方式PHP无法访问,可以反馈给我们。可以参考https://eco.dameng.com/document/dm/zh-cn/pm/configuration-description.html#5.8%20%E6%9C%8D%E5%8A%A1%E5%90%8D%E9%85%8D%E7%BD%AE
https://eco.dameng.com/document/dm/zh-cn/pm/physical-storage.html#2.1.1.4%20dm_svc.conf