Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。是一款基于NIO(Nonblocking I/O,非阻塞IO)开发的网络通信框架。可以快速轻松地开发诸如协议服务器和客户端之类的网络应用程序。它大大简化了网络编程流程,如TCP和UDP套接字服务器。 性能 更好的吞吐量, 更低的延迟 资源消耗减少 最小化不必要的内存副本 netty可以运用在那些领域?

1.互联网行业

典型的应用有:阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信。它的架构图如下: 其中,服务提供者和服务消费者之间,服务提供者、服务消费者和性能统计节点之间使用 Netty 进行异步/同步通信。 除了 Dubbo 之外,淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,也采用 Netty 进行高性能、异步通信。

2.游戏行业

无论是手游服务端、还是大型的网络游戏,Java 语言得到了越来越广泛的应用。Netty 作为高性能的基础通信组件,它本身提供了 TCP/UDP 和 HTTP 协议栈,非常方便定制和开发私有协议栈。账号登陆服务器、地图服务器之间可以方便的通过 Netty 进行高性能的通信。

3.大数据领域

经典的 Hadoop 的高性能通信和序列化组件 Avro 的 RPC 框架,默认采用 Netty 进行跨节点通信,它的 Netty Service 基于 Netty 框架二次封装实现。 大数据计算往往采用多个计算节点和一个/N个汇总节点进行分布式部署,各节点之间存在海量的数据交换。由于 Netty 的综合性能是目前各个成熟 NIO 框架中最高的,因此,往往会被选中用作大数据各节点间的通信。

4.通信行业

Netty 的异步高性能、高可靠性和高成熟度的优点,使它在通信行业得到了大量的应用。

课程目录 :

1 bio学习回顾 原理分析主要有哪些缺陷和阻塞点

2 Java nio学习 回顾主要有哪些缺陷和阻塞点

3 netty 之Reactor编程模型

4 netty3服务端和客户端编写了 解它的基本编程模型和事件分析。

5 netty5服务端和客户端编写 了 解它的基本编程模型和事件分析。

6 netty字符串发送和遇到TCP粘包问题分析和解决方法。

7 通过固定长度和分隔符解决TCP粘包问题,Netty工具类的介绍

8 netty自定义消息协议和FrameDecoder讲解,自定义消息协议原理分析。

9 自定义消息和messagePack流包分析和应用讲解。

10 关于零拷贝一些知识从DNA到CPU到程序应用层分析,Bytebuf和文件零拷贝方法。

11 byteBuf和内存管理的一些理论知识点。

12 protocol序列化与反序列化介绍及JDK序列化比较。protocol应用等。

13 socketChannel心跳检查和channel组管理介绍。

14 手写一个基于Netty + Swing MI聊天之 channel Session管理。

15 手写一个基于Netty + Swing MI聊天及Netty实现。

16 在netty中实现http服务器和webSocket实现。

17 项目实战 基于Netty实现一个Rpc 及dubbo原理分析 1

18 项目实战 基于Netty实现一个Rpc 及原理分析-集成Springboot 客户端和服务器

19 项目实战 基于Netty实现一个Rpc 及原理分析 -动态代理等原理实现

20 项目实战 基于Netty实现一个Rpc .

扩展阅读:https://www.roncoo.com/view/1245965196600606722

