[英]Node.js: choosing DigitalOcean city from location of user
我在HTTP服务器上使用Node.js。 我希望每个连接的用户都使用WebSockets连接到实时游戏服务器,并且希望他们连接到距离他们最近的服务器。 我正在使用DigitalOcean,所以这里是可用城市的列表:
我需要使用连接用户的IP地址的位置并找到最近的城市,以便可以连接到最近的服务器。
我已经考虑了执行此操作的方法:
以上两种方法中哪一种更好? 我该如何使用Node.js和NPM做得更好? 还有其他更好的选择吗?
我认为解决此问题的最佳解决方案是使用Anycast或类似的解决方案:重定向多个方向的IP。
有关Anycast的更多信息
任播是一种网络技术,其中从多个位置通告相同的IP前缀。 然后,网络根据路由协议成本以及可能的广告服务器的“运行状况”,决定将用户请求路由至哪个位置。
根据任播的实现方式,它还可以提供一定程度的高可用性。 如果任播路由的广告以某种健康检查为条件(例如,在此示例中,例如,对一个众所周知的域的DNS查询),则一旦服务器发生故障,就可以删除其路由。 网络重新融合后,用户请求将被无缝转发到下一个最接近的DNS实例,而无需任何手动干预或重新配置。
链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.