我有一个网站,几个月后会有来自不同国家的流量, 但这取决于我应该展示哪个网站的国家。
目前我正在使用免费的 maxmind GeoIp 重定向流量, 用 php。
但我认为,如果每天有 40,000 个唯一用户,每天大约有 100,000 个请求,这将非常缓慢。
我考虑过用 .htaccess 来做这件事,但我认为请求时间会多一点。
我现在的最终想法是根据国家/地区在不同的文件夹(或子域)中以网站的 html 构建主页,例如 us.website.com 并将用户重定向到那里,但我不知道哪个方式是最快的用户体验。
服务器是LAMP(我可以选择发行版)
请帮我决定!! 感谢一切!
最佳答案
嗯, 我觉得你太担心了,但让我解释一下:
- IP -> country 是一个哈希表,所以我希望能花很少的时间来解决您的查询
- 是静态信息,解析后可以缓存
- 100k 页面浏览量和 40k 用户意味着每 2.5 个页面浏览量对应 1 个用户,“短”导航历史记录(稍后解释)
对于这种情况我建议:
- 使用 PHP 查询数据库(将代码放在执行的“头部”)并将国家/地区存储/缓存在 cookie 中并提供请求。一个简单的 if(empty($COOKIE['country'])) 将允许理解是否查询数据库
- 避免重定向到不同的站点 (us.domain.com),您将向每个用户传递 2.5 到 3.5 个请求(多出约 40%)
- 当站点需要更多资源时,您可以添加增加云资源或添加具有相同地址 (www.domain.com) 但新 IP 执行 DNS 轮询的新机器,适用于较短的导航历史记录。
附言
如果你要集群 $_SESSION 共享将是真正的挑战,所以从现在开始你可以看看 session 管理器
关于php - 哪种是按国家/地区重定向用户的最佳可扩展方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11061002/