假设我有一个名为example.com
的域名,现在有两个客户端正在尝试连接它
+----------+ +-------------+
| Client 1 |\ | |
+----------+ \ +--------------+ | |
(East Asia) \---------> | | | |
| example.com | <---> | Server |
/---------> | | | |
+----------+ / +--------------+ | |
| Client 2 |/ (DNS) | |
+----------+ +-------------+
(North America) (sample application
server located in North America)
这会给我在东亚的客户造成很大的延迟,我想要的是:
+-------------+
| |
+----------+ | Server 1 |
| Client 1 |\ /--->| (Asia) |
+----------+ \ +--------------+ / | |
(East Asia) \---------> | |-/ +-------------+
| example.com | +-------------+
/---------> | |-\ | |
+----------+ / +--------------+ \ | Server 2 |
| Client 2 |/ (DNS) \--->| (N America) |
+----------+ | |
(North America) | |
+-------------+
我的应用程序未在HTTP
中使用标准TCP
自定义协议,并且需要与client
保持连接。
如何根据相同域名的地理位置进行此类映射。
答案 0 :(得分:1)
鉴于DNS的分布式特性,您要求的内容实际上并不容易(例如,考虑客户端1和客户端2使用Google的公共解析器8.8.8.8进行查找的情况)。如果您真的想这样做,请开始查看主要DNS服务器服务公司的网页,看看是否有人提供它。
可能更便宜和更容易的替代方法是在您的应用程序中添加一个步骤,其中您的服务器检查连接客户端的来源,并告诉客户端软件“与其他服务器交谈,而不是我”。