# Netty

36개의 포스트
post-thumbnail

[Netty 공부기록] 바이트 버퍼

네티 공부 기록(2022-05-13) - 바이트 버퍼

2022년 5월 13일
·
0개의 댓글
post-thumbnail

[Netty 공부기록] 이벤트 모델

Netty 이벤트 모델에 대한 공부 기록(2022-05-08)

2022년 5월 8일
·
0개의 댓글
post-thumbnail

[Netty 공부기록] 채널 파이프라인

Netty 채널 파이프라인과 코덱에 대한 공부 기록(2022-05-07)

2022년 5월 7일
·
0개의 댓글

Netty | TCP 연결 지속 기능 구현 (TCP Connection Persistence)

Netty 기반 TCP 네트워크 프로그래밍 시 'TCP 연결 지속' 서비스를 제공합니다.

2022년 5월 4일
·
0개의 댓글

[ 네티 인 액션 ] 12. 웹소켓

이전에 고안된 방식들이 만족스러운 결과를 제공하지 못한 것에서도 확인할 수 있듯이 HTTP의 요청/응답 설계에는 상당히 문제가 많다.또한 시간형 웹 서비스의 의미론을 정식으로 정의하기 위한 학술적 논의도 이뤄지고 있지만 아직 합의된 정의는 나오지 않고 있다. 따라서 현

2022년 4월 19일
·
0개의 댓글

[ 네티 인 액션 ] 11. 네티에서 제공하는 ChannelHandler와 코덱

네티는 다양한 일반적인 프로토콜을 위한 코덱과 핸들러를 제공함으로써 지루한 작업에 필요한 시간과 노력을 크게 절약할 수 있게 해준다. 이번 장에서는 SSL/TLS와 웹소켓 지원을 비롯해 이러한 도구와 장점에 대해 알아보고 데이터 압축을 통해 HTTP의 성능을 최대한

2022년 4월 19일
·
0개의 댓글

[ 네티 인 액션 ] 10. 코덱 프레임워크

모든 네트워크 애플리케이션은 피어 간에 전송되는 원시 바이트를 대상 프로그램의 데이터 포맷으로 구문 분석하고 변환하는 방법을 정의해야 한다. 이러한 변환 논리는 바이트 스트림을 한 포맷에서 다른 포맷으로 변환하는 인코더와 디코더로 구성된 코덱에 의해 처리된다. 특정 애

2022년 4월 19일
·
0개의 댓글
post-thumbnail

[ 네티 인 액션 ] 9. 단위 테스트

ChannelHandler는 네티 애플리케이션에서 아주 중요한 요소이므로 개발 과정의 표준 단계로서 이를 철저하게 테스트해야 한다. 최상의 방법은 구현이 올바른지만 확인할 것이 아니라 코드를 수정했을 때 문제를 쉽게 식별할 수 있게 테스트를 구성하는 것이다. 이러한 테

2022년 4월 19일
·
0개의 댓글

[ 네티 인 액션 ] 8. 부트스트랩

부트스트랩이란 애플리케이션을 실행하도록 구성하는 과정으로서, 특히 네트워크 애플리케이션의 경우 ㄷ이 정의처럼 단순하지 않은 단계를 거칠 수 있다.네티는 애플리케이션 아키텍처에 대한 접근 방식과 일관되게 애플리케이션이 클라이언트 또는 서버든 관계없이 네트워크 레이어로부터

2022년 4월 19일
·
0개의 댓글

[ 네티 인 액션 ] 7. EventLoop와 스레딩 모델

스레딩 모델이란 간단히 말해, 운영체제, 프로그래밍 언어, 프레임워크 또는 애플리케이션의 맥락에서 스레드 관리에 대한 주요 측면을 정의하는 것을 의미한다. 스레드가 생성되는 방법과 시기는 애플리케이션 코드의 실행에 중요한 영향을 미치므로 개발자는 여러 모델의 장단점을

2022년 4월 19일
·
0개의 댓글
post-thumbnail

[ 네티 인 액션 ] 6. ChannelHandler와 ChannelPipeline

