我有几个论坛服务器(它们是什么无关紧要),它们存储来自用户的帖子,我希望能够在这些服务器之间划分请求。我目前倾向于按地理位置对它们进行分区。为了提高数据的局部性,将用户划分为北美、南美等区域。
是否有任何设计模式来实现将分区属性映射到服务器的功能,使这段代码具有高可用性并且不会成为单点故障?
f( Region ) -> Server IP
我有几个论坛服务器(它们是什么无关紧要),它们存储来自用户的帖子,我希望能够在这些服务器之间划分请求。我目前倾向于按地理位置对它们进行分区。为了提高数据的局部性,将用户划分为北美、南美等区域。
是否有任何设计模式来实现将分区属性映射到服务器的功能,使这段代码具有高可用性并且不会成为单点故障?
f( Region ) -> Server IP
如果您听听Jason Calacanis 在 TWiST #26 中接受 Jason Calacanis 采访的Matt Mullenweg(Wordpress 的创始人),那么唯一有效的高可用性方法是“横向扩展”(即“每个大陆有很多很多的数据中心”,那些专门用于跨大陆复制较少的小型博客(低流量)和一些专门用于高流量博客的区别。
所以没有什么神奇的解决方案,除了说:硬件更便宜,拥有尽可能多的数据中心。