埃克斯百科 使航班搜索速度加快,高达52% (页面可用时间)通过对Web和移动应用程序应用一系列优化。为了支持这些改进,该公司改进了其应用程序的可观察性。为了灵活性、可重用性和更好的优化,已向微前沿体系结构(MFA)迁移了Ex迪亚飞行网络应用程序。
飞行搜索代表了该公司大部分的用户流量。由于该公司无法直接控制3d方API的延迟,因此决定优化网络调用和 逐步网络应用 改善用户体验。
该团队提高了对前端和后端组件的可观察性,以支持和指导性能优化。工程师确定并开始跟踪多个指标,包括页面可用时间( 反应 组件),非供应开销(总体后端呼叫延迟,不包括3d方API调用), 第一味涂料(FCP) , 互动时间 , etc.
改变美国国际航空公司航空公司航班结构的基本步骤之一是 微型正面建筑(MFA) .这个团队将应用程序分解为独立的可共享的包,这样可以更好地拥有代码、灵活性、可重用性和包级优化。此外,该小组还执行了包装尺寸限制,规定了 Git提交钩 使用 吉特布行动 推广小型软件包,这是提高网络速度慢的用户体验的关键。
G30-ql 查询优化,包括横向和纵向切片和异步查询执行,实现了大的延迟增益。对于返回一个巨大有效载荷的搜索结果组合,开发人员没有执行一个单独的、昂贵的GLURQL查询,而是使用了一系列较小的查询来获得搜索提供的列表。此外,只在用户选择报价时才将获取报价详细信息提取到单独的查询中。
进一步的改进包括预先获取JavaSrispt和CSS静态资源,根据在主页上选择的搜索标准先发制人地执行飞行搜索,以及优化从构建在"搜索"之上的后端缓存层中检索搜索结果的方式。 阿帕奇卡珊德拉 .在应用了所有这些改进后,团队观察到页面可用时间减少了52%(90个百分点),而非供应开销减少了40%(90个百分点)。
与INFOQ联系 希娜古普塔 ,软件工程师,在埃迪娅集团,提出一些与飞行搜索优化倡议有关的问题。
INFOQ:您在飞行搜索应用程序的响应性方面取得了令人印象深刻的改进。该项目最具挑战性的方面是什么?
希娜·古普塔: 谢谢你的感谢!最初,飞行架构被集思广益,以找出改进性能的潜在范围。一旦对需要改进的领域进行了诊断,与跨地理空间组织团队合作,并在不同团队之间开展协作,有助于加快设计讨论。另一个面临的挑战是关于金丝雀自动化的问题,在这个问题上,我们将性能下降的警报自动化,并确保尽可能减少噪音警报。
INFOQ:GRAQL和微型正面建筑(MFA)正在行业内获得越来越多的认可。你会给考虑采用这些解决方案的团队什么建议?
希娜·古普塔:格拉夫克是一个非常强大的作为一个合同之间的前置和后端。当开发人员与GLURQL一起工作时,他们经常会传递多余的碎片,这使得阿波罗反应的有效载荷更大。消费平台实际上需要的那些GLULQL节点是很重要的。在通过图形设计模式时,考虑如何标准化模式以服务于重用的一般目的是至关重要的。微型正面建筑肯定有助于改进正面建筑。虽然微型正面体系结构有助于有效地为每个子模块编写代码,但是包所有者的数量也在增加,同时独立维护每个模块。然而,给予每个模块独立编写代码的自由,对于微前置架构来说是一种好处。