摘要: 文章介绍了在Pikkit公司自动化网站任务时,如何优化Chromium浏览器远程调试的效率。作者首先分析了传统方法中Chromium Remote Debugging Server启动慢、易断连的问题,并提出了使用反向连接模型和Redis消息队列的解决方案。由于Chromium不支持Redis,作者通过在Chromium代码库中集成Redis客户端并修改DevTools pipe handler实现了这一功能。文章详细描述了Chromium代码结构、DevTools pipe handler的工作流程以及如何实现Redis支持。最终,作者通过编译带有补丁的Chromium版本,实现了高并发、稳定的浏览器自动化服务。
讨论: 讨论了在浏览器同一台机器上运行一个中间服务器,该服务器通过管道连接到CDP(Chrome DevTools Protocol),并将消息转发到Redis服务器,以替代修改Chrome源代码的方法。作者提到维护Chrome补丁很痛苦,并称赞这是一个很酷的项目。同时,ranger_danger指出文章讨论的是开源的Chromium浏览器,而非专有版本的Google Chrome。
原文标题:Hacking Google Chrome Source Code: Make Puppeteer work over Redis PubSub
原文链接:https://www.deadf00d.com/post/chromium-pub-sub-redis.html
讨论链接:https://news.ycombinator.com/item?id=46255522