Netty之初识

简介: Netty之初识

前言

在现在的工作中第一次接触到了 Netty, 也是当前非常流行的 NIO框架, Netty在互联网领域, 游戏行业, 通信IM行业, 大数据分布式计算等领域都获得了广泛的应用

介绍

Netty介绍:

  • Netty是由JBOOS提供的一个开源框架
  • Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可用的网络IO程序
  • Netty主要针对在TCP协议下, 面向Clients端的高并发应用, 或者在Peer-to-Peer场景下的大量数据持续传输的应用
  • Netty本质上是一个NIO框架, 适用于服务器通讯相关的多种应用场景

Netty的优势

Netty对自带的 JDK NIO进行了封装, 解决了直接使用 NIO的一些问题:

  • NIO的类库和API太过繁杂
  • 使用原生 NIO需要熟悉多线程编程, 因为 NIO编程涉及到 Reactor模式, 必须对多线程和网络编程非常熟悉, 才能写出高质量的 NIO程序
  • 原生 NIO开发难, 工作量大
  • JDK NIO中存在 Epoll bug, 会导致 Selector空轮询, CPU直接 100%

易上手使用:

  • 没有其他的依赖
  • 文档丰富的 Javadoc, 文档和示例
  • 网上众多 Netty实现的 Demo和项目可以很好的借鉴学习

性能:

  • 高性能 吞吐量更高
  • 延迟更低
  • 减少资源消耗 最小化内存复制(零拷贝)

对各种协议的全面支持:

  • TCP、UDP、SCTP、UDT

Netty的常见使用场景

1)互联网行业:在分布式系统中,各个节点之间需要远程服务调用,高性能的 RPC 框架必不可少,Netty 作为异步高性能的通信框架,往往作为基础通信组件被这些 RPC 框架使用。

典型的应用有:Hadoop的RPC框架Avro、RocketMQ以及主流的分布式通信框架Dubbox等等。

后续等 Netty系列结束之后有机会的话也会出一个专门用来学习 RPC的系列文章

2)游戏行业:无论是手游服务端还是大型的网络游戏,Java 语言得到了越来越广泛的应用。在以前很多项目都是使用 mina来作为通信模型, 但是由于 mina基本停止更新, 社区活跃度下降, 所以现在的技术选型基本都是转向社区更为活跃的 Netty。

Netty 作为高性能的基础通信组件,它本身提供了 CP/UDP 和 HTTP 协议栈。非常方便定制和开发私有协议栈,账号登录服务器,地图服务器之间可以方便的通过 Netty 进行高性能的通信。

3)大数据领域:在大数据领域内, 大多数框架都对 Netty进行了深度应用

例如经典的 Hadoop的高性能通信和序列化组件 Avro的 RPC框架,默认采用 Netty进行跨界点通信,它的 Netty Service基于 Netty框架二次封装实现。



目录
相关文章
|
存储 虚拟化 Windows
ESXI8.0安装Windows11
HKEY_LOCAL_MACHINE\SYSTEM\Setup 创建一个名为“LabConfig”的项,在“LabConfig”下创建两个32位DWORD值: 键为“BypassTPMCheck”,值为“00000001” 键为“BypassSecureBootCheck”,值为“00000001” 在安装 Windows 11 进入到以下阶段即“现在安装”按 Shift+F10 进入到命令提示符,添加注册表键值绕过 TPM 检查;如果你是从微软官方下载的 ISO 镜像则在提示需要输入密钥阶段进入到命令提示符;之后就可以正常安装了。 REG ADD HKLM\SYSTEM\Setu
10626 0
ESXI8.0安装Windows11
|
网络协议 Linux 网络虚拟化
什么是 DHCP?为什么要使用它?
【8月更文挑战第4天】
10355 134
什么是 DHCP?为什么要使用它?
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的
|
消息中间件 JavaScript 小程序
废物利用,拿自己的旧电脑搭建个服务器吧!
废物利用,拿自己的旧电脑搭建个服务器吧!
|
开发框架 JavaScript Java
node.js富文本编辑器
node.js富文本编辑器
|
Web App开发 物联网
使用 Ruff 开发板+ Link Develop 快速开发 IoT 应用(环境预配置版)
使用 Ruff 开发板+ Link Develop 快速开发 IoT 应用,从云到端,享受阿里云IoT平台的极速开发体验。
3248 0
|
13天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
11466 124
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
2天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
3512 8
|
1天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
1339 2
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)