zoukankan      html  css  js  c++  java
  • Netty简介

    1.BIO、NIO和AIO的区别?

    BIO 一个线程只做一件事,效率慢.

    NIO 一个线程做多个事,效率块.(原理见 java_NIO)

    AIO

    Netty概念

    NIO框架,它提供了对TCP、UDP和文件传输的支持

    Netty特点

    1)设计

    统一的API,适用于不同的协议(阻塞和非阻塞)

    基于灵活、可扩展的事件驱动模型

    高度可定制的线程模型

    可靠的无连接数据Socket支持(UDP)

    2)性能

    更好的吞吐量,低延迟

    更省资源

    尽量减少不必要的内存拷贝

    3)安全

    完整的SSL/TLS和STARTTLS的支持

    能在Applet与Android的限制环境运行良好

    4)健壮性

    不再因过快、过慢或超负载连接导致OutOfMemoryError

    不再有在高速网络环境下NIO读写频率不一致的问题

    Netty使用场景

    • 构建高性能、低时延的各种 Java 中间件,例如 MQ、分布式服务框架、ESB 消息总线等,Netty 主要作为基础通信框架提供高性能、低时延的通信服务;
    • 公有或者私有协议栈的基础通信框架,例如可以基于 Netty 构建异步、高性能的 WebSocket 协议栈;
    • 各领域应用,例如大数据、游戏等,Netty 作为高性能的通信框架用于内部各模块的数据分发、传输和汇总等,实现模块之间高性能通信。

    不同服务器之间通信.

    阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信

  • 相关阅读:
    idea-----Intellij IDEA配置tomcat(非maven项目)
    idea-----idea的项目中output框出现乱码
    mysql on windows的安装
    maven配置
    安装tomcat8.5
    jdk11.0.2安装
    idea创建maven web项目
    Mac下使用sshpass让iterm2支持多ssh登录信息保存
    iterm 2快捷键
    java 8 Base64用法
  • 原文地址:https://www.cnblogs.com/weijiqian/p/14159208.html
Copyright © 2011-2022 走看看