前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Netty中的引导类Bootstrap

Netty中的引导类Bootstrap

作者头像
爬蜥
发布2019-07-09 11:05:33
9330
发布2019-07-09 11:05:33
举报

Bootstrap是用来组织Netty的各个结构(pipeline,handler,eventloop),并使他们运行起来的类结构。分成两块,一个是客户端引导类Bootstrap,只用1个channel来处理所有的网络交互,另一个是服务端的ServerBootstrap,它提供一个父channel来接受客户端的请求,然后父channel创建多个子channel来用于的通信

Netty可以如何来支撑一个代理服务器,接收客户端请求的同时,又调用自己内部的服务?

这种业务场景首选需要一个服务器用于接收请求,同时新建一个客户端来向下游发起请求,Netty版的实现可以通过共享eventLoop来实现线程公用,既不需要创建额外的线程也不需要在接受请求的子channel和客户端channel之间交互数据时的上下文切换

这中类型解决方案Netty一般准则是复用eventLoop

如何一次添加多个ChannelHandler?

自定义继承ChannelInitiallizer,重载它的initChannel方法获取pipeline,然后调用addLast等一些列方法来一个一个添加自己的handler

ChannelOption是干什么的?

配置channel设置项用,当作用于引导时,它将适用于当前引导所创建的所有channel

如果要在netty的生命周期之外使用相关属性和数据,可以怎么做?

使用AttributeMap和AttributeKey<T>,他们可将任何类型的数据项与客户端和服务端的channel相关联

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年05月15日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Netty可以如何来支撑一个代理服务器,接收客户端请求的同时,又调用自己内部的服务?
  • 如何一次添加多个ChannelHandler?
  • ChannelOption是干什么的?
  • 如果要在netty的生命周期之外使用相关属性和数据,可以怎么做?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档