nfssuzukaze / Blog

0 stars 0 forks source link

浏览器架构的发展 #9

Open nfssuzukaze opened 3 years ago

nfssuzukaze commented 3 years ago

1. 单进程浏览器时代

典型的单进程浏览器就是 IE6 ,对于单进程浏览器来说,浏览器所有的功能模块都运行在同一个进程中,造成了许多的问题,比如

2. 多进程浏览器时代

早期的 Chrome 浏览器的进程架构中有 3 个进程类型,分别是渲染进程插件进程浏览器主进程

目前的 Chrome 浏览器的进程架构中存在 5 个进程类型

同一站点:指的是一个新的 Tab 是在一个旧的 Tab 中打开的,且根域名与协议都相同的网页

浏览器多进程架构的缺点

为解决这些问题,在 2016 年,Chrome 官方团队使用“面向服务的架构” (SOA) 的思想设计了新的 Chrome 架构。也就是说 Chrome 整体架构会朝向现代操作系统所采用的“面向服务的架构” 方向发展,原来的各种模块会被重构成独立的服务(Service),每个服务(Service)都可以在独立的进程中运行,访问服务(Service)必须使用定义好的接口,通过 IPC 来通信,从而构建一个更内聚、松耦合、易于维护和扩展的系统,更好实现 Chrome 简单、稳定、高速、安全的目标

Chrome 最终要把 UI、数据库、文件、设备、网络等模块重构为基础服务,类似操作系统底层服务。

同时 Chrome 还提供灵活的弹性架构,在强大性能设备上会以多进程的方式运行基础服务,但是如果在资源受限的设备上,Chrome 会将很多服务整合到一个进程中,从而节省内存占用