netty支持哪些协议_从零学习netty网络IO通讯开发框架相关推荐

  1. netty socket超时设置_彻底搞懂 netty 线程模型

    编者注:Netty是Java领域有名的开源网络库,特点是高性能和高扩展性,因此很多流行的框架都是基于它来构建的,比如我们熟知的Dubbo.Rocketmq.Hadoop等.本文就netty线程模型展开 ...

  2. netty实现mysql协议_基于Netty模拟解析Binlog

    前言 最近一段时间一直再看mysql binlog相关的内容,也整理了几篇相关的文章,对mysql的事件以及通讯协议在理论上有了一个大概的了解,但是缺少实战:本文的目的就是从实战出发,了解binlog ...

  3. 支持向量回归_量化投资学习笔记22——回归分析:支持向量机

    支持向量机(Support Vector Machine, SVM)是一种基于统计学习的模式识别的分类方法,主要用于模式识别.所谓支持向量指的是在分割区域边缘的训练样本点,机是指算法.就是要找到具有最 ...

  4. 3gpp协议_【5G学习笔记】3GPP 5G协议分类清单大全

    " 本文对3GPP 5G协议进行了归类整理,以方便查阅.学习. 本文来源:网优雇佣军,如有侵权请联系删除" 3GPP中5G协议的归类整理,包括六部分,分别是:5G背景研究.5G接入 ...

  5. pythonsocket自定义协议_小渣渣学习笔记 python day28【tcp聊天 udp聊天 粘包 自定义协议 struct模块】...

    tcp 实现聊天功能 server端 import socket sk = socket.socket() sk.bind(('127.0.0.1',22000)) sk.listen() while ...

  6. matlab调用python函数未定义函数类_从零学习Python—调用函数def用法(下)

    我们先来看看def和字典的用法吧: def ranks(name, number): ranks = {'name': name, 'rank': number}print(ranks)name = ...

  7. 安卓加java完成登录_从零学习安卓自动化(java+appium方向):完成登录操作+一个主流程(四)...

    首先要分析软件步骤 从大的方面来说 第一步要登录成功,第二步主流程选择购买一个课程(我太穷了,所以支付的时候选择取消订单代表购买成功了) 一登录 1.1启动软件 采坑点:有的时候你安装一个新版appi ...

  8. 如何看懂串口通讯协议_一文看懂PLC的通讯方式——AB系统(一)

    写在前面 一直以来,PLC跟其他设备的通讯方式都是自动化工程师入门学习的难点和要点.说它难,因为这里面牵扯到了数据通讯的一些知识,大多数从事PLC工作的人员都是从电气.电子.自动化.机电等相关专业出身 ...

  9. chromecast 协议_如何删除Chromecast的网络范围内的Android通知

    chromecast 协议 In an effort to unify all devices on the same network, Google added a feature to the G ...

最新文章

  1. CodeForces 114B 【STL应用】
  2. Vivado安装器件不全
  3. 智能车竞赛技术报告 | 专科基础组 - 哈尔滨铁道职业技术学院 - 智能车勇创协会
  4. DuiLib——xml节点元素属性介绍
  5. 数学知识复习:二阶导复合函数的链式法则
  6. terminated 线程_Java【多线程系列】JUC线程池—2. 原理(二)、Callable和Future
  7. Linux 命令行输入
  8. [引]VS2005 之 Visual Basic 程序的结构
  9. 使用GridFsTemplate来实现文件归类
  10. shiro认证授权过程
  11. Struts2 注解
  12. 大幅提高Android开发效率之TemplateBuilder
  13. SSH和SSM两个框架的浅显的区别
  14. CV+Deep Learning——网络架构Pytorch复现系列——classification(一:LeNet5,VGG,AlexNet,ResNet)
  15. cordic ip核 vivado_Xilinx Vivado CORDIC IP核求解atan 反正切
  16. 二分搜索的时间复杂度分析
  17. resultType=int 和 resultType=java.lang.Integer
  18. 利用python写一个简单的双色球彩票系统
  19. jquery-js 美化页面
  20. IoC容器篇(三)——依赖(二)

热门文章

  1. aws rds监控慢sql_AWS RDS SQL Server –启动新的数据库实例
  2. tsql创建表_在序列中创建缺口– TSQL存储过程顾问
  3. OpenBUGS抽样数据基本操作
  4. MYSQL学习04--数据导入导出及实战练习
  5. 做基础产品的体会【转载】
  6. asp.net AJAX 使用webServices调用时,出现“WebService”未定义
  7. hadoop 集群间数据迁移
  8. TimeQuest就一定要搞定——时序分析基本公式
  9. springcloud问题
  10. django的配置文件字符串是怎么导入的?