# 2.2:通信协议包定义
作者:小傅哥
博客:https://bugstack.cn (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!
# 一、前言
有些小伙伴,可能刚开始接触 Netty 通信,并不一定能理解为什么要做通信协议包的定义。那么你是否接触过 RPC 框架,比如说使用过 Dubbo 做一些分布式的接口,那么这个时候是需要将提供接口的一端,提供一个 jar 包,这个 jar 包就是接口信息的描述性文件。
好 !不管你是否接触过或者学习过。为了能让小伙伴们更清晰的了解定义通信协议包,同时也让没怎么接触过 Netty 的伙伴了解 Netty,接下来我们做一些 Netty 通信的案例,以此来讲解 Netty 的功能和协议包的定义。
# 二、Netty 介绍
Netty 是什么?
Netty 是由 JBOSS 提供的一个 java 开源框架,现为 Github 上的独立项目。Netty 提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
哪些框架里用到了 Netty?
各类 RPC 框架比如 Dubbo(这可能也是你面试常被问到的吧?痛不痛)、还有 MQ、注册中心,还有网页聊天,物联网,简直太多地方都需要用到 Netty。
为什么使用 Netty?
最容易让你理解的一点就是,Netty 大大的简化了 NIO 的开发。同时各个企业级物联网项目都会有 Netty 的身影,尤其是在 5G 的时代会有更多的数据传输需求。而 Netty 是一款非常 niubility 的 Socket 框架,是通信编程变得更加容易易用。