2.네티
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
네티는 비동기 , 이벤트 기반의 네트워크 애플리케이션 프레임워크로,
빠르고 유지보수가 편한 고성능의 네트워크(TCP/UDP) 서버 / 클라이언트 프로그램을 구현할 수 있도록 다양한 API를 제공함
2. java.nio와 비교한 Netty의 특징
2-1. 추상화된 API를 통한 빠르고 편한 구현
앞서 1. 저수준(Low-level)의 처리 로직 구현 및 지식 필요 와 다르게,
Netty는 블로킹/논블로킹 모드와 상관없이 빠르게 개발할 수 있도록 추상화된 API를 제공하기 때문에 소스코드를 크게 변경하지 않아도 됨
2-2. 간소화된 유지보수성
앞서 2. 낮은 유지보수성과 다르게,
Netty는 이벤트 기반 프로그래밍 방식을 통해, 소켓 연결이나 데이터 송/수신과 같은 네트워크 이벤트별로 각각의 처리용 핸들러 메서드를 제공하기 때문에
개발자는 이벤트별로 처리를 원하는 메서드만 선택하여 해당 이벤트가 발생했을 때 처리할 로직만 작성하면 됨
예외 처리도 마찬가지로 별도의 예외가 발생했을 때 처리할 메서드가 제공됨
이를 통해 높아진 가독성과 유지보수성을 얻을 수 있음
단, 유지보수성에 대해서는 개발자가 프레임워크에 대한 사용법을 잘 숙지하고 있으며, 지속적인 버전 관리, 넓은 생태계가 존재한다는 전제 하에 유효함
Last updated on