关于同内网下服务器域名的疑惑
在腾讯云同一个局域网下, 一台服务器部署业务, 一台服务器部署数据库, 两台服务器都有外网 ip, 数据库外网 ip 使用域名解析, 我直接在业务服务器上 ping 数据库的域名,延迟很低, 说明直接通过内网访问的. 所以我有个疑问, 业务系统中是否可以直接使用域名连接数据库, 不必区分内网 /外网地址, 这样开发部署的时候都很省事. 但是我发工单问腾讯云的客服, 他们说用外网域名 /ip 就走的外网,不会走内网, 有点搞不懂了.
在腾讯云同一个局域网下, 一台服务器部署业务, 一台服务器部署数据库, 两台服务器都有外网 ip, 数据库外网 ip 使用域名解析, 我直接在业务服务器上 ping 数据库的域名,延迟很低, 说明直接通过内网访问的. 所以我有个疑问, 业务系统中是否可以直接使用域名连接数据库, 不必区分内网 /外网地址, 这样开发部署的时候都很省事. 但是我发工单问腾讯云的客服, 他们说用外网域名 /ip 就走的外网,不会走内网, 有点搞不懂了.
延迟低怎么就得出“直接通过内网访问的”这个结论的?
总之 ping 的, dig 的, 你所使用的网络库最后解析出来的 ip, 都可能是不一样的…
一般都会把内网域名加到 hosts 的. 或者你内网自己弄个 dns. 否则内网的 https 的 api, 没法用 ip 地址请求.
访问外网 IP,至少要走到机房的外网超级核心的,只不过从外网超级核心直接又走回到内网超级核心了,网络包没有出机房,当然 ping 的延迟很低。但是毕竟走了外网超核,外网带宽、外网流量肯定要算的。
一般原则
1 、应用与数据库部署在同一台机器上,数据库应该监听 127.0.0.1
2 、应用与数据库分开独立部署的,数据库应该监听内网地址
不过建议数据库还是不要暴露在外网,如果不加防火墙规则或者白名单,爆破是早晚的事
访问外网 IP 是一定走的外网的,延迟低只能说明人家机房做了回流,也就是封包走到外层交换机之后,交换机发现是个内网设备,就又给你送回来了。