Netty Framework는 Multi Thread를 지원하고 Event loop 기반 위에서 수행됩니다.
특징
- 네티의 이벤트는 채널에서 발생
- 채널에 event handler를 여러개 추가할 수 있다.
- multi core CPU 효율적으로 사용
- 이벤트 루프 객체는 이벤트 큐를 가지고 이벤트가 큐에 쌓임
- 네티의 채널은 하나의 이벤트 루프에 등록됨, 다중 이벤트루프 또한 지원
- 네티의 이벤트는 발생순서와 처리순서가 항상 일치한다.
- 이벤트 처리를 위해 SingleThreadEventExecutor 사용
=> 간단하게 요약하면, 클라이언트와 서버간의 입출력 이벤트는 채널에서 read/write 이벤트 루프객체 전달을 통해 처리된다,
[아래 그림은 클라이언트에서 write 이벤트를 발생시키는 처리 과정이다.]
<Process>
1) 기본적으로 여러개의 쓰레드는 channelcontext 에 write 할 수 있다.
2) InboundHandlerAdapter는 채널파이프라인으로 전달된다. (파이프라인은 다음장에서.)
3) 채널에서 발생된 이벤트는 이벤트루프그룹 큐에 쌓이고 서버와 연결된 socket의 outputstream을 통해 write한다.
참고자료 : https://www.slideshare.net/krisjeong/going-asynchronous-with-netty-soscon-2015
'Framework > Netty' 카테고리의 다른 글
#Nettty Framework - ByteBuffer, ByteBuf (0) | 2018.05.09 |
---|---|
#Nettty Framework - ChannelFutureListener (0) | 2018.05.09 |
#Nettty Framework - 채널 파이프라인 및 코덱 (0) | 2018.05.09 |
#Nettty Framework - 부트스트랩 (bootstrap) (0) | 2018.04.16 |
# Netty Framework 개요 (2) | 2018.03.12 |