6월에 Spring Framework 5가 나올 예정인데 Reactor 프로젝트의 스프링 적용 버전인 Spring Reactive가 포함되어 나올 예정임. Spring Framework 4.3 부터 선행 적용하기로 되서 미리 사용이 가능한데 간략히 설명하면 기존의 멀티쓰레드 방식 코드에 이벤트 루프 방식이 추가되는 형태라고 볼 수 있는.. 단적으로 Node.js의 경우는 싱글쓰레드 이벤트 루프 방식임.
Spring MVC에서 서비스 클래스 영역까지는 비동기 코드 작성에 대한 패턴들이 나와 있었는데 이제 컨트롤러까지 확장되는 추세이고 데이터소스 영역도 이미 NoSQL 데이터베이스 같은 경우 Non-block I/O를 지원하는 JDBC 드라이버들이 제작되고 있는 상황.
기존에 Java의 비동기 코드가 .NET에 비해 깔끔하지 못하다는 해외 커뮤니티의 평가가 많았는데 여기에서 모티브를 얻은 RxJava가 인기를 끌면서 RxJava의 Spring 버전인 Spring Reactive가 메인스트림에 합류하는 분위기.
선행 학습을 위해 참고한 자료들의 링크를 남깁니다.
메인 동영상은 기존의 레거시 코드를 Java 8으로 마이그레이션 하는 방법에 대한 내용을 다루는데 주로 Stream을 이용한 람다코드와 Consumer를 이용한 리소스 관리에 대한 이야기를 하고 있다. 강연 내용중에 기억에 남는 글귀가 있는데 "A good code is like a story not like a puzzle." 이라는 말이.. Spring Reactive에 대한 자료는 이곳 을 참고할 수 있고 관련자료의 슬라이드 링크를 포함하고 있다. 슬라이드 중 Reactive Web Applications에 대한 강연 영상은 이곳 에서 확인할 수 있고 서블릿에서 비동기 서블릿의 진화 과정에 대한 간략한 내용과 Reactive Stream에 대한 이야기를 담고 있다. Spring Boot와 RxJava를 이용해 RESTful API를 만드는 방법에 대한 내용은 이곳 에서 확인할 수 있고 Observable을 이용한 데이터 핸들링과 컨트롤러의 비동기 응답과 테스팅에 대한 힌트를 주고 있다. Spring Reactive의 REST 컨트롤러 구성에 대한 코드 예제는 이곳 에서 확인 가능하다.
댓글 없음:
댓글 쓰기