用于为来自多个国家/地区的大量用户提供服务的在线服务的系统架构

时间:2012-08-16 01:58:47

标签: architecture system distributed

我真的想了解网站系统架构对于

的网站是什么样子的
  1. 随时提供数万名用户的在线服务

  2. 支持多种语言,以便来自许多国家/地区的人可以使用

  3. 基本上,我想知道必须考虑哪些因素。分布式服务器(其他国家的服务器)?添加故障转移?整件事情如何发挥作用?

    我注意到google有google.com,goolge.run,google.cn等。这背后的理由是什么?每个网址是否提供不同或相同的内容?

    非常感谢任何指针或信息。

    问候。

1 个答案:

答案 0 :(得分:0)

建筑相关任务没有灵丹妙药。但通常对于大型和长期生活项目,您应该考虑以下任务:

定义您应该开始的目标容量。您无法在一次迭代中构建高可用性系统。最初,您可能可以从全球最大用户会话= 1000开始,但您现在应该准备好扩展。并且不要害怕支付technical debt

更加关注基础技术细节。您无法想象这一点对于高规模项目如何重要。对于大量数据,一些通用解决方案可以替换为您自己的优化的自己的解决方案。这与任何情况有关:数据库方案,处理对服务器的请求或排序算法。例如,具有更具体的排序算法具有非常小的好处,但是对于巨大的数据量可以节省数十亿美元。在此级别,您可能必须在请求处理序列级别调整Web服务器,以便了解底层详细信息及其源代码。开源项目很好,因为您可以随时改进实施或修复错误。

最后,您应该了解一些广为人知的缩放方法。平衡和缓存是微不足道的,它可能是sharding,推迟了数据处理甚至数据的完全重复(考虑到Mark Tsukenberg发布到Facebook时,由于他的广泛订阅者社区,数据库中有超过一个发布的记录)