Java/No Blocking
-
Netty & Spring boot ( ft.Webflux)Java/No Blocking 2019. 7. 5. 10:34
Netty 를 겉핥기를 해놓고 이제와서 사용해 보는것 같다. 다행이 내 만든 API 서버중 하나를 고가용성의 서버로 만들 니즈가 생겼고 이참에 한번 해보자 ! 라는 생각으로 시작했다. 기존 프로젝트를 고치기로 했다. 기존 프로젝트는 아주 평범한 spring boot 2 기반의 spring mvc 프로젝트이다. 다행이란건 기록하면서 추가하겠지만 mysql 이나 기타 RDMS 와 연결하는 로직은 없고 , 카프카 나 couchbase 에게 데이터를 전송하는 부분만 존재한다. 프로젝트 자체를 maven 기반으로 만들었기 때문에 시작은 pom.xml 에 내용을 추가하는것부터 했다. org.springframework.boot spring-boot-starter-webflux org.springframework.b..
-
Netty 훑어보기Java/No Blocking 2019. 5. 9. 12:23
Netty? Netty 는 서버 및 클라이언트이 필요한 네트워크 어플리케이션을 빠르고 쉽게 개발이 가능하게 해주는 NIO 기반의 서버 프레임워크 이다. 기본적으로 Netty는 비동기 이벤트 드리븐 방식의 프레임워크이다. TCP , UDP 을 모두 지원한다. Netty의 기본 구조 이다. 코어 부분을 보면 이벤트 모델을 가지고 있고 쉽게 사용이 가능하도록 해주는 API 를 제공 하고있으며 zero copy capable rich bytebuffer 라는것을 지원하는데 이 특징으로 인해서 GC 를 최소화 하여 고성능을 보장하게 된다. Netty는 비동기식으로 작동하기때문에 적은 스레드로도 많은 요청 처리 가능하여 서버 자원을 효율적으로 사용이 가능하다. Netty를 쓰는이유? 일단 각종 네트워크 코덱을 기본..