达梦集群高可用连接配置

💡 原文中文,约6500字,阅读约需16分钟。
📝

内容提要

本文介绍达梦数据库连接配置:JDBC连接串有三种格式,支持主机端口、模式名及多种属性参数,涵盖连接、集群高可用、读写分离、安全加密、日志监控等类别;dm_svc.conf为客户端配置文件,分全局与服务配置区,服务区优先级更高,修改后需重启客户端;并详解LOGIN_MODE、AUTO_RECONNECT、CLUSTER等关键参数取值及配置示例。

🔎

延伸解读

JDBC连接串的三种格式:如何选择

达梦JDBC连接串支持三种格式:格式一将host和port直接写在URL中,格式二将其作为连接属性,格式三使用自定义服务名并支持多节点。格式一最直观,适合简单连接;格式二属性名大小写敏感,需严格按属性表设置;格式三适用于集群或高可用场景,可指定多个host:port,若未指定则从dm_svc.conf匹配服务名。选择时需根据部署复杂度和是否需要高可用来决定。

dm_svc.conf配置的优先级与生效机制

dm_svc.conf是客户端配置文件,必须与客户端工具同机才能生效。文件分为全局配置区和服务配置区,服务配置区以[服务名]开头,其优先级高于全局配置区。全局配置影响所有会话,修改需慎重。若同时修改了JDBC连接串和dm_svc.conf中的同一属性,以JDBC连接串优先。修改配置文件后,必须重启客户端工具才能生效。若文件包含中文,需确保编码与客户端一致。

高可用关键参数:LOGIN_MODE与AUTO_RECONNECT的配合

LOGIN_MODE决定优先连接的服务器模式,例如0优先主库,2只连备库,4优先NORMAL(缺省)。启用读写分离时LOGIN_MODE不生效。AUTO_RECONNECT控制连接异常处理:0关闭,1异常时切换其他库并抛异常,2配合epSelector=1可在节点恢复后切回原节点,4保持动态均衡。两者需根据集群类型配合使用,如DSC集群建议autoReconnect=2且epSelector=1,以实现故障切换和恢复回切。

集群类型与读写分离参数解析

CLUSTER参数指定集群类型:DW主备、RW读写分离、MPP大规模并行处理、DPC分布计算、DSC数据共享、NORMAL单机。DSC需配合autoReconnect=2和epSelector=1。RW_SEPARATE控制读写分离:0不启用,1系统自动选备库,2客户端选,3服务器通知,4只连事务一致性备库,5为GATEWAY准备。EP_SELECTOR决定节点选择策略:0均匀分布,>0固定第n个节点。配置时需根据实际集群架构选择合适参数。

Q&A

达梦数据库的JDBC连接串有哪几种格式?

达梦JDBC连接串有三种格式:格式一:host和port直接作为连接值,如jdbc:dm://192.168.0.96:5236/SYSDBA?resultSetType=1003;格式二:host和port作为连接属性,如jdbc:dm://?host=192.168.0.96&port=5236;格式三:使用自定义服务名,可指定多个数据库节点,如jdbc:dm://test?test=(192.168.0.96:5236,192.168.0.96:5237)&LOGIN_MODE=1&CLUSTER=DSC。

dm_svc.conf文件的作用是什么?修改后需要重启客户端吗?

dm_svc.conf是达梦数据库的客户端配置文件,包含DM各接口和客户端工具需要配置的参数,必须和接口/客户端工具位于同一台机器上才能生效。修改dm_svc.conf后,需要重启客户端工具,修改的配置才能生效。

达梦数据库的LOGIN_MODE参数有哪些取值?分别代表什么含义?

LOGIN_MODE参数取值:0:优先PRIMARY → NORMAL → STANDBY;1:只连接主库;2:只连接备库;3:优先STANDBY → PRIMARY → NORMAL;4:优先NORMAL → PRIMARY → STANDBY(缺省)。启用读写分离时(rwSeparate ≠ 0),loginMode不生效。

AUTO_RECONNECT参数有什么作用?取值如何理解?

AUTO_RECONNECT用于设置连接异常处理策略,取值:0:关闭连接;1:异常时自动切换到其他库,抛SQLException通知上层;2:配合epSelector=1,节点恢复后切回原节点;4:保持各节点会话动态均衡。可组合使用,如3表示1+2。

达梦数据库支持哪些集群类型?CLUSTER参数如何配置?

达梦数据库支持多种集群类型,通过CLUSTER参数配置:DW:主备;RW:读写分离;MPP:大规模并行处理集群;DPC:分布计算集群;DSC:数据共享集群(需配合autoReconnect=2、epSelector=1);NORMAL:单机库(缺省)。

dm_svc.conf中全局配置区和服务配置区的优先级是怎样的?

dm_svc.conf配置文件的内容分为全局配置区和服务配置区。全局配置区在前,服务配置区在后,以“[服务名]”开头。服务配置区中的配置优先级高于全局配置区。全局配置区的配置项影响所有会话,除非会话所属服务配置区中单独进行了配置。

🏷️

标签

➡️

继续阅读