网络服务在数据库层的支持问题

运维 数据库运维
目前两种方式各有利弊,如果是基于纯粹IP的方式,在一定程度上能够做到隔离,即业务服务器访问一个指定的IP,可能ping就不通,但是这些权限是可以通过防火墙来控制的。所以在这个方向上是否有更好的方案?

[[436827]]

昨天和网络组的同学闲聊,突然发现数据和网络层之间已经好久没有沟通了,其实这两块的衔接还是非常重要的,尤其是在高可用方向。我也提出了几个问题,每个问题都觉得可以聊好久,在先期的沟通中,我觉得不着急给出答案,得到答案,而是经过分析之后更合适的答案,所以在文中也是抛出问题,而不是刻意给出答案。

#问题1

服务器配置了Consul域名,有的业务使用IP连接,有的业务使用Consul 域名连接,怎么判断业务到底是使用了IP还是域名?

问题背景:数据库高可用的改造过程中,会出现一些业务未改造完整,有部分业务使用IP连接的情况,这个时候如果数据库发生了故障,数据库做了切换,从一台服务器切换到另外一台服务器,那么业务访问的时候如果还使用IP就会报错,如果能够提前预判,就能够把问题前置处理

#问题2

目前IP的使用是有基于VIP的使用模式,IP漂移的过程处理还是比较快的,在IP层是否还有其他的解决方案

#问题3

IP转发,如果有一台服务器A,上面没有实际的数据库,有服务器B,如果需要业务访问服务器A,能够直接将请求转发至服务器B,是否可以实现?

目前讨论了3种实现方式:

1)服务器A转发至服务器B,是一种预配置的方式

2)服务器A即时触发,转发请求至服务器B,难度相对较大

3)在服务器A的配置前侧做相应的配置,能够更前置处理

#问题4

如果业务服务器有10台,在数据库层面已经开通了防火墙权限,那么如何快速验证业务服务器的权限是否已经开通

问题背景:目前业务申请权限后,如果数据库端配置有误(通常是数据库用户配置等),在业务发布上线时发现问题再紧急处理影响就会比较大

或者是申请数据库权限后过了好几天之后才发现有问题

#问题5

数据库的防火墙里面有很多的服务器IP,有些服务器下线了之后其实防火墙信息里面就会始终保留这些信息,导致防火墙信息管理比较混乱

如果能够提供相应的机制能够知晓相应的服务器IP已经下线,就可以联动处理这些问题

#问题6

数据库容器化中网络层面的支持可以细化到什么粒度?

#问题7

基于域名的方式,需要应用服务器安装Consul agent,同时配置dnsmasq做域名转发,如果新增业务都没有使用安装Consul agent,会基于网络DNS做解析

基于API的方式,业务需要一定的改造,但是基于API的方式是一种无客户端的状态,配置相对简单,更容易管理

目前两种方式各有利弊,如果是基于纯粹IP的方式,在一定程度上能够做到隔离,即业务服务器访问一个指定的IP,可能ping就不通,但是这些权限是可以通过防火墙来控制的。所以在这个方向上是否有更好的方案?

本文转载自微信公众号「杨建荣的学习笔记」,可以通过以下二维码关注。转载本文请联系杨建荣的学习笔记公众号。

 

责任编辑:武晓燕 来源: 杨建荣的学习笔记
相关推荐

2018-12-06 10:21:34

亚马逊AWS数据库

2011-04-07 15:17:40

MySQL数据库服务器

2013-04-28 10:18:42

SDNSDN应用4-7层

2010-07-27 15:20:44

2012-10-25 13:57:46

2011-05-19 09:53:33

数据库对象

2010-03-12 13:10:02

Python编程语言

2011-08-22 11:00:14

nagios

2011-08-22 11:00:17

nagios

2011-08-22 11:00:10

nagios

2019-06-25 15:18:54

MySQL数据库表层

2011-08-22 10:30:29

nagios

2012-04-13 16:21:47

亚马逊云计算CloudSerach

2010-10-09 10:29:29

MySQL外键

2011-04-12 13:44:17

CachéOracle数据库

2011-03-23 13:34:18

数据库转化

2024-11-13 15:15:46

2009-09-17 16:16:29

wsus服务器

2010-03-10 11:15:45

Linux系统网络服务

2018-12-06 10:30:14

亚马逊AWS私有云
点赞
收藏

51CTO技术栈公众号