11.Netty简单认识

介绍

Netty是一个异步的,基于事件驱动(采用多路复用技术Selector)的网络应用框架。用于快速开发可维护、高性能的网络服务器和客户端。

IO事件发生时才会进行相应的处理。可连接,可读,可写事件。

Netty的异步

这里的异步不是异步IO,这里主要指Netty使用多线程完成方法调用和处理结果相分离。

如果调用方法的线程与接收结果的线程是同一个就意味着阻塞是同步;

如果调用方法的线程与处理结果的线程是两个就是异步;解放了调用方法的线程,让调用方法的线程可以腾出手来做别的工作。

使用了Netty的框架

因为它们有网络通信需求:

1.RocketMQ-ali 开源的消息队列

2.ES 搜索引擎

3.Dubbo rpc框架

4.Zookeeper 分布式协调框架

5.Cassandra-nosql 数据库

6.Spark 大数据分布式计算框架

7.Hadoop 大数据分布式存储框架

8.Spring 5.x -flux api完全抛弃了tomcat, 使用了Netty作为服务端

Netty的优势

1.Netty的底层是基于NIO

2.Netty将基础协议开发好了,http服务器、WebSocket服务器、https服务器

3.解决了TCP传输问题,粘包、半包

4.解决了epoll空轮训导致CPU 100%

5.对API进行增强,更易用,如:FastThreadLocal=>ThreadLocal, ByteBuf -> ByteBuffer

Netty版本

2.x, 3.x,4.x, 5.x(废弃)

相关推荐

  1. 11.Netty简单认识

    2024-05-11 19:18:03       38 阅读
  2. 12.Netty入门案例

    2024-05-11 19:18:03       31 阅读
  3. IdleHandler的简单认识

    2024-05-11 19:18:03       60 阅读
  4. 基于Netty的websocket的简单介绍

    2024-05-11 19:18:03       35 阅读
  5. netty+websocket实现简易聊天

    2024-05-11 19:18:03       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-11 19:18:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-11 19:18:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-11 19:18:03       87 阅读
  4. Python语言-面向对象

    2024-05-11 19:18:03       96 阅读

热门阅读

  1. Unity 单例模式

    2024-05-11 19:18:03       35 阅读
  2. Centos安装 docker和docker-compose

    2024-05-11 19:18:03       32 阅读
  3. 机器学习_如何给客户做聚类K-Means

    2024-05-11 19:18:03       34 阅读
  4. SSL/TLS 协议

    2024-05-11 19:18:03       30 阅读
  5. thinkphp5.1 模型auto

    2024-05-11 19:18:03       25 阅读
  6. UnityDOTS备忘

    2024-05-11 19:18:03       27 阅读
  7. QT day2

    QT day2

    2024-05-11 19:18:03      26 阅读
  8. Qt宏和关键字

    2024-05-11 19:18:03       32 阅读
  9. SpringBoot 中检测文件编码格式

    2024-05-11 19:18:03       36 阅读