利用Nginx的stream实现Netty的TCP负载均衡

随着设备连接数增多,单台服务器支撑的TCP长连接数有限,这个时候程序架构就需要改变,一般都会采取横向扩展,增加多台服务器程序。怎么将TCP长连接均衡的路由到不同的服务器,这个时候就需要实现负载均衡了。
阅读更多

Netty高级进阶之Netty中的粘包和拆包的解决方案

本文介绍了Netty中的粘包和拆包问题,分析了产生原因以及常见解决方案。粘包和拆包是由TCP底层的流协议导致的现象,解决方案包括固定长度拆包、换行符拆包、自定义分隔符拆包和基于数据包长度的拆包。Netty提供了相应的解码器来应对这些问题。
阅读更多

Netty高级进阶之基于Netty的Websocket开发网页聊天室

本文介绍了基于Netty的WebSocket开发网页聊天室。WebSocket是一种全双工通信协议,允许服务器主动推送数据给客户端。与HTTP相比,WebSocket实现了持久连接和实时双向通信。文章涵盖了Netty配置、WebSocket服务器开发以及相关代码实现,旨在帮助读者理解和应用WebSocket技术。
阅读更多

Netty高级进阶之基于Netty的HTTP服务器开发

本文介绍了如何基于Netty开发高性能HTTP服务器。Netty的HTTP协议栈可靠性强,性能优异,相比传统服务器如Tomcat、Jetty更轻量且灵活。实现的功能需求是在特定端口监听请求,回复消息并过滤特定资源。文章提供了Netty服务器的代码示例,展示了HTTP请求处理过程。
阅读更多

Netty高级进阶之基于Netty的群聊天室案例

本文介绍使用Netty开发群聊系统,包括服务器端和客户端的数据通讯、上线离线监测和消息转发功能。服务器端可实现多人群聊,监测用户状态,消息转发;客户端能发送和接收群聊消息。演示了Netty聊天室案例,包括服务端和客户端代码。
阅读更多

Netty源码剖析

本文介绍了如何通过导入Netty源码并使用Maven构建项目,创建基于EventLoop的线程组。NioEventLoopGroup是多个EventLoop的抽象,每个EventLoop维护一个Selector实例,实现了多线程利用和事件循环。文章主要解释了线程组的创建流程和NioEventLoop的内部实现,包括子线程的创建、选择策略、任务队列等。
阅读更多