当前位置: 首页 > article >正文

Netty特点及相关面试题

简介

Netty是一个高性能的nio网络通信框架用于开发高性能的网络服务器和客户端 提供了简单强大的Api使得网络编程更加简单

特点

  1. 异步以及事件驱动 采用了基于事件驱动的变成模型并且使用异步的方式处理网络操作,可以高效处理大量的并发连接

  2. 高性能 使用了零拷贝 等高效的线程模型技术,有着卓越的性能表现适用于高负载低延迟的网络应用

  3. 支持多种协议 tcp 、UDP、 http、 Websocket等等

  4. 容易扩展 提供了丰富的组件和可扩展的Api

  5. 跨平台 可以在不同的操作系统运行

  6. 在许多领域得到广泛的利用 比如 网络服务器、分布式系统、游戏服务器、物联网(LoT)等等

面试话术

  1. nio网络模型的框架 对nio进行一层封装 提供了简单易用的的Api 可以利用Api快速开发

  2. 在nio的基础上上做了一些优化 零拷贝机制 高性能无锁队列 内存池 性能比原生nio更高

  3. 支持多种协议 tcp UDP http Websocket等等针对数据通信拆包黏包的问题 Netty内置了一些拆包的策略

Netty的优势

  1. 相比JDK自带的nio的相关Api来说使用更加的简单

  2. 统一Api支持多种传输类型 阻塞非阻塞 epoll poll等模型

  3. 使用非常少的代码去实现多线程reactor模型 主从多线程reactor模型

  4. 自带编解码器去解决tcp 拆包黏包的问题

  5. 自带各种通信协议

  6. 比JDK自带的nio 的 Api提供了更高的吞吐量

  7. 安全性好 有完整的ssl tls的支持

  8. 社区活跃经历了dubbo 、zookeeper、RocketMQ等大型项目的考验

Netty与Jetty对比

1.网络通信框架和web容器的区别

网络通信框架:Netty、Mina、Grizzly

web容器:Tomcat、Jetty

web服务器:Apache、Nginx

2.概念区别

Netty针对Socket

Netty是异步的。如果服务调用端需要同步等待调用结果,则需要自己实现同步等待机制。

Jetty/Tomcat针对Servlet

3.应用范围上:

HTTP服务用Jetty

即时通信用Netty

4.协议

Netty:TCP/IP协议

半包/粘包问题(可以通过选择合适的序列化协议解决)

Jetty:HTTP协议

5.总结

Netty

Jetty

实质

网络通信框架NIO

Web容器

针对

Socket

Servlet

协议

TCP/IP

HTTP

应用

即时通信

HTTP服务


http://www.kler.cn/a/371189.html

相关文章:

  • 江协科技STM32学习- P24 DMA数据转运DMA+AD多通道
  • 交叉编译 perl-5.40.0(riscv64)
  • Java应用程序的测试覆盖率之设计与实现(四)-- jacoco-maven-plugin
  • Pytest-Bdd-Playwright 系列教程(2):支持在多浏览器、多环境中执行测试
  • 《SMO算法 公式推导》9-78经剪辑后α2更新α1的值 公式解析
  • Conda install channel introduction
  • 自动化部署-02-jenkins部署微服务
  • 抖音短剧小程序上线:短视频平台的全新娱乐体验
  • 力扣每日一题合集
  • 深入理解Redis的四种模式
  • 江协科技STM32学习- P24 DMA数据转运DMA+AD多通道
  • jupyter notebook 启动 Clusters 教程
  • .Net桌面程序开发框架汇总
  • 基于ResNet50模型的船型识别与分类系统研究
  • 智能工厂的设计软件 “word”篇、“power”篇和“task”篇
  • 【Linux】ClickHouse 部署
  • 计算机毕业设计Hadoop+大模型高考推荐系统 高考分数线预测 知识图谱 高考数据分析可视化 高考大数据 大数据毕业设计 Hadoop 深度学习
  • 石头剪刀布升级版[NOIP2014]
  • 聊一聊Elasticsearch的一些基本信息
  • 【数据结构 | PTA】与零交换
  • MATLAB基础应用精讲-【数模应用】PageRank(附R语言、MATLAB、Java和python代码实现)
  • 数字身份发展趋势前瞻:无密码认证
  • 哈工大《理论力学》第九版课后答案解析及笔记PDF
  • Java Lock ReentrantLock 源码
  • Redis的删除策略以及内存淘汰机制
  • 探索 Surya:一款强大的开源 OCR 工具,支持 90 多种语言识别