看啥推荐读物
专栏名称: Java编程学堂
每天分享程序员关注的 Python、Java、Web、AI、PHP、数据分析、前端、算法等多个领域的优质学习资源、开源项目及开发者工具。GitHub精选GitHub教程GitHub精品资源GitHub使用教程Git入门
今天看啥  ›  专栏  ›  Java编程学堂

石墨文档Websocket百万长连接技术实践

Java编程学堂  · 公众号  ·  · 2021-11-30 11:30
1 引言在石墨文档的部分业务中,例如文档分享、评论、幻灯片演示和文档表格跟随等场景,涉及到多客户端数据同步和服务端批量数据推送的需求,一般的 HTTP 协议无法满足服务端主动 Push 数据的场景,因此选择采用 WebSocket 方案进行业务开发。随着石墨文档业务发展,目前日连接峰值已达百万量级,日益增长的用户连接数和不符合目前量级的架构设计导致了内存和 CPU 使用量急剧增长,因此我们考虑对网关进行重构。2 网关 1.0网关 1.0 是使用 Node.js 基于 Socket.IO 进行修改开发的版本,很好的满足了当时用户量级下的业务场景需求。2.1 架构网关 1.0 版本架构设计图:网关 1.0 客户端连接流程:用户通过 NGINX 连接网关,该操作被业务服务感知;业务服务感知到用户连接后 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照