分布式架构之Netty入门与实战

一、初探

1、Reactor模型

Reactor是反应堆的意思,Reactor模型,是指通过一个或多个输入同时传递给服务处理器的服务请求的事件驱动处理模式。Reactor模式也叫Dispatcher模式,即I/O多了复用统一监听事件,收到事件后分发(Dispatch给某进程),是编写高性能网络服务器的必备技术之一,关键两个组成

  • Reactor
    Reactor在一个单独的线程中运行,负责监听和分发事件,分发给适当的处理程序来对IO事件做出反应。 它就像公司的电话接线员,它接听来自客户的电话并将线路转移到适当的联系人

  • Handlers
    处理程序执行I/O事件要完成的实际事件,类似于客户想要与之交谈的公司中的实际官员。Reactor通过调度适当的处理程序来响应I/O事件,处理程序执行非阻塞操作

    

类型:单Reactor单线程、单Reactor多线程、主从Reactor多线程

2、主从Reactor多线程模型原理如下:

  • MainReactor负责客户端的连接请求,并将请求转交给SubReactor

  • SubReactor负责相应通道的IO读写请求

  • 非IO请求(具体逻辑处理)的任务则会直接写入队列,等待worker threads进行处理

    

二、Netty简介

  1. Netty是一个基于NIO的异步事件驱动的网络应用程序框架,用于开发高性能的服务端和客户端,它是发展于主从Reactor多线程模型,但是跟它不同的是,虽然借用了它MainReactor和SubReactor的结构,实际实现上,SubReactor和Worker线程在同一个线程池中
  2. Netty中的I/O操作是异步的,包括bind、write、connect等操作会简单的返回一个ChannelFuture,调用者并不能立刻获得结果,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果
  3. 关键组件
  • Bootstrap、ServerBootstrap

Bootstrap意思是引导,一个Netty应用通常由

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值