如果我们的应用访问数据库,那么通常在配置文件中加上如下配置
jdbc:mysql://123.123.123:3306/db
如果我们的数据库地址变了,那么就要修改应用配置重启,假设我们有几千上万个应用节点,那么工作量可想而知。
直接IP直连是一种强耦合,但是如果换成域名就解耦合了,修改数据库地址,程序不需要修改,只需要修改域名解析即可。
jdbc:mysql://域名:3306/db
我们可以用如下方法来实现
方法1:引入内部的DNS
简单粗暴,但没有故障发现与转移,多IP只有轮询规则
方法2:加入注册中心 Nacos/Eureka/Consul
支持故障发现与故障转移,多种负载均衡规则,但是架构复杂度增加
当然如果我们的服务器节点不多,就没有必要考虑那么复杂了,只有大厂才需要的。