Notice
Recent Posts
Recent Comments
Link
개발자는 기록이 답이다
패스트캠퍼스 환급챌린지 7일차 미션 (2월 7일) : Spring Webflux 완전 정복 : 코루틴부터 리액티브 MSA 프로젝트까지 강의 후기 본문
패스트캠퍼스
패스트캠퍼스 환급챌린지 7일차 미션 (2월 7일) : Spring Webflux 완전 정복 : 코루틴부터 리액티브 MSA 프로젝트까지 강의 후기
slow-walker 2024. 2. 7. 22:311. Reactive Streams의 역사
- 2011년 6월
- MS 닷넷 프레임워크를 위한 Reactive Extensions 배포
- 2013년 2월
- Netflix 기술 블로그에서 RxJava공개 (0.5버전)
- 2013년 9월
- Reactive manifesto v1 공표
- 2013년 11월
- Pivotal Project reactor 1.0.0 배포
- 2014년 9월
- Reactive manifesto v2 공표
- 2014년 11월
- Netflix RxJava 1.0 배포
- 2015년 4월
- Reactive Streams 1.0 배포
- 2017년 8월
- Reactive Stream 1.0.1 배포
- 2021년 8월
- red hat의 mutiny 1.0배포
2. Netflix 트래픽 증가로 인한 문제 발생
https://www.infoq.com/presentations/netflix-api-evolution/
Evolution of the Netflix API
Ben Christensen describes how the Netflix API evolved from a typical one-size-fits-all RESTful API designed to support public developers into a web service platform optimized to handle the diversity and variability of each device and user experience. The t
www.infoq.com
- 2010년에 하루에 2천만 정도의 API요청
- 2013년에 하루에 2억건까지 API요청이 100배 가까이 늘었음
- 엄청 다양한 디바이스로부터 메인페이지 하나만 조회하더라도 API를 수십개씩 호출하는 경우가 있었음
- 너무 많은 디바이스, 너무 많은 요청, 너무 많은 dependency에 요청을 보내고 받으면서 트래픽을 버티고 응답을 내려주는게 점점 더 어려워짐
3. 클라이언트를 개선했지만 여전히 많은 서버 요청들
- 클라이언트를 개선해서 요청을 나눠서 보내던걸 하나의 요청으로 바꿈
- 하나의 페이지를 구성하기 위해 너무 많은 요청을 나눠서 보내게 되면 Network latency 의 문제가 있음
- 요청을 하나로 합치면 Network latency를 줄여도 결국 클라이언트에서 10번 보낼걸 1번 보낼뿐
- 서버에서 그런 요청을 분석해서 처리하는 건 달라지지 않았음
4. Netflix Rx Java로 해결
- Functional Reactive Dynamic Endpoinst 만들고, Rx Java를 이용해서 Asynchronous Java API 사용
- 여러 dependency들 사이에 효율적으로 데이터를 갖고 오게 만듬
- asynchronous하게 작업함으로서 트래픽을 버티는데 굉장히 큰 도움이 됌
※ 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다. https://bit.ly/48sS29N