首页 网站设计和开发博客 如何提高你的航运应用程序的结帐性能 如何提高你的航运应用程序的结帐性能 通过Krzysztof biaek和Christin Karwatzki Shopify应用开发 2022年10月27日 4分钟阅读 请留下评论 电子邮件 Pinterest 脸谱网 推特 LinkedIn 结帐性能是帮助商家获得更多销售额的主要因素,这就是为什么我们努力确保结帐时的运费以最佳速度和无明显的延迟. 如果你开发的是运输应用,这也意味着你的应用需要同样快。为了帮助应用程序开发人员创建最佳的结账体验,并快速(< 500毫秒)可靠地返回送货选项,我们整合了六个最佳实践,以提高送货应用程序的结账性能。 为Shopify商家开发应用程序 无论您是想为Shopify应用商店构建应用程序,提供自定义应用程序开发服务,还是正在寻找扩大用户基础的方法,Shopify合作伙伴计划都将为您的成功奠定基础。免费加入并获得教育资源、开发人员预览环境和经常性收入分享机会。 报名 1.内部存储运营商零售价格 许多航运应用程序作为多个航运公司的聚合器,以便为商家提供价格购物功能。为了避免你的运输应用的响应能力差,应该尽可能减少对运营商支持的性能的依赖。我们建议将运营商零售价格存储在内部,以避免任何外部电话。 2.缓存载波速率 对于高度动态或特定于商家的运营商费率,可能有机会构建缓存层。虽然不是每个呼叫给定的运营商都会得到相同的响应,但可能会有一个模式,费率是相同的。在此基础上,可以定义缓存键。在Shopify,我们建立了一个自我修复的缓存系统,以显著减少外部呼叫的数量,以及我们对运输运营商后端系统的依赖。 我们建议遵循以下步骤: 分析系统中外部调用的响应数据,并识别不同用例之间的模式 在内存数据库中存储对类似请求的响应(例如复述,),以确保在有新请求时,能快速检索 当请求到达缓存时,考虑在后台发出一个外部请求来验证准确性,并在需要时用新信息更新缓存 分析相同请求的缓存命中和遗漏率以及响应更改的频率 实际操作中,这些步骤如下所示: 输入 输出 假设对于给定的原点和终点对postal_codes给定总重量,每个请求返回相同的运费 基于这个假设,可以创建以下缓存模式和键: #{carrier_name}_#{origin_postal_code}_#{destination_postal_code}_#{total_items_weight} => shopify_post_C3C3C3_K2K2K2_1 3.并行调用外部系统 如果无法通过本地存储公共零售价格或缓存来避免对外部系统(如运营商)的调用,则可以通过并行调用运营商来减少运输应用程序的响应时间。并行化与慢速运营商的超时相结合,可以非常有效地加快您对Shopify的响应,同时确保结账不会因为返回的费率子集而被阻止。 4.为外部系统设置超时 如果你的运输应用程序从多个外部系统获取价格,并且你正在并行这些调用,你的应用程序对Shopify的响应时间至少会和最慢的响应时间一样长。为了避免Shopify方面的超时和阻止付款,我们建议设置一个内部超时,在外部系统未能响应时取消您的请求。按照这种方法,您将能够返回Shopify的一个子集的价格和取消阻塞结帐。 5.优化服务的托管 配送应用程序的响应时间很重要,因为它会影响顾客结账时的体验,因此也会影响商家的成功。响应时间的一部分可以归因于应用服务器和Shopify服务器之间的延迟,当两者位于不同的大陆时,这一延迟尤其大。 要了解服务器托管对响应时间的影响,请遵循以下步骤:1.创建新文件curl-format.txt与内容: 2.使用Curl -w "@curl-format.txt" -o /dev/null -s "http://url/"其中URL是安装应用程序的Shopify商店之一的地址。对位于不同地区的商店重复此步骤。 示例输出: 有关详情,请参阅旋度的文档. 延迟的影响在不同地区有很大差异。Shopify服务器托管在谷歌云上,根据区域应用不同级别的延迟,请参见谷歌云区域间时延矩阵. 推荐的步骤 如果连接时间明显高于谷歌云区域间延迟,请考虑采取以下措施: 将托管提供商更改为谷歌Cloud,以利用优化的基础设施 将您的应用程序移动到使用您的应用程序的大多数Shopify商店附近的区域 6.执行备份速率 为了降低通常被阻止结账的风险,特别是在外部合作伙伴超时的情况下,我们建议为您的运输应用程序实现备份系统(参见Shopify备份率).这些价格应该以这样一种方式存储,当外部合作伙伴的请求无法确保成功响应Shopify时,您可以快速获取它们。 备份利率不需要完全匹配从外部来源获取的利率,但应该足够接近,不会显著影响商家的盈利能力和转化率。通过分析应用程序从外部来源获得的响应数据,你应该能够为你的商家创建相关的费率。 推荐的步骤 定义备份速率的高级逻辑。我们建议保持简单:根据地区(国家、城市)、重量或尺寸,一个昂贵而快速的运费和一个便宜而缓慢的运费就足够了。 分析来自外部来源的响应数据,以创建相关的备份率,帮助您避免被阻止的结账,而不会对商家的业务产生负面影响。 将备份速率存储在一个易于访问的数据存储中,以便在外部服务在预期时间范围内(< 500ms)没有响应时快速返回备份速率。 对于具有Shopify备份率的商家,实现特定于您的应用程序的备份率可能会带来更好的商家和客户体验。 下面是加拿大国内订单的备用费率示例。费率仅根据订单重量而有所不同,但与具体的产地或目的地邮政编码无关。 依赖于多个请求Shopify 我们意识到,在许多情况下,应用程序可能需要来自Shopify的信息,这些信息不包括在运营商服务API有效载荷中,以计算准确的运费(例如客户或产品标签)。 我们将感谢您的反馈,目前的有效载荷中缺少哪些信息,需要您的应用程序多次调用Shopify来计算准确的运费。你可以使用这个谷歌表格. 通过优化你的运输应用程序在结帐时的表现,你正在帮助商家提高转化率,创造更多的销售,为你创造更快乐和更忠诚的用户。