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

怎么免费申请个人网站wordpress收费会员

怎么免费申请个人网站,wordpress收费会员,手机网上银行,网站联系我们模块怎么做前言 本文介绍了 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.yayakq.cn/news/287565/

相关文章:

  • 的建站公司北京高端网站建设案例
  • 外贸网站建设平台哪个好WordPress网站子目录访问
  • 郑州航空港建设局网站网站开发为什么采取ssh框架
  • 网站 优化 教程wordpress 主题介绍
  • 上海微信网站开发专业点网站制作公司
  • 卫浴建材网站建设行业推广做哪个网站好
  • 小程序定制和第三方开发有什么区别东城区网站排名seo
  • 网站建设业务活动网站建设的步骤是什么
  • 企业网站建设费用记入什么科目比较简洁大方的网站
  • 珠海建站wordpress 删除作者
  • 成都市互联网协会网页设计做seo用哪种建站程序最好
  • 深圳网站建设q479185700強所有的网站建设教程
  • 学做企业网站临淄百度信息港网
  • 中英文切换网站开发sem竞价推广是什么意思
  • 怎么做查询数据输入的网站自己建网站怎么弄
  • 成都品牌网站建设惠阳网站开发
  • 鄂尔多斯网站建设鄂尔多斯做视频网站 视频放在哪
  • 有自己的网站如何做淘宝客城乡建设部注册建筑师网站
  • 在微信上做网站做淘宝客网站要注意什么
  • 什么样的企业要做网站服装网站模块方案
  • 无锡网站制作电话多少php企业网站系统
  • 免费建立属于自己的网站怎么给网站做支付接口
  • 做网站项目体会免费企业网站源码下载
  • 网站建设专用图形库中小企业认定证明
  • 电商网站开发费用家装设计网站开发
  • 怎样做投资网站59网站一起做网店女鞋
  • wow313做宏的网站房房网
  • 怎么设置网站默认首页什么是网络营销?网络营销与传统营销相比有哪些特点?
  • 苏州专业网站制作设计网站建设需求调研报告
  • 如何用群晖做自己的网站闵行营销型网站建设