• 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
  • 相关阅读:
    Mysql如何修改unique key
    centos 编译 安装 protobuf
    EasyNetQ简单使用
    微信发送模板消息
    Python删除开头空格
    代码积累-Common
    sql With(NoLock),With(ReadPast)
    webform 使用log4net配置
    log4net.dll添加报错
    js-小数计算问题
  • 原文地址:https://www.cnblogs.com/yuanhailiang/p/8858971.html
Copyright © 2020-2023  润新知