【发布时间】:2014-02-03 04:21:36
【问题描述】:
目前,我在欧洲部署了一个应用程序实例。它通过 Web 服务 (SOAP) 公开一些功能。全世界(主要是北美、欧洲和亚洲)有许多客户(几千个)在使用它。在当前设置中,一些客户端必须对部署在不同大陆上的应用程序进行 WS 调用,这会显着增加响应时间。关于调用字符 - 有效负载很小,但调用很频繁。
现在我的想法是简单地部署应用程序的更多实例,以便在每个地理区域中都有一个。但随之而来的问题是如何在不同的实例上进行负载均衡/负载分配请求。
方法 #1。
一开始我在考虑一些 HTTP 级别的负载平衡 - 让一个主机公开相同的 WS 方法并将它们委托给不同的应用程序实例。但我认为在这个解决方案中,我不会在传输时间方面获得任何收益——整个请求必须先到达一个中心位置,然后再到达目的地。所以数据包路由会比单个实例更长。
方法 #2。
然后我想到了 DNS 级别的负载平衡。无论如何都必须完成 DNS 查找,如果返回的 IP 可以指向关闭的地理定位实例,那就是它!但是这个解决方案似乎要复杂得多,因为我必须部署一个新的 DNS 系统(或者如果它支持这样的东西,就配置我公司使用的那个)。此外,在 google 上的快速搜索显示主要是基于商业 DNS 的负载均衡器。
我希望得到帮助回答的问题是:
1) 我在上述两种方法中是否遗漏了什么?
2) 有没有更好的方法来解决这个问题?具体是什么?
【问题讨论】:
标签: architecture dns scalability load-balancing