Netty学习路线规划

第一步   第一个Netty应用

  • 服务端 (serverChannel)

    • EchoServerHandler 简单的接收打印,将所接收的消息返回给发送者
    • 冲刷所有待审消息到远程节点
    • 关闭通道后,操作完成
  • 服务端 (server)

    • EchoServer 创建EventLoopGroup、ServerBootstrap
    • 指定 Channel
    • 设置 socket 地址使用所选的端口
    • 添加 EchoServerHandler 到 Channel 的 ChannelPipeline
    • 绑定的服务器;sync 等待服务器关闭
    • 关闭 channel 和 块,直到它被关闭
    • 关机的 EventLoopGroup,释放所有资源
  • 客户端 (client) -> Bootstrap的构建过程

第二步 熟悉组件

  • 学习步骤如下:
  1. Channel、ChannelHandler
  2. Encode、Decode、ByteBuf
  3. ChannelHandlerContext
  4. ReferenceCountUtil
  5. ChannelFuture、Promise
  6. ChannelPipeline、ChannelInitializer
  7. EventLoop、EventLoopGroup
  8. Attributekey
  9. CharsetUtil

    尽量,按照其在整个通信过程中所属顺位,讲解所有 Netty 主要组件。大致结构图如下:

1.Channel、ChannelHandler

熟悉ChannelInboundHandlerAdapter 抽象类里面每个方法的用处。

利用责任单一原则,把消息

2.Encode、Decode、ByteBuf

第三步 难点、要点

  1. EventLoop 数量、名称
  2. 粘包、半包
  3. 心跳 3次
  4. 重连
  5. session
  6. 不想转关键字
  7. 内存保护、溢出oom
  8. 连接数与释放
  9. 拒绝连接、黑名单、白名单
  10. Nginx
  11. fail over重试与幂等性

第四步 高阶原理

  1. ByteBuf
  2. Channel 和Unsafe
  3. ChannelPipeline 和ChannelHandler
  4. EventLoop 和EventLoopGroup
  5. Future 和Promise

原文地址:https://www.cnblogs.com/yuanhailiang/p/8858971.html

时间: 2024-11-01 21:19:04

Netty学习路线规划的相关文章

Python学习路线规划

Python学习路线 参考了很多大牛的博客,知乎的很多回答,认真思考之后暂时规划了以下路线 1.Python全栈之路 2.Python项目实战 3.高性能数据库 4.Linux运维 5.Shell高级编程 6.Linux架构 7.大数据开发 8.复习数学基础,计算机理论 9.算法 10.机器学习算法 11 深度学习 12.机器学习+深度学习项目实战 整体的学习框架就是这些,每一个阶段的详细路线和内容陆续都会更新在博客上,这些会在以后补全.后面很多阶段我也还没有接触过,一起学习,一起进步. 关于学

机器学习2——学习路线规划

一.学习路线 1)理论基础:微积分.线性代数.概论论与数理统计.典型算法: 2)编程语言.工具和环境: 3)基本工作流程 ===================================================== 二.理论基础 ===================================================== 三.环境准备 ===================================================== 四.工作流程 ======

PHP的学习路线规划

第一阶段:WEB的快速入门 前期入门学习我们需要学一些HTML+CSS+JS前端的一些技术,这个阶段不需要太深入的学习,学习到可以制作出一个像样点的静态页面就可以了.因为大家是学习PHP,对于新人来说如果是主搞后端这一阶段就不需要做太多的要求,如果以后碰到可以再完善. 第二阶段:基本语法的学习 这一阶段我们就可以学习以下PHP的基本语法了.这里要学习无非就是变量.循环.数组.函数.常用函数等.这一阶段需要多多练习,每学一个知识点就需要多加练习,很多新人在这一阶段会发现今天我会写的东西隔一段时间就

Linux内核实战(一)- 学习路线规划

1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的"命令行+文件"模式 在Linux中,做什么都有相应命令.一般就在bin或者sbin目录下,数量繁多.如果你事先不知道该用哪个命令,很难通过枚举的方式找到.因此,在这样没有统一入口的情况下,就需要你对最基本的命令有所掌握. 一旦找到某个命令行,替代输入框的是各种各样的启动参数. 这些参数怎么填, 一般可以通过 -h 查看help,就能找到相应的配置项 还可以通过man命令,查看文档 无论

第0天-嵌入式开发学习路线规划与指导

教程链接:http://edu.51cto.com/course/course_id-2320.html 笔记:

web前端学习路线规划

1.HTML进阶.CSS进阶.div+css布局.HTML+css整站开发. 2.JavaScript基础:Js基础教程.js内置对象常用方法.常见DOM树操作大全.ECMAscript.DOM.BOM.定时器和焦点图.3.js基本特效:常见特效.例如:tab.导航.整页滚动.轮播图.JS制作幻灯片.弹出层.手风琴菜单.瀑布流布局.滚动事件.滚差视图. 4.JS高级特征:正则表达式.排序算法.递归算法.闭包.函数节流.作用域链.基于距离运动框架.面向对象基础. 5.JQuery:悬着器.DOM操

iOS狂暴之路(开始篇)---学习路线总结

一.学习路线规划 现如今移动端的两大平台Android和iOS是风光无限,但是又有谁能够保证这两个平台能够昌盛一辈子呢?谁也不敢保证其中一个在未来几年之后就会成为第二个诺基亚,所以我们现在会Android的同学应该考虑学习iOS,会iOS同学也是否要考虑学习Android.那么从这篇文章开始我们就来开启我们的iOS学习之旅,但是这里的前提是你会一些基础的C语言语法和OC语法以及Android的开发经验,关于C语言,这是大学必学的一门课程,所以不了解的同学需要自行搞定了,而对于OC语法的介绍,在之

Android学习笔记之使用百度地图实现路线规划+公交信息检索

PS:装了个deepin,感觉真的很高大上. 学习内容: 1.公交信息检索 2.路线规划   关于百度地图的开发也就这么多了.重要的部分也就那么些.原本打算搞到poi搜索就算了,不过看到了这两个方面还是忍不住去涉猎一下.其实实现的模式和poi搜索没有什么太多的区别.只要将数据信息发送给百度地图的服务器,我们对服务器的返回数据进行处理就可以了. 1.公交信息检索   公交信息检索,顾名思义就是搜索大巴和地铁.实现的过程和poi搜索没什么两样,一般都是现实例化对象,然后设置检索的参数和检索数据的监听

AI工程师职业规划和学习路线完整版

AI工程师职业规划和学习路线完整版 如何成为一名机器学习算法工程师 成为一名合格的开发工程师不是一件简单的事情,需要掌握从开发到调试到优化等一系列能 力,这些能力中的每一项掌握起来都需要足够的努力和经验.而要成为一名合格的机器学习算法工程师(以下简称算法工程师)更是难上加难,因为在掌握工程师的通用技能以外,还需要掌握一张不算小的机器学习算法知识网络.下面我们就将成为一名合格的算法工程师所需的技能进行拆分,一起来看一下究竟需要掌握哪些技能才能算是一名合格的算法工程师. 基础开发能力 所谓算法工程师