请教多域名请求问题

106 天前
 cdring
各位大神,后台 api 配置了多个域名。前端如何检测这些域名,哪个延迟低拿哪个域名请求后端 api 。这多个域名是存数据库后端返回给前端。还是直接写到 json 文件,前端请求 https://xx.com/domain.json 获取。哪个方案比较好,有没有其他更好的方案,谢谢。
2916 次点击
所在节点    程序员
44 条回复
cdring
106 天前
@yplam 目前是计划用静态资源做,我过来请教看有没有更好的方案
8355
106 天前
@cdring #20 除了自动加速以外主要是用二级域名指向不同的区域节点,比如欧洲/美国等等通常是为了某些业务的特殊性比如说欧洲的 GDPR 等等可以强制根据某些业务层面地址或者其他定位信息进行划分强制走某二级域名。
cdring
106 天前
@8355 好的,谢谢
ounxnpz
106 天前
如果是网页的话,可以用同一个域名,用 DNS Geolocation 之类的方法(具体取决于 DNS 服务商)实现不同区域解析到不同的 IP
sunchuo
106 天前
哎。这个项目感觉不太对劲。🤦
iapplebear
106 天前
刚好昨天做了这个需求,在前面先 ping 所有节点,哪个快就存到本地,记录一个时间戳我们是 1 小时,下次对比时间戳再重新 ping
perfectlife
106 天前
智能 dns 呢,同一个域名不同国家地区解析到不同的地址
kaf
106 天前
后端开一个延迟检查接口,客户端定时访问所有域名的延迟时间,请求时读取延迟最小的。这样吗
SenLief
106 天前
我觉得你在做微信,自己内置 dns ,不走系统 dns ,哈哈。
xiaochena
106 天前
正常的逻辑应该是同一个 api 域名套用多个不同厂商的 cdn 加速吧。哪有加一个国家加一个 api 域名的道理。。。emmm
wunonglin
106 天前
Promise.race 解君愁
wuhunyu
106 天前
看描述,服务器应该是分别部署在不同的国家地域了。我比较好奇的是,如果前端根据延时来判断走哪个区域的服务,特殊情况下,一会儿访问这个国家的服务器,一会儿访问另一个国家的服务器,不同区域的数据是怎么同步的,跨地域的数据同步成本会比较,而且势必会存在数据不一致的问题,好奇你们的后端是怎么处理的。像是阿里云,他们的许多产品都是分地区的,比如上海,广州。而且很多时候不同区域的产品产生的数据他也不提供转区的服务。按我理解,区域 1 的前端最好就是访问区域的 1 的服务端,不然可能因为数据同步延迟导致一些奇怪的问题。如果是同一个区域的话,我又觉得没啥必要给同一个区域多个域名吧
cdring
106 天前
@kaf 后端不开检测延时接口,前端自己检查延时
cdring
106 天前
@SenLief 不是的
cdring
106 天前
@iapplebear 需求和我这很接近
cdring
106 天前
@perfectlife 还用不上智能 dns ,因为就是想多个域名做高可用,域名挂了就切换
cdring
106 天前
@xiaochena 是这么回事,我之前没说清楚
cdring
106 天前
@wuhunyu 没有这么复杂,服务器就在一个区域,就是为了解决这个域名访问不了,换个域名在请求
cdring
106 天前
@wunonglin 没听过,我了解下,谢谢大神
yinmin
105 天前
很简单啊,拿了 domain.json 后,对所有域名同时发起异步 api 请求,记录下第一个收到结果的,就用这个。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1083569

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX