上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.1.6 多容器管理:突破单浏览内核的限制
解决异步搜索覆盖率问题的理想方案,是在页面加载落地页时,创建一个新的浏览内核来加载异步框架。但是这种方案实现成本较高。团队从2018年开始推进搜索NA化,将自有落地页的内容(如视频、地图等)在百度App中改用NA方式实现。然而,现有的单浏览器内核架构无法实现多种不同类型内容的统一接入和管理,这就导致技术实现成本过高且不能保证搜索和浏览体验的统一,需要新的技术架构来支持。
针对上述问题和技术目标,我们实现了多容器管理框架:将线上单浏览内核架构升级为可扩展的多容器共存的架构。多容器管理框架由框架层确定容器化的标准,统一管理容器的生命周期和事件,并根据业务、性能等目标进行合理调度,支持不同容器接入。我们还构建了容器内存/磁盘缓存管理机制,以及预创建、预加载、预渲染等优化策略,在效果体验及资源消耗方面实现了较好的平衡。多容器管理框架核心能力如图1-8所示。
将原网页浏览相关功能升级为网页容器,在多容器管理框架中,可创建多个网页容器。当一个网页容器被使用后,可再创建一个新网页容器来加载异步搜索框架以支持搜索。对比原单浏览内核管理框架,多容器管理框架在异步搜索方面的转换率有明显的提升。
图1-8 多容器管理框架核心能力
在这个阶段,多容器管理框架像一个简版的操作系统,支持不同类型的容器接入,并统一管理容器的生命周期、状态切换、事件分发、通信等,多容器管理机制作为基础能力支持搜索业务的全流程优化。详细的内容会在第6章介绍。