Elixir/Phoenix地理负载平衡器

Elixir/Phoenix地理负载平衡器,elixir,load-balancing,phoenix-framework,latency,Elixir,Load Balancing,Phoenix Framework,Latency,我正在尝试使用elixir/phoenix制作一个地理负载均衡器,这样当客户端最初连接时,它将选择最接近的ping/延迟最小的服务器,并在将来的连接中使用该服务器 假设客户端在get/balance、PageController、:index处到达平衡器,在我的数据库中有两台服务器:server1.domain.com和server2.domain.com。是否可以通过elixir后端将连接或ping从客户端传递到两台服务器 我可能可以在前端创建逻辑,用js ping,然后将值返回到后端进行存储

我正在尝试使用elixir/phoenix制作一个地理负载均衡器,这样当客户端最初连接时,它将选择最接近的ping/延迟最小的服务器,并在将来的连接中使用该服务器

假设客户端在get/balance、PageController、:index处到达平衡器,在我的数据库中有两台服务器:server1.domain.com和server2.domain.com。是否可以通过elixir后端将连接或ping从客户端传递到两台服务器

我可能可以在前端创建逻辑,用js ping,然后将值返回到后端进行存储。然而,我宁愿一切都在后端


任何关于负载平衡的提示或建议都非常感谢,因为我不能100%确定这样做是否正确。谢谢

好吧,如果你只有一个负载平衡器,那就没什么意义了。例如,您的负载平衡器位于美国,而您在美国和欧洲有一台应用服务器。当一个来自欧洲的访问者访问你的站点时,他会首先点击美国的负载平衡器,然后连接到欧洲甚至美国的应用服务器,这并不重要。你从中得不到速度

我想你需要在DNS级别上进行地理路由,这样访问者就可以直接访问离他最近的服务器,可以是负载均衡器或应用服务器

我还没有深入探讨这个话题,但一个好的起点是谷歌地理DNS负载平衡,看看它能给你带来什么


也许有经验丰富的人可以在技术方面给出更详细的答案,但也许你也可以从建议的谷歌搜索中找到你需要的东西。

好吧,如果你只有一个负载平衡器,那就没什么意义了。例如,您的负载平衡器位于美国,而您在美国和欧洲有一台应用服务器。当一个来自欧洲的访问者访问你的站点时,他会首先点击美国的负载平衡器,然后连接到欧洲甚至美国的应用服务器,这并不重要。你从中得不到速度

我想你需要在DNS级别上进行地理路由,这样访问者就可以直接访问离他最近的服务器,可以是负载均衡器或应用服务器

我还没有深入探讨这个话题,但一个好的起点是谷歌地理DNS负载平衡,看看它能给你带来什么


也许有更熟悉这个话题的人可以在技术方面给出更详细的答案,但也许你也可以从建议的谷歌搜索中找到你需要的。

Hey@Philipp,谢谢你的回复。是的,我读过关于DNS负载平衡的文章,并想将其应用到登录页本身,但是当用户尝试登录到他的帐户以使用内部平衡来更好地控制流量时。你无法控制DNS的流量是什么?@webdeb作为住在伊斯坦布尔的人,我已经习惯了。黄金法则,不要与高峰时间冲突:嘿@Philipp,谢谢你的回复。是的,我读过关于DNS负载平衡的文章,并想将其应用到登录页本身,但是当用户尝试登录到他的帐户以使用内部平衡来更好地控制流量时。你无法控制DNS的流量是什么?@webdeb作为住在伊斯坦布尔的人,我已经习惯了。黄金法则,不要与高峰时间冲突:应用程序将如何托管?云提供商有工具在DNS层解决这个问题,例如:应用程序将如何托管?云提供商拥有在DNS层解决此问题的工具,例如: