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

什么是伪静态网站成都网络营销公司

什么是伪静态网站,成都网络营销公司,flash做网站,专门做心理测试的网站前言 本文介绍了 ES 使用的网络模型,并介绍 transport,http 接收、响应请求的代码入口。 网络 IO 模型 Node 在初始化的时候,会创建网络模块。网络模块会加载 Netty4Plugin plugin。 而后由 Netty4Plugin 创建对应的 transports&#xff0…

前言

本文介绍了 ES 使用的网络模型,并介绍 transport,http 接收、响应请求的代码入口。

网络 IO 模型

Node 在初始化的时候,会创建网络模块。网络模块会加载 Netty4Plugin plugin。
而后由 Netty4Plugin 创建对应的 transports,以及 http server。
代码分别入口为:Netty4Plugin#getTransportsNetty4Plugin#getHttpTransports

众所周知,Netty 中使用的网络 IO 模型是 主从 Reactor。
接下来带大家一起看创建的细节。

Transport

代码入口为构造函数 Netty4Transport
因为 transport 主要用于内部,因此既有 ServerBootstrap,又有 Bootstrap
ServerBootstrapNetty 中表示 Server 的类。
BootstrapNetty 中表示 Client 的类。

ES 使用的是 NioEventLoopGroup,其底层实现基于 Java NIO
JAVA NIO 在不同的平台上,会执行不同的系统调用。例如,在 Linux(2.6之后) 会使用 epoll

创建 NioEventLoopGroup 的代码入口为:SharedGroupFactory#getGenericGroup(),默认会创建 Runtime.availableProcessors()EventLoop(工作线程),可通过 transport.netty.worker_count 修改创建的个数。

其中,Server 和 Client 会共用同一个 NioEventLoopGroup。代码入口 Netty4Transport#doStart()

接收请求代码入口:
Netty4MessageChannelHandler#channelRead(ChannelHandlerContext ctx, Object msg)

响应请求代码入口:
Netty4MessageChannelHandler#write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise)

http server

创建

代码入口为构造函数 Netty4HttpServerTransport。在 doStart() 函数中描述了 ServerBootstrap 的创建过程。

默认情况下 http server 和 transport 共用同一个 NioEventLoopGroup。如果想改变这个行为,需要设置 http.netty.worker_count 的值大于 0。描述这段逻辑的代码入口为:SharedGroupFactory#getHttpGroup()

接收 http 请求

接收请求的入口为:Netty4HttpRequestHandler#channelRead0(ChannelHandlerContext ctx, HttpPipelinedRequest httpRequest)

与我们所熟知的 MVC 框架类似,请求进来后,都会交由某个类去做请求的分发。在 ES 中,负责分发请求的类为:RestController#dispatchRequest(RestRequest request, RestChannel channel, ThreadContext threadContext)
不同的请求可能会运行在不同的业务线程上。

响应 http 请求

响应 http 请求的入口为: Netty4HttpResponseCreator#encode
Netty4HttpResponseCreator 继承的是 Netty 的 MessageToMessageEncoder 类。该类在可以写就绪时,会自动调用 write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) 方法,而 write 方法中则会调用 encode 方法,因此这里说,入口是 encode 方法。

本文由mdnice多平台发布

http://www.hengruixuexiao.com/news/17049.html

相关文章:

  • wap端和app有什么区别广州seo推广
  • 搜索引擎的网站推广方式seo优化多少钱
  • 网站后台管理系统有哪些企业网站官网
  • python官网下载安装搜索引擎排名优化
  • 河南锦路路桥建设有限公司网站如何制作网站免费建站
  • so导航 抖音seo搜索如何优化
  • 福州网站设计费用电商培训大概多少学费
  • 中国建设银行曲江支行网站百度广告投放
  • 网站代运营推广百度客服平台
  • 王串场街网站建设公司海外独立站
  • 一个做问卷调查的网站上海网站建设开发
  • 做自己的彩票网站石家庄seo推广优化
  • 外贸网站建设及优化ppt模块东营seo整站优化
  • php做网站视频播放下载功能有哪些免费网站可以发布广告
  • wordpress加密访问株洲seo推广
  • 浙江鼎兴建设有限公司网站河北seo基础
  • 为什么要用模板建站?怎么发外链
  • 微信怎么做网站云盘搜索引擎入口
  • 益阳网站seo百度关键字优化精灵
  • 青岛专业制作网站的公司吗百度客服号码
  • 上传空间站的注意事项赣州seo推广
  • the word和 a wordpressseo常用工具有哪些
  • 企业注册登记查询seo网站排名优化培训教程
  • wordpress建站心得互联网广告营销是什么
  • 快速网站建设一站式网络营销
  • 推广网站有那些百度商业账号登录
  • 网站服务类型是什么意思关于进一步优化落实疫情防控措施
  • 东莞网络推广怎么样seo优化课程
  • 网站手机网页如何做小学生摘抄新闻
  • 怎么停止网站要做网络推广