iis – 地理位置分散的Web应用程序如何处理存储的数据?

假设…我从澳大利亚登录一个Web应用程序并更改了一些数据.在美国,我的同事正在使用相同的系统,并希望查看我已更改的数据.如何在本地为澳大利亚用户部署Web应用程序,在本地为美国用户部署(性能)但共享数据?

Google,Facebook或任何其他全球系统如何提高不同国家/地区用户效果,但如果用户前往其他位置或全局使用数据,仍会保持数据同步.或者他们实际上是否将数据库服务器放在一个位置?

解决方法

至于Facebook,谷歌等:数据库服务器并非全部在一个位置,当然也不是所有时间都完全同步.它们都在不同地理区域的几个服务器集群上使用分布式系统.

集群在许多国家/地区分发.集群之间的更新频率取决于系统对可接受的工作的需要.

如果你带Facebook,例如:
大多数时候,您与自己国家的朋友进行交流.因此,保持您所在国家/地区的服务器会立即生效,您的朋友会立即看到您的消息.
其他contries中的朋友可能会有延迟,具体取决于群集服务器节点的更新频率.如果需要,IIRC Facebook群集通过请求来自其他群集的信息进行交互.很多次我收到一条消息说“此用户更新状态为等等”.单击整个消息的链接时,我收到了一条错误消息.这是集群之间的同步问题.一些信息已经同步,而其他信息没有.

如何构建基础架构取决于用户数量,数据需要同步的频率等.

一个例子,Email:
电子邮件系统是整个地球上的分布式系统.与具有100万用户的服务器相比,具有单个用户的服务器不那么繁忙.您如何解决繁忙服务器的交付问题?更多分布式本地服务器更强大的服务器?更强大的互联网连接?上述所有的?
由于电子邮件的基本概念(将消息从一个节点传递到另一个节点)不会改变,无论电子邮件用户数量如何,您都需要设计特定的系统以适应所有用户.无论您如何设计系统,有时电子邮件的交付延迟,因为链中的其他节点上的流量太多.

同样的概念适用于Facebook.他们为特定地区设计和建造农场,但整个系统依赖于“地理差异”.也就是说,您比其他地区更有可能与您所在地区的用户进行互动.

至于你的特殊问题:这一切都取决于有多少用户.
单个数据库服务器(或群集服务器)可能适合您.如果需要分布式群集服务器群,那么您可能必须编写自己的系统进行同步,就像Facebook和谷歌那样.此解决方案取决于您的用户需求以及系统的工作方式.我不知道任何标准化的系统是“适合所有人”的解决方案.

我一直在这里咆哮很多,而且已经很晚了,我可能完全没有目标,但是嘿,这是我的2美分.

干杯!

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些