首页 > 其他分享 >netty架构原理

netty架构原理

时间:2022-12-03 18:45:21浏览次数:43  
标签:netty 架构 Reactor Netty 处理 模型 线程 原理

  Netty是由JBOSS提供的一个java开源框架。 Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说, Netty 是一个基于NIO的客户、服务器端编程框架。相当于简化和流线化了网络应用的编程开发过程。像dubbo、storm都用到了netty来通信。

Reactor模式:netty就是Reactor模型结构,Reactor模式也叫反应器模式,redis也是采用这种事件驱动模型。
Reactor 单线程模型
  用户发起 IO 请求到 Reactor 线程,Ractor 线程将用户的 IO 请求放入到通道,然后再进行后续处理,处理完成后 Reactor 线程重新获得控制权,继续其他客户端的处理。
  这种模型一个时间点只有一个任务在执行,这个任务执行完了,再去执行下一个任务。性能有极限,不能处理成百上千的事件。当负荷达到一定程度时,性能将会下降。还容易单点故障。

  

Reactor 多线程模型
  Reactor多线程模型是由一组 NIO 线程来处理 IO 操作(之前是单个线程),所以在请求处理上会比上一中模型效率更高,可以处理更多的客户端请求。
  这种模式使用多个线程执行多个任务,任务可以同时执行。但是如果并发仍然很大,Reactor仍然无法处理大量的客户端请求。

   

Reactor 主从多线程模型
  这种线程模型是 Netty 推荐使用的线程模型,适用于高并发场景,一组线程池接收请求,一组线程池处理 IO。

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

标签:netty,架构,Reactor,Netty,处理,模型,线程,原理
From: https://www.cnblogs.com/wlwl/p/11857679.html

相关文章

  • 郭东白的架构课00012
    你好,我是郭东白。前四条法则分别讲了目标、资源、人性和技术周期,这些都与架构活动的外部环境有关。那么今天我们来讲讲在架构活动内部,也就是在架构师可控的范围内,应该遵......
  • 郭东白的架构课00014
    你好,我是郭东白。架构师通常并不管理团队,而是管理架构活动。更准确地说,是定义和引导架构活动。因为每个参与架构活动的个体,都有各自工作的优先级和汇报关系。因此在没有管......
  • 郭东白的架构课00013
    你好,我是郭东白。上节课我们讲了外部适应性这个概念,也强调了架构师的职责是通过架构活动为企业不断注入外部适应性,从而帮助企业更好地实现它的战略意图。那么该怎么注入......
  • 郭东白的架构课--加餐0001
    你好,我是辰洋,是《郭东白的架构课》的负责人。这是我们在这个专栏的第一次正式会面,你可能会觉得与我有些陌生。不过从我的眼光来看,对于专栏里的每一行字、每一个案例,对于在......
  • 郭东白的架构课00015
    你好,我是郭东白。到这里,我们就完成了模块一的学习。那么这节课,我就以一个更宏观的视角来总结一下整个模块的思路,帮助你更好地理解与吸收。过程正义:为什么要定义生存法则?......
  • Android 内存缓存框架 LruCache 的实现原理,手写试试?
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。前言大家好,我是小彭。在之前的文章里,我们聊到了LRU缓存淘汰算法,并且分析Java标准库中支......
  • 基于SLR(1)分析法的语法制导翻译及中间代码生成程序设计原理与实现
    前言:终于良心发现开始自己写编译原理实验了,这不得来水一篇博客?参考:编译原理:基于SLR(1)分析法的语法制导翻译及中间代码生成函数介绍:intmain(){generate();......
  • 嵌入式系统软件架构
    嵌入式系统软件嵌入式软件:包括嵌入式操作系统及应用软件嵌入式操作系统嵌入式操作系统是嵌入式系统中最基本的软件,它负责分配、回收,控制和协调全部软硬件资源的并发活动,并......
  • k8s篇-k8s集群架构及组件详解【史上最详细】
    Okubernetes简介k8s是什么k8s是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可以促进声明式配置和自动化。k8s能做什么1)服务发现和负载......
  • 异地多活的三种架构模式
    业务定制型异地多活按照业务优先级排序,优先保证核心业务异地多活,根据核心业务的流程和数据,设计定制化的异地多活架构对基础设施无强要求不通用,难扩展C......