码迷,mamicode.com
首页 > Web开发 > 详细

Netty学习路线规划

时间:2018-04-16 22:48:37      阅读:476      评论:0      收藏:0      [点我收藏+]

标签:组件   pipe   socket   完成   text   添加   结构图   boot   拒绝   

第一步   第一个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

Netty学习路线规划

标签:组件   pipe   socket   完成   text   添加   结构图   boot   拒绝   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!