一、Netty介绍

    Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。
    也就是说,Netty 是一个基于NIO的客户、服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户、服务端应用。Netty相当于简化和流线化了网络应用的编程开发过程,例如:基于TCP和UDP的socket服务开发。
    “快速”和“简单”并不用产生维护性或性能上的问题。
    Netty 是一个吸收了多种协议(包括FTP、SMTP、HTTP等各种二进制文本协议)的实现经验,并经过相当精心设计的项目。最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。(摘自百度百科)
二、Netty的体系结构
 三、Netty的核心结构
    Netty是典型的Reactor模型结构,在实现上,Netty中的Boss类充当mainReactor,NioWorker类充当subReactor(默认NioWorker的个数是当前服务器的可用核数)。
    在处理新来的请求时,NioWorker读完已收到的数据到ChannelBuffer中,之后触发ChannelPipeline中的ChannelHandler流。
    Netty是事件驱动的,可以通过ChannelHandler链来控制执行流向。因为ChannelHandler链的执行过程是在subReactor中同步的,所以如果业务处理handler耗时长,将严重影响可支持的并发数。
五、开发环境搭建
开发工具:IntelliJ IDEA 2018.3
版本管理工具:Gradle (gradle-5.4.1-bin.zip)
Netty版本:4.1.36.Final
第一步:打开IntelliJ IDEA 配置参数:
File -> Setting 进入配置菜单。搜索gradle即可看见相关配置。
 
 
 
 
 
好了,环境搭建步骤完成,下节我们开始来写我们的第一个netty项目。
 

最新文章

  1. [Intel Edison开发板] 02、Edison开发板入门
  2. OpenCV Haartraining
  3. 使用小技巧,让你高效使用Eclipse
  4. 解决thrift: ···No such file or directory问题
  5. mysql ALL_O_DIRECT引发的unaligned AIO/DIO导致hang
  6. 多线程并发流程控制之dispatch_group 有关函数
  7. MVC 上传图片的解决方案
  8. Session技术详解
  9. [Design Pattern] Factory Pattern 简单案例
  10. 有关service
  11. MVC Razor视图引擎
  12. Codeforces 510B Fox And Two Dots 【DFS】
  13. Linux:用at和crontab调度作业
  14. offsetWidth相关js属性
  15. PHPMailer发送邮件失败:SMTP connect failed
  16. 风火轮SMC532使用
  17. datatable中的copy和clone的用法区分
  18. 使用mysqlbinlog恢复数据
  19. Oracle 学习笔记 (七)
  20. 1. redis安装(windows)

热门文章

  1. C# 运算符和类型强制转换(6) 持续更新
  2. unity里framebuffer fetch相关问题
  3. Java笔记(基础第四篇)
  4. CodeForces 837F - Prefix Sums | Educational Codeforces Round 26
  5. Java项目出现的问题--学习--SSM
  6. BZOJ 1257 [CQOI2007]余数之和 数学
  7. c 判断一个字符是否为空格
  8. node.js由浅入深教程
  9. 完全免费,再也不用担心转pdf文件乱来乱去的问题了
  10. python小技巧之把list组合成chain