- Netty 2starryeyeNetty Channel 의 pipline 으로 수행되는 ChannelHandler 가 제공하는 메서드를 하나씩 정리해보겠다. ChannelInboundHandler inbound I/O 이벤트를 처리하기 위한 ChannelHandler 이다. inbound I/O 이벤트가 발생되면 각 이벤트에 맞는 아래 메서드를 호출 해준다. void channelRegistered(ChannelHandlerContext ctx) throws Exception; Netty Channel 이 EventLoop 에 등록되는 경우 호출된다. - Netty ServerSocketChannel 의 경우 서버를 시작하며 EventLoop 에 최초 1회 등록할 것이므로 그 때 1회 호출 될 것이다. - Netty SocketCha..
- 2024-01-21 19:43:10(1년 전)
- Netty 1starryeyeSpring reactive stack 에서 사용되는.. Spring webflux 는 reactor 와 netty 를 의존한다. 뿐만 아니라, Spring data redis 도 netty 를 의존한다. 이번 포스팅에서는 netty 를 알아보겠다. Netty 소개 Netty 공식 홈페이지에 따르면 "Netty is asynchronous event-driven network application framework" 라 소개한다. (Server & Client) Netty 는.. HTTP, SMTP, FTP 등의 protocol 뿐만 아니라 다양한 protocol 을 지원한다. 또한, 불필요한 memory copy 를 최소화 하며 Java IO, NIO, selector 기반으로 적은 리소스로 높은 성능..
- 2024-01-17 01:11:58(1년 전)
- Proactor patternstarryeyeReactor pattern 에 이어서 Proactor pattern 을 알아보겠다. 두 패턴을 가르켜 Event handling pattern 이라 부르기도 한다. Proactor 패턴 Reactor 패턴에서는 단일 스레드로 IO 이벤트를 처리하였다. 단일 스레드가 커널에 epoll 을 활용하여 IO 작업의 준비 완료 상태를 주기적으로 확인하였는데.. (즉, Reactor, Selector 가 병목 지점인 것) Proactor 패턴에서는 AIO 로 동작하므로 커널이 AIO 로 IO 작업의 준비 완료 상태를 알려 주기 때문에 busy-wait 현상을 없앨 수 있다. 사용 기술 Proactor 패턴은 Java AIO를 사용한다. 특징 Java AIO 를 사용하기 때문에 비동기 non-blocking 으로 ..
- 2023-11-20 01:27:04(1년 전)
- Reactor patternstarryeye이번 포스팅에서는 Reactor pattern 에 대해 알아보겠다. reactor pattern 의 목표 한정된 스레드로 동시에 들어오는 요청을 효율적으로 처리 가능 Reactor 패턴 대표 사용 기술 Java NIO, Selector, epoll 특징 Selector 기반의 Java NIO 를 사용하기 때문에 동기 non-blocking 으로 동작한다. (IO 관점) 작동 방식 accept, read, write 등의 이벤트(준비 완료)들을 한 곳(Selector)에 등록하여 모니터링 -> Selector 사용, Multiplexing 준비 완료 이벤트(처리될 준비가 됨)일 경우에는 request handler 에게 전달한다. -> Demultiplexing 대표 컴포넌트 Reactor 별도의 스레드에..
- 2023-11-19 03:36:15(1년 전)
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)