我希望建立一个案例管理的web应用程序,将由全球用户使用。
我需要确保应用程序为所有用户提供良好的性能,而不受地域限制,但现在我们假设焦点是美国、西欧和澳大利亚。
团队成员将使用此应用程序创建案例并进行协作。例如,美国用户将在系统中创建案例,澳大利亚和欧洲将实时查看、编辑等。
我可以从哪里开始架构它以获得最佳性能?
发布于 2013-06-07 15:25:39
有几种策略,这取决于您的数据大小和需求:
1)对您的客户按区域进行分片,以便不同的客户可以与不同的数据库和计算进行对话。这通常是通过自定义分片来完成的,所以你有一个框可以将人们推送到正确的位置或通过url。即usa.blah.com或europe.blah.com。这可能会变得复杂,但显然你可以管理你的后端系统。X客户信息应该是Y数据库,所以写在后端那里。
2)另一种方式是您可以使用流量管理器将您的用户推送到基于其位置的不同计算。
https://azure.microsoft.com/en-us/documentation/articles/traffic-manager-overview/
然后,您可以按5分钟的计划跨区域同步数据库,然后,例如,您有一个主要的读/写操作,例如在美国东部,您可以将只读拷贝推送到本地数据中心。
3)如果您没有如此繁重的数据库设置,并且可以在计算端缓存大量信息,那么可以使用流量管理器,并拥有一个中央数据库。
不过,有两件事将为您提供最佳性能,使用本地数据中心将减少延迟,另一个主要原因是在计算端缓存尽可能多的数据,以便减少数据库调用。
您真的需要在小型计算环境中尝试不同的设置,看看哪种设置最适合您的应用程序。
https://stackoverflow.com/questions/16968191
复制相似问题