Netty初见
Posted 逅弈逐码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Netty初见相关的知识,希望对你有一定的参考价值。
Netty初见
gris 转载请注明原创出处,谢谢!
初见netty还是在2016年,当时我做的一个项目需要实现一个即时聊天的功能,当时和一位同事聊及此事,他向我推荐可以选择一些开源的网络框架,比如mina、netty。而他此前研究过mina,但通过在网上搜寻资料发现netty似乎比mina更好一些,从框架整体的设计,api的易用性,文档的丰富程度,社区的活跃度等等方面netty更胜一筹。netty和mina的作者是同一人,Trustin Lee,一位韩国欧巴。在网上找了一些例子,我就很轻松的通过netty+websocket实现了一个简单但稳定的即使聊天的功能。
此后,我又帮一个同学做了一个鱼塘环境监测系统的后台,通过netty实现。系统的架构非常简单,服务端通过netty监听一个端口,对外提供tcp协议的服务,鱼塘各位不同的位置放了很多不同的传感器,监测鱼塘温度、湿度、PH值等等各种可能影响鱼类生长的因素。传感器和服务端之间通过tcp通讯,我定义了一个自定义的数据格式。传感器开启后会和服务端进行连接,连接成功后服务端会将当前传感器纪录到一个map中,并和传感器建立一个心跳。传感器每隔一分钟会传输一次最新的数据,当传感器超时30秒未传输数据时,服务端户主动发起一个获取数据的请求。除此以外,系统提供了一个页面,将监测到的数据和各传感器的状态通过echarts进行可视化的展示。
Bean的管理
对象自动注入
自定义路由
参数转换
Session管理
Cookie管理
结果渲染
单节点模式
主从多节点模式
除此之外,netty还可以做很多其他的服务,没有做不到,只有想不到,能做到什么程度完全取决于你的脑洞有多大。
本文将作为我学习分享netty的系列文章的一个引子,后面我将尝试更深入的了解和分析netty的构成、实现原理以及它高性能的秘密。
分享将围绕Netty的几大组件来进行:
1.ByteBuf
2.Channel
3.EventLoop
4.ChannelHandler
5.ChannelHandlerContext
6.Codec
以上是关于Netty初见的主要内容,如果未能解决你的问题,请参考以下文章