当前位置: 首页 > 科技观察

快速扩展应用程序的6个教训

时间:2023-03-18 18:49:48 科技观察

虽然COVID-19大流行仍在对社区生活和经济造成影响,但另一方面,在电子商务、物流、在线学习、食品配送、在线业务协作和此外,用户对许多公司产品和服务的需求猛增。对于这些公司中的许多公司来说,就地避难所和限制令已经改变了用户需求以及交易和支付方式,导致一些公司的业务激增。这些激增导致应用程序使用量迅速飙升,可能导致业务延迟和中断,让用户感到沮丧。如果您的业务和应用程序负载急剧增加,您会怎么做?您如何才能快速提高应用程序的性能和可扩展性以确保良好的客户体验?这是快速扩展您的应用程序的正确方法6课程课程。了解所有挑战仅解决部分问题可能无法达到预期效果,请务必考虑以下所有因素。技术问题:负载下的应用程序性能(以及最终的用户体验)由延迟和并发性之间的相互作用决定。延迟是特定操作所需的时间,例如网站响应用户请求所需的时间。并发是指系统可以同时处理的请求数。当并发性不可扩展时,需求的显着增加可能会导致延迟增加,因为系统无法在立即收到所有请求时对其做出响应。这可能会导致糟糕的客户体验,因为响应时间会从几分之一秒增加到几秒,甚至更长,以至于无法满足所有请求。因此,虽然确保单个请求的低延迟可能很重要,但它本身可能无法解决并发激增带来的挑战。因此,必须找到一种方法来扩展并发用户的数量,同时保持所需的响应时间。此外,应用程序必须能够跨多个云提供商和本地服务器的组合无缝扩展。时机:一项需要数年时间才能实施的策略,例如从头开始重新设计应用程序,对解决眼前的需求无济于事。采用的解决方案应该能够在数周或数月内开始扩展。成本:很少有公司能在没有预算限制的情况下应对这一挑战,因此最大限度地减少前期投资和增加的运营成本的战略至关重要。为短期和长期规划即使您解决了在减少延迟的同时增加并发性的挑战,也不要急于进行可能代价高昂的短期修复。如果未计划对应用程序进行全面重新设计,则可以采用一种策略,使现有基础架构能够根据需求大规模扩展。选择正确的技术开源内存计算解决方案已被证明是快速扩展系统并发性同时保持或减少延迟的最具成本效益的方法。例如,ApacheIgnite是一种部署在商用服务器集群上的分布式内存计算解决方案。它汇集集群的可用CPU和RAM,并将数据和计算分发到各个节点。Ignite部署在本地、公共云、私有云或混合环境中,可以插入现有应用程序和数据层之间的内存数据网格,而无需对任何一个进行重大修改。IGNITE还支持ANSI-99SQL和ACID事务。有了ApacheIgnite内存数据网格,来自数据库的相关数据被“缓存”在计算集群的RAM中,并可用于处理,而不会因对基于磁盘的数据存储的正常读写而造成延迟。IgniteIMDG使用MapReduce方法并在集群节点上运行应用程序代码以跨集群执行大规模并行处理,同时最大限度地减少网络上的数据移动。这种内存中数据缓存、将计算发送到集群节点和MPP的组合显着提高了并发性并减少了延迟,与使用基于磁盘的数据库构建的应用程序相比,应用程序性能提高了1,000倍。Ignite的分布式架构允许通过添加新节点来简单地增加集群的计算能力和RAM。IGNITE自动检测额外的节点并在集群中的所有节点之间重新分配数据,确保最佳使用组合的CPU和RAM。轻松将节点添加到集群的能力还可以实现大规模的可扩展性,以支持快速的业务增长。最后,IMDG通过将应用层对IMDG中的数据所做的更改写回源数据存储来保证数据的一致性。ApacheIgnite还可以通过支持两个日益重要的策略来面向未来的基础设施。数字集成中心(DIH):DIH架构可以支持需要360度数据视图的实时业务流程。它提供了一个通用的数据访问层,用于聚合和处理来自数据流以及本地和基于云的源的数据,包括本地和云数据库、数据湖、数据仓库和SaaS应用程序。然后,多个面向客户的业务应用程序可以访问聚合数据并以内存速度处理它,而无需通过网络移动数据。DIH通过使用应用程序将对数据所做的更改自动同步到后端数据存储,同时减少或消除对这些数据源进行API调用的需要。混合事务/分析处理(HTAP):HTAP是对同一内存数据集进行事务和分析的高速处理。这消除了使用耗时的提取、转换和加载(ETL)过程定期将数据从联机事务处理(OLTP)系统复制到单独的联机分析处理(OLAP)系统的需要。HTAP由内存计算平台提供支持,该平台在不影响整体系统性能的情况下对运营数据运行预定义的分析查询。考虑开源堆栈要继续创建具有成本效益、可快速扩展的基础架构,请考虑这些其他经过验证的开源解决方案:交付给ApacheIgnite内存数据网格。Kubernetes用于自动化部署和管理已集成到Docker或其他容器解决方案中的应用程序。将应用程序放入容器并实现管理自动化是在分布式、混合、多云世界中成功构建实时、端到端业务流程的关键。ApacheSpark用于处理和分析大量分布式数据。Spark利用Ignite内存计算平台,使用通过Kafka或Flink流管道获取的大量数据更有效地训练机器学习模型。正确构建、部署和维护由于希望在更快的时间范围内部署这些解决方案,而延迟的后果可能非常严重,因此必须对项目可用的内部资源进行现实的评估。如果缺乏专业知识或可用性,请不要犹豫,咨询第三方专家。可以根据合同轻松获得对所有这些开源解决方案的支持,从而无需花时间扩大内部团队就可以获得所需的专业知识。了解更多许多在线资源可以帮助您快速掌握这些技术并确定哪些策略可能适合您的组织。无论您的目标是在业务活动激增的情况下确保尽可能最佳的客户体验,还是为大流行后的经济复苏做准备,由内存计算提供支持的开源基础架构堆栈都是将前所未有的速度与高度可靠性相结合的答案。一种结合实时业务流程的可扩展性的经济高效的方式。