013. NETTY thread model

tags: Java development series  The internet  Design Patterns  java  netty  Multithreading

Introduction to Netty


  • Netty is a high-performance, high-scalable asynchronous event-driven network application framework, which greatly simplifies network programming such as TCP and UDP clients and server development.

2. Netty important four content


  • REACTOR Thread Model: A High Performance Multi-threaded Program Design Idea.
  • Netty's own defined Channel concept: Enhanced version of the channel concept.
  • CHANNELPIPELINE duties Chain design mode: Event processing mechanism.
  • Memory management: Enhanced Bytebuf buffer.

3. Netty overall structural map


img

  • Contains three blocks:

    • Support for multiple transmission methods such as sockets.
    • The codec implementation of a variety of protocols is provided.
    • The core design contains an event processing model, the use of the API, and the BYTEBuffer is enhanced.

4. NETTY thread model


  • In order to better utilize multi-threaded characteristics, Netty implements the Reactor thread model.

  • There are four core concepts in the Reactor model:

    • Resources Resource (request / task)
    • Synchronous Event Demultiplexer Synchronous Event Multiplexer
    • Dispatcher Distributor
    • Request Handler Request Processor

img

5. EventLoopGroup initialization process


img

img

  • Two groups of EventLoopGroup (Main & Sub) handles different events of different channels.

6. At EventLoop startup


  • EVENTLOOP itself implements the Executor interface. When the Executor method is called, it is determined whether to start, and the built-in Executor creates a new thread to trigger the RUN method.

img

7. Bind binding port process


img

8. Channel Concept


  • The Channel in Netty is an abstract concept that can be understood as the enhancement and extension of JDK NIO Channel.

  • Common properties and methods:

    img

Intelligent Recommendation

Thread model in Netty

The core concept in Netty isEvent loop (EventLoop), Which is actually Reactor in Reactor mode,Responsible for monitoring network events and calling event handlers for processing.In the 4.x version of ...

Netty features and thread model

Zero copy hard driver - kernel buffer - protocol engine only DMA copy avoids cpu copy There was actually a cpu copy of kernel buffer - socket buffer, but the copied information can rarely be ignored; ...

Netty thread model and basics

Why use Netty Netty is an asynchronous event-driven web application framework for rapid development of maintainable high-performance and high-profile servers and clients. Netty has the advantages of h...

Netty thread model and gameplay

Event cycle group   All I / O operations in Netty are asynchronous, and the asynchronous execution results are obtained by channelfuture. Asynchronously executes a thread pool EventLoopGroup, it ...

Netty - Thread Model Reactor

table of Contents Thread model 1, traditional IO service model 2, Reactor mode reactor Three modes: to sum up Netty model Excommissum Thread model 1, traditional IO service model Blocked IO mode Get i...

More Recommendation

Netty thread model [next]

Hey everyone, I amJava small white 2021。 The programmer of the halfway is in the development of aircraft, and the opportunity to find a more interesting thing under the development of a surveying cour...

【Netty】 thread model

content 1. Single Reactor single thread 2. Single Reactor Multi -thread 3. Reactor Main Strike Model Single -threaded model (single Reactor single thread) Multi -threaded model (single Reactor multi -...

Netty entry thread model

Single-threaded model: the boss thread is responsible for connection and data reading and writing Hybrid model: the boss thread is responsible for connection and data reading and writing, and the work...

Redis source code parsing: 09redis database implementations (key operation, key timeout function key space notification)

This chapter of the Redis database server implementations are introduced, indicating achieve Redis database-related operations, including key-value pairs in the database to add, delete, view, update a...

PAT B1041-B1045 Question

1、b1041 2、b1042 3、b1043 4、b1044 5、b1045...

Copyright  DMCA © 2018-2026 - All Rights Reserved - www.programmersought.com  User Notice

Top