微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

《精通并发与Netty》学习笔记01

一、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项目。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