与企业系统相关的术语之一是“高可用性”系统。我知道拥有高可用性系统的一种基本方法是将您的应用程序部署为一个集群,这样当一个节点出现故障时,其他ndoes仍然可以为请求提供服务。高可用性还有比集群更多的东西吗?
答案 0 :(得分:1)
是的,还有更多内容:
高可用性服务的“硬部分”之一是在很长一段时间内在一组请求处理服务器上维护应用程序所需的数据。这通常使用数据库或键值存储和复制来完成。这里有很多东西要知道。
另一个挑战是将传入请求定向到最不繁忙的请求处理程序。这通常使用负载平衡软件(或硬件)如F5来辅助。
随着服务的增长,对处理程序和数据存储的监控变得越来越重要 - Splunk,nagios等变得至关重要。您还想知道您的云服务管理工具是如何工作的(RightScale和其他人提供的工具看起来非常不透明,除非您对它们及其监控/管理的环境非常有经验)。
在应用程序级别,您将面临一系列全新的挑战,围绕如何存储和交付静态数据(可能是像Akamai这样的CDN,提供存储在S3中的资产?),应用程序如何同步数据访问集群(如编写线程代码 - 非常简单),以及如何最好地管理应用程序请求的硬件资源(内存,CPU,网络等)
这些事物本身就是一个深入研究的领域。