推送模块

本文最后更新于 3 分钟前,文中所描述的信息可能已发生改变。

推送模块

和普通Web应用不同的是,基于Servlet的线程池模型不能高效地支持成百上千的WebSocket长连接。 Java提供了NIO能充分利用Linux系统的epoll机制高效支持大量的长连接,但是直接使用NIO的接口非常繁琐,通常我们会选择基于NIO的Netty服务器。 直接使用Netty其实仍然比较繁琐,基于Netty开发我们可以选择:

  • Spring WebFlux:封装了Netty并实现Reactive接口;
  • Vert.x:封装了Netty并提供简单的API接口。

消息订阅与推送流程

消息推送流程

Quotation Module
LeetCode Biweekly Contest 152