Channel인터페이스는 ChannelHandler API와 밀접한 관계가 있으며 간단하지만 유용한 상태 모델을 정의한다.Channel 수명주기 상태다음에는 ChannelHandler 인터페이스에서 제공하는 수명주기 메소드가 나오는데, 이러한 메소드는 ChannelHa

2022년 4월 19일
·
0개의 댓글
post-thumbnail

Netty | TCP Connection Timeout 값에 Integer.MAX_VALUE 를 사용하면 무한히 재연결 시도하나요?

Netty | TCP Connection Timeout 값에 Integer.MAX_VALUE 를 사용하면 무한히 재연결 시도하는지 실험해 보았습니다.

2022년 4월 16일
·
0개의 댓글
post-thumbnail

Netty | 반복된 연결 실패와 java.lang.OutOfMemoryError 문제

AWS EC2 인스턴스 (1G 메모리) 에 올린 통신 서버(Netty 기반)에서 java.lang.OutOfMemoryError 예외가 발생합니다.

2022년 4월 15일
·
0개의 댓글
post-thumbnail

비동기식(Asynchronous) 프로그래밍 구조에서 디버깅 문제

비동기식 프로그래밍 모델 그리고 관련된 디버깅 문제를 소개합니다.

2022년 4월 10일
·
0개의 댓글
post-thumbnail

[ 네티 인 액션 ] 5. Bytebuf

자바 NIO는 ByteBuffer라는 자체 바이트 컨테이너를 제공하지만 이 클래스는 사용하기 부담스럽다. 네티에서는 ByteBuffer를 JDK API의 제약을 해결하고 네트워크 애플리케이션 개발자에게 더 나은 API를 제공하는 강력한 구현인 ByteBuf가 있다.네티

2022년 4월 3일
·
0개의 댓글

[ 네티 인 액션 ] 4. 전송

네트워크를 통해 전송되는 데이터는 모두 동일한 형식(바이트)이다. 바이트가 전송되는 구체적인 방법은 데이터 전송의 기본 메커니즘을 추상화하도록 도와주는 개념인 네트워크 전송에 의해 좌우된다. 사용자는 이러한 세부 사항에 신경 쓸 필요가 없고, 바이트를 안정적으로 전송

2022년 4월 3일
·
0개의 댓글

[ 네티 인 액션 ] 3. 네티 컴포넌트와 설계

넓게 보면, 네티는 우리가 기술과 아키텍처라고 광범위하게 이야기하는 두 관심 영역의 문제를 모두 해결한다.자바 NIO 기반의 비동기식 이벤트 기반 구현을 이용해 고부하 조건에서도 애플리케이션 성능과 확장성을 최대한으로 보장한다.네티는 애플리케이션 논리를 네트워크 레이어

2022년 4월 3일
·
0개의 댓글
post-thumbnail

[ 네티 인 액션 ] 2. 첫 번째 네티 애플리케이션

다수의 클라이언트가 동시에 서버로 연결되는 것을 볼 수 있다. 지원되는 클라이언트의 수는 이론상으로 이용 가능한 시스템 리소스의 양과 JDK 버전에 따른 제약 조건에 의해서만 제한된다.모든 네티 서버에는 다음 항목이 필요하다.이 컴포넌트는 클라이언트로부터 받은 데이터를

2022년 4월 3일
·
0개의 댓글
post-thumbnail

[ 네티 인 액션 ] 1. 네티: 비동기식 이벤트 기반 네트워킹 프레임워크

네티는 유지 관리가 용이한 고성능 프로토콜 서버와 클라이언트를 신속하게 개발하기 위한 비동기식 이벤트 기반 네트워크 애플리케이션 프레임워크다.네티는 궁극적으로 프레임워크이며, 기술적 내용에 못지않게 아키텍처상의 접근법이나 설계 원칙도 중요한 요점이다.관심사의 분리(비즈

2022년 4월 3일
·
0개의 댓글
post-thumbnail

Spring Webflux - Netty 환경에서의 GracefulShutdown 구현

Eureka 환경에서 client들이 Registry 를 local cache에 저장하는 이유로 무중단 배포에 차질이 있었다. 이를 해결하기 위한 여러 방법을 모색하였고, 그 중 하나가 GracefulShutdown 을 이용하는 것이었다. 하지만 기존 Spring We

2022년 3월 15일
·
0개의 댓글