第 1 步:管理利益相关者对 WEB 应用程序扩展的期望
如果您的 Web 应用程序已经根据您的业务计划进行扩展,那么它已经在支持您的业务增长需求。不要在不需要时尝试提高可伸缩性。您应该执行以下操作:
收集数据以验证您的 Web 应用程序在可扩展性方面确实支持您的业务战略。
向您的业务利益相关者解释扩大和扩大项目的成本可能很高。
清楚地与利益相关者沟通,此类项目可能会增加系统的复杂性,并且将来添加功能可能会变得更加困难。
设置您的业务利益相关者的期望,这样您就不会因为其他人都在谈论可扩展的 Web 应用程序而不必要地参与此类项目。
第 2 步:使用指标定义您的 WEB 应用程序可扩展性挑战
让我们继续前进,我们将假设您的 Web 应用程序确实遇到了可扩展性挑战。您需要定义特定的可扩展性问题,因此,您需要使用正确的指标。概括地说,有四个可扩展性指标需要分析,如下所示:
内存利用率;
CPU 使用率,高使用率通常表明应用程序性能不佳;
网络 I/O;
磁盘 I/O。
第 3 步:使用正确的工具来监控 WEB 应用程序的可扩展性
现在您已经决定了要关注的指标,您需要定期监控您的应用程序在这些指标方面的性能。如果您正在管理自己的基础架构,那么您需要投资一个好的“应用程序性能监控”(APM)解决方案。
第 4 步:使用正确的基础架构选项实现可扩展性
我建议您为您的 Web 应用程序选用阿里提供商,因为这对企业家来说很有意义。阿里是一种云计算模型,其中托管云服务提供商负责许多方面,例如:
基础设施;
联网;
服务器;
贮存;
中间件;
操作系统(OS);
运行环境;
数据库;
轻松与三方服务提供商集成的能力。
第 5 步:为可扩展性选择正确的架构模式
大型 Web 应用程序架构是构建可扩展 Web 应用程序时的关键考虑因素。架构问题会显着影响可扩展性。有很多架构模式,我在前面的“大型企业 Java 项目架构”中已经解释过它们。
第 6 步:使用正确的数据库实现扩展
对于扩展,在解决了基础架构和架构方面之后,数据库是一个明显的重点领域。请注意,在数据库方面没有“一刀切”的建议。您需要执行以下操作:
仔细分析您的 Web 应用程序需求。考虑您将存储哪些类型的数据。它只是关系数据吗?您是否还需要存储“断开连接”的数据,即没有事务关系的数据?您是否存储两种数据?
您将需要一个关系数据库管理系统 (RDBMS) 来存储您的关系数据。MySQL是具有高可扩展性的良好选项。
您将需要MySQL数据库来存储“断开连接”的数据。MongoDB 是一个高度可扩展的MySQL数据库。您可以在“满足您的业务需求的最佳MySQL数据库选项”。