zoukankan      html  css  js  c++  java
  • Netty Learning Notes

    简介

    Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

    Netty是一个NIO客户端服务器框架,可以快速轻松地开发网络应用程序,例如协议服务器和客户端。它极大地简化和简化了TCP和UDP套接字服务器等网络编程。

    “快速简便”并不意味着最终的应用程序将遭受可维护性或性能问题的困扰。Netty经过精心设计,结合了许多协议(例如FTP,SMTP,HTTP以及各种基于二进制和文本的旧式协议)的实施经验。结果,Netty成功地找到了一种无需妥协即可轻松实现开发,性能,稳定性和灵活性的方法。

    特征

    设计

    • 适用于各种传输类型的统一API-阻塞和非阻塞套接字
    • 基于灵活且可扩展的事件模型,可将关注点明确分离
    • 高度可定制的线程模型-单线程,一个或多个线程池,例如SEDA
    • 真正的无连接数据报套接字支持(从3.1开始)

    使用方便

    • 记录良好的Javadoc,用户指南和示例
    • 没有其他依赖关系,JDK 5(Netty 3.x)或6(Netty 4.x)就足够了
      • 注意:某些组件(例如HTTP / 2)可能有更多要求。请参阅 需求页面 以获取更多信息。

    性能

    • 更高的吞吐量,更低的延迟
    • 减少资源消耗
    • 减少不必要的内存复制

    安全

    • 完整的SSL / TLS和StartTLS支持

    简单案例构建

    1.安装gradle

    1.官网下载

    2.解压压缩包

    3.配置环境变量

    2.新建gradle项目

    设置

    3.引入相关依赖

    1.查找依赖:https://mvnrepository.com/

    2.引入依赖

    // https://mvnrepository.com/artifact/io.netty/netty-all
    compile group: 'io.netty', name: 'netty-all', version: '4.1.32.Final'

    案例代码

    https://github.com/mikeygithub/netty/tree/master/src/main/java/com/mikey/demo

    聊天室案例

    https://github.com/mikeygithub/netty/tree/master/src/main/java/com/mikey/chat

    架构实现

    模块分析

    HTTP Tunnel

    对Socket的实现

    压缩与解压缩

    对RPC的支援

    WebSocket实现与原理分析

    WebSocket连接建立方式与生命周期分解

    WebSocket服务端与客户端开发

    RPC框架分析

    Google Protobuf使用方式分析

  • 相关阅读:
    寒假自学1.18
    寒假自学笔记1.17
    寒假自学1.16
    寒假自学1.15
    寒假自学1.14
    寒假自学1.13
    寒假自学1.12
    CSS position 属性
    node 获取客户端请求 服务器响应客户端 页面显示客户端想要的格式
    使用 npm 安 装node_modules 总是提示报错
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/11524236.html
Copyright © 2011-2022 走看看