本文最后更新于 3 分钟前,文中所描述的信息可能已发生改变。
推送模块
和普通Web应用不同的是,基于Servlet的线程池模型不能高效地支持成百上千的WebSocket长连接。 Java提供了NIO能充分利用Linux系统的epoll机制高效支持大量的长连接,但是直接使用NIO的接口非常繁琐,通常我们会选择基于NIO的Netty服务器。 直接使用Netty其实仍然比较繁琐,基于Netty开发我们可以选择:
- Spring WebFlux:封装了Netty并实现Reactive接口;
- Vert.x:封装了Netty并提供简单的API接口。