Netty 시작하기

2016. 5. 26. 09:03Java/Netty

Netty is an asynchronous event-driven network application framework 

for rapid development of maintainable high performance protocol servers & clients.


Netty : 그물 모양… 변소란 뜻도 있고..  http://netty.io/ 내용 정리..


Netty 책을 사서 한번 읽어 보기도 하고, 프로젝트도 해봤습니다.

http://kimseunghyun76.tistory.com/391

또한 다른 네트워크 프레임워크를 보다보면, 요~ Netty을 가지고 만들었다라는 느낌은 지울수가 없네요. 
네트워크 프레임워크의 강자(?)인 Netty는 네트워크 하시는 분들이라면 꼭 접해 봤겠죠 뭐 ㅎ


빠르고 쉽게 네트워크 어플리케이션을 개발할수 있는 NIO 클라이언트,서버 프레임워크 입니다. 
예를 들면 프로토콜 서버와 클라이언트들이죠.

네티는 TCP와 UDP 소켓 서버와 같은 것을 엄청나게 간단하고 능률적이게 합니다.

"빠르고 쉬움" 라는 것이 만들어진 어플리케이션이 유지능력 또는 성능 이슈를 겪을 것을 의미하는 것은 아닙니다. 
Netty는 이전 다양한 바이너리 와 텍스트 기반의 레거시 프로토콜들, FTP,SMTP,HTTP와 같은 수 많은 프로토콜들의 구현으로 부터 배운 경혐들을 토대로 주의깊게 설계 되어 왔습니다.
결과적으로, Netty는 개발, 성능, 안정성, 타협없는 유연함을 쉽게 얻을수 있는 방법을 찾는데 성공했습니다. 


Netty is a NIO client server framework which enables quick and easy development of network applications such as protocol servers and clients. 

It greatly simplifies and streamlines network programming such as TCP and UDP socket server.

'Quick and easy' doesn't mean that a resulting application will suffer from a maintainability or a performance issue. Netty has been designed carefully with the experiences earned from the implementation of a lot of protocols such as FTP, SMTP, HTTP, and various binary and text-based legacy protocols. As a result, Netty has succeeded to find a way to achieve ease of development, performance, stability, and flexibility without a compromise.


기능들, Features


설계, Design

통합 API, Unified API for various transport types - blocking and non-blocking socket

유연,확장가능한 이벤트 기반, Based on a flexible and extensible event model which allows clear separation of concerns

높은 커스텀 쓰레드 모델, Highly customizable thread model - single thread, one or more thread pools such as SEDA

무접속 지원 : True connectionless datagram socket support (since 3.1)


쉬운 사용, Ease of use

잘 정리된 문서, Well-documented Javadoc, user guide and examples

어떤 의존관계 없음, No additional dependencies, JDK 5 (Netty 3.x) or 6 (Netty 4.x) is enough

Note: Some components such as HTTP/2 might have more requirements. Please refer to the Requirements page for more information.


성능, Performance

나은 처리량, 낮은 지연, Better throughput, lower latency

적은 리소스 소비, Less resource consumption

불필요 메모리 복사 최소화,Minimized unnecessary memory copy


보안, Security

완벽한 SSL/TLS, Complete SSL/TLS and StartTLS support


커뮤니티, Community

빠른 릴리즈, Release early, release often

The author has been writing similar frameworks since 2003 and he still finds your feed back precious!