写点什么

跨容器高性能的离线化方案在美团的实践和探索

  • 2019-09-21
  • 本文字数:839 字

    阅读完需:约 3 分钟

跨容器高性能的离线化方案在美团的实践和探索

GMTC北京2018大会上,于秋讲师做了《跨容器高性能的离线化方案在美团的实践和探索》主题演讲,主要内容如下。


演讲简介


为了提升部门业务的页面性能,我们需要在多个不同的移动 App 容器里面实现自己的离线化方案,同时由于 App 不是自家的,所以不能借用目前流行的离线包之类的想法,只能从纯 Web 来思考。最终我们自己基于 Service Worker 的 PWA 方案在离线化上起到了核心作用,针对目前能够支持 Service Worker 的设备较为有限的环境背景,我们在踩过 PWA 无数坑之后,实现了结合 Service-Worker + JS loader 的兼容性 Web 资源离线化方案。在实现资源的离线化缓存之后,我们还尝试了降低资源的更新开销,提升了资源加载速度,节省用户流量。


提纲:


1、项目背景


(1) 多容器 美团 X5 UC SW 兼容性


(2) 用户场景,缓存周期取决于使用周期,缓存利用率


2、离线化思考


(1) 一般离线化方案


(2) App 端的离线化方案


3、PWA 破局思路


(1) PWA 核心能力 SW


4、缓存策略方案


(1) 使用不同的缓存策略


(2) 合理的缓存周期与缓存回收控制


5、资源更新优化方案


(1) 更小的成本实现资源更新,流量节省


6、前端延伸 – 基于 Golang 的 Diff 服务


7、容错方案


8、成果总结


听众收益:


提供基于 PWA 的离线化新思路,并在字符级更新,场景策略结合方面加入了新的想法,同时在技术细节上能有以下收获:


(1) 熟悉 Service Worker 的生命周期


(2) 熟悉 Progressive Web App 的离线存储,以及缓存回收机制的最佳实践


(3) 熟悉如何进行 Service Worker 调试


(4) Service Worker 实现 Web 静态资源离线化


(5) Lighthouse 页面加载性能的审计工具的使用


(6) 熟悉资源字符级更新实现原理


讲师介绍


于秋


美团点评智能支付部前端负责人


美团点评前端技术专家,曾先后负责部门基础技术服务和整个智能支付部门前端团队,对前端工程化以及架构有自己独特的认识。乐于尝试各种新技术,结合业务场景,探索落地方案。业余时间喜欢在知乎上写写文章,潜水看看海底世界。












完整演讲 PPT 下载链接


https://gmtc.infoq.cn/2018/beijing/schedule


2019-09-21 14:501302

评论

发布
暂无评论
发现更多内容

面试官:你来谈一下Synchronized-轻量级锁

Java synchronized 轻量级锁

5 步带你入门 GaussDB (DWS) 的 GDS 导入导出

华为云开发者联盟

数据库 华为云 企业号 2 月 PK 榜 华为云开发者联盟

开源指南针发布在即:估量有尺,开源有道

kk-OSC

开源

飞桨助力南京邮电大学智能芯片测试团队斩获“互联网+”大赛全国银奖

飞桨PaddlePaddle

paddle 芯片 大学生 飞桨 国赛

软件测试/测试开发 | Selenium多浏览器处理

测试人

软件测试 自动化测试 测试开发 selenium web测试

记一次SpringBoot启动优化实践

Java spring Spring Boot

软件测试/测试开发 | web自动化测试-执行 JavaScript 脚本

测试人

软件测试 自动化测试 测试开发 Web自动化测试 selenium

Linux安装ElasticSearch

Geek_7ubdnf

Java elasticsearch

安全等保二级和三级哪个高?哪个费用更高?

行云管家

网络安全 信息安全 等保 等级保护 等级

实现一个简单的Database10(译文)

GreatSQL

sqlite myslq greatsql greatsql社区

2023年新广州市等保测评机构名单看这里!

行云管家

等级保护 等保测评 广州

关于老板让我用Openresty实现的各种奇怪需求以及实现

Java openresty

ArkUI新能力,助力应用开发更便捷

HarmonyOS开发者

HarmonyOS

从实战出发,聊聊缓存数据库一致性

Java 数据库 缓存 一致性

明晚 8 点直播!OpenCloudOS 中的海光国密算法分析

OpenCloudOS

Linux

Redis高级数据结构Stream和HyperLogLog

Java redis stream HyperLogLog

把盏言欢,款款而谈,当WorkPlus接入了ChatGPT机器人

BeeWorks

怎样快速地迁移 MySQL 中的数据?

Java MySQL 数据库

面试官:分库分表,真的有必要吗?

Java 分库分表

Spring Security怎么从数据库加载我们的用户?

Java spring spring security

微服务 SpringBoot 整合 Redis GEO 实现附近商户功能

Java redis 微服务 Spring Boot

分布式事务解决方案

Java 分布式事务 事务

飞桨框架v2.4 API新升级!全面支持稀疏计算、图学习、语音处理等任务

飞桨PaddlePaddle

paddle API 飞桨

模块六作业

程序员小张

「架构实战营」

OneCode开源低代码引擎白皮书

codebee

低代码 开发工具 低代码平台 java UI

天翼云发布《中国医疗云建设与应用白皮书》 推动医疗数字化提质增速

极客天地

联邦GNN综述与经典算法介绍

京东科技开发者

算法 数据 GNN 联邦算法 图场景

面试官:如果 MySQL 数据库中的数据丢失,有哪些补救的办法呢?

Java MySQL 数据库

Mac 使用brew install zsh 遇到 Error: Command failed with exit 128: git

24号工程师

brew zsh

进击中的 Zebec 生态,Web2 与 Web3 世界的连接器

西柚子

跨容器高性能的离线化方案在美团的实践和探索_GMTC_于秋_InfoQ精选文章