数据库|ip直连解决方案以及注册中心的简单理解

数据库|ip直连解决方案以及注册中心的简单理解

这里我们主要了解两个问题:
1、IP直连存在的问题
2、解决IP直连的问题
一、IP直连
一般我们连接数据库可能使用的是ip地址进行连接数据库 , 这种方式存在一个问题 , 那就是如果我们的数据库服务器换掉了 , 那么我们就需要在项目文件中去修改响应的配置 , 而且还存在一定的安全问题 。
如果用IP直接连接数据库 , 对于项目来说是一个强耦合的依赖 。
解决方案:
1、使用DNS , 域名绑定数据库服务器的IP , 连接数据库的时候我们地址填写成IP地址就可以 , 优势是配置简单 , 只配置DNS就可以 , 但是没法去做故障的发现与转移 , 多个IP也只有轮询的功能(一个域名可以配置多个IP)
2、加入注册中心
我们有服务都可以向注册中心加入登记 , 并且可以立即在应用集群中生效
常用的注册中心有Nacos、EureKa、Consul
简单了解注册中心

这里的三台主MySQL数据库的数据都是一样的 , 只要已启动就会向注册中心进行注册 , 主要注册成功后 , 注册中心就会出现三台MySQL数据库的信息 , 如图所示信息192.168.1.2192.168.1.3192.168.1.4这里保存的是MySQL的节点 。 在访问数据库的时候集群会首先向注册中心获取IP地址 , 注册中心会根据现有的注册的列表的情况 , 才有某一种负载均衡的策略从节点中选择一个IP地址 , 这时候就会把这个IP地址进行返回 , 此时集群就会向返回的这个IP发送实质的请求 。
注册中心故障发现与转移:
其实是跟注册有关系的 , 注册可以理解为一个心跳包 , 比如过一定的时间 , 比如 , 1s或者2s由数据库服务器向注册中心发送一个心跳包 , 告诉注册中心 , 现在自己运行正常 , 这样注册中心中就会把这个节点的信息保存下来 。 如果某一个节点出现了问题 , 在一定的时间内没有向注册中心发送心跳包 , 那么注册中心就会把这个节点从注册中心的列表中剔除掉 。
注册中心内置了很多的负载均衡的策略 。
【数据库|ip直连解决方案以及注册中心的简单理解】引入注册中心的优势:
支持故障的发现与转移 , 支持多种负载均衡规则
引入注册中心的缺点:
架构的复杂度提高 , 通过部署一个注册中心 , 就需要响应的部署一个集群 。