Chrome 最终要把 UI、数据库、文件、设备、网络等模块重构为基础服务,类似操作系统底层服务,下面是 Chrome“面向服务的架构”的进程模型图:
文章插图
Chrome“面向服务的架构”进程模型图
目前 Chrome 正处在老的架构向服务化架构过渡阶段,这将是一个漫长的迭代过程 。
Chrome 正在逐步构建 Chrome 基础服务(Chrome Foundation Service),如果你认为 Chrome 是“便携式操作系统”,那么 Chrome 基础服务便可以被视为该操作系统的“基础”系统服务层 。
同时 Chrome 还提供灵活的弹性架构,在强大性能设备上会以多进程的方式运行基础服务,但是如果在资源受限的设备上(如下图),Chrome 会将很多服务整合到一个进程中,从而节省内存占用 。
文章插图
在资源不足的设备上,将服务合并到浏览器进程中
总结好了,今天就到这里,下面我来简要梳理并总结今天的内容 。
本文我主要是从 Chrome 进程架构的视角,分析了浏览器的进化史 。
最初的浏览器都是单进程的,它们不稳定、不流畅且不安全,之后出现了 Chrome,创造性地引入了多进程架构,并解决了这些遗留问题 。随后 Chrome 试图应用到更多业务场景,如移动设备、VR、视频等,为了支持这些场景,Chrome 的架构体系变得越来越复杂,这种架构的复杂性倒逼 Chrome 开发团队必须进行架构的重构,最终 Chrome 团队选择了面向服务架构(SOA)形式,这也是 Chrome 团队现阶段的一个主要任务 。
鉴于目前架构的复杂性,要完整过渡到面向服务架构,估计还需要好几年时间才能完成 。不过 Chrome 开发是一个渐进的过程,新的特性会一点点加入进来,这也意味着我们随时能看到 Chrome 新的变化 。
总体说来,Chrome 是以一个非常快速的速度在进化,越来越多的业务和应用都逐渐转至浏览器来开发,身为开发人员,我们不能坐视不管,而应该紧跟其步伐,收获这波技术红利 。
思考时间最后,给你留个思考题:回顾浏览器的进化路线,你认为推动浏览器发展的主要动力是什么?
欢迎在留言区与我分享你的想法,也欢迎你在留言区记录你的思考过程 。感谢阅读,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友 。
推荐阅读
- 花椒基于 Go 语言的敏感词系统架构讲解
- 2020年你需要的七个最佳Google Chrome插件扩展
- 基于Linux系统的高可用中小型网站集群架构说明
- 带你去看美团架构
- 年薪80W的架构师总结:性能优化其实不难,记住这十条策略就够了
- Chrome 实用插件推荐
- 分布式架构的总结
- 20个MySQL高性能架构设计原则
- 刮痧是什么意思
- 华为|支持X86、Arm等六大架构!华为:欧拉累计装机量超130万套