扩缩内容驱动型 Web 应用后端

扩缩是指增加(或减少)可供后端使用的资源的容量,以提高其性能或可用性。虽然扩缩是后端架构、设计和实现的固有功能,但必须考虑几个重要方面。

此处的性能是指 Web 应用响应请求的速度;这包括延迟时间、速度、吞吐量和资源利用率。

纵向扩缩

纵向扩缩是指增加服务器上的资源。这可能意味着针对基于服务器的架构,将中央应用服务器替换为更强大的机器。对于无服务器、微服务或云端架构,这可能是指升级分配的资源,例如增加可用内存或选择层级更高的虚拟机。

横向扩缩

横向扩缩是指添加更多服务器和并行资源。必须优化底层架构和应用,以处理此类扩缩。例如,在基于服务器的架构中分发请求时,可能需要额外的负载均衡。对于云环境中的无服务器架构(例如 Cloud Functions),可以透明地处理此类扩缩,而无需任何额外配置。

区域扩缩和分布

区域扩缩是指跨多个地理区域分布服务。分发服务或使服务更靠近用户,可以减少延迟并提高应用的整体性能。

请考虑将区域分布和多样性作为架构的一部分,尤其是当您不使用透明地处理这种情况的云服务商时(例如在基于云的无服务器架构中)。考虑应用中的数据存储可能会受到区域分布的影响,尤其是在数据一致性方面。

在全球范围内处理和存储数据时,请注意适用于您系统的任何监管要求或法规,尤其是与数据处理和数据存储相关的法规要求或法规。