我正在研究一种设置,其中我将在多个区域拥有服务器和数据库(数据不是跨区域复制而是独立的)。
理想的流程是:
- 用户向 api.domain.com 发出请求
- 代理/负载均衡器确定哪个位置包含用户数据/用户相关数据(理想情况下根据用户会话缓存这些数据)
- 代理将请求路由到 location1.api.domain.com - 理想情况下,location1.api.domain.com 也将通过此服务进行负载平衡,或独立进行(例如 AWS Beanstalk)
我正在查看 HAProxy,它似乎支持自定义路由,但您对这样的设置有什么建议吗?或者有一些自定义路由的文章/示例吗?如果这是一个很好的解决方案。
建议使用 HAProxy 的相关问题: 如何配置反向代理/负载均衡器以进行自定义路由
答案1
HAProxy 肯定能行。过去我曾使用 Nginx 和 Lua 成功实现过这个功能。我更喜欢这种方法,因为它具有近乎无限的灵活性。遗憾的是,没有针对此类需求的基本服务,因为您将查看自定义数据来做出路由决策。
所以,如果你更喜欢 HAProxy,我建议你去使用它。如果你想要更多的灵活性,那么就选择 Nginx 和 Lua。