我目前正在决定如何设计一个系统来处理云端统计数据的计算。
我想知道我应该使用什么样的服务器结构才能轻松地通过云端扩展计算。
更具体地说,我想知道为了计算统计数据,我是否应该只使用云或混合(专用服务器和云服务器)。
我目前正在构建的服务将为我的客户分析移动数据。
客户端越大,数据库就越大,计算量也越大。
如果您知道最适合这种情况的最佳服务器设计模式,我将不胜感激。
答案1
这个问题目前正在讨论中,所以在它解决之前,我想说的是:
尽量避免过早优化。从单个客户端、单个服务器和单个数据库开始。设计软件时要考虑可扩展性,但不要花太多时间过度优化和抽象软件层,以便它能够“完美”运行。
您可能应该考虑一些技术策略,例如分片数据库和无共享架构。使用 map-reduce 集群(可能基于 Hadoop,也可能不基于)可能会获得良好的性能。
初始问题中有很多子问题。可能应该单独挑选出来并在 StackOverflow 上提问。
如果您确实不确定服务器架构的设计,那么您应该做两件事。
- 坚持什么你是擅长。你设计软件。
- 聘请系统架构师来处理服务器端的工作并使一切协同工作。
答案2
你的问题不是“服务器结构”。如果你的软件不能以大规模并行方式运行,那么你就无法扩展它来处理更大的数据集。但是,由于缺乏有关你到底想做什么的信息,我们甚至不可能为你提供有关如何构建代码的有用帮助(无论如何,这将是 Stack Overflow 的一个问题)。