반응형 프로그래밍(Reactive Programming)의 정의
끊임 없이 요청/변경되는 데이터에 반응하기 위해 등장
데이터를 처리함에 있어서, 비동기적으로 데이터를 효율적으로 할 수 있도록 하기 위한 방법
일반적인 비동기 데이터 처리 과정
비동기 데이터 처리의 경우, 데이터 처리가 끝날 때까지 특정 쓰레드를 대기시키거나, 끝났을 경우, 콜백을 받아서 처리하는 방식을 취하기 때문에, 불필요한 컴퓨팅 리소스 사용이 발생
반응형 프로그래밍의 비동기 데이터 처리 과정
필요한 경우에만 쓰레드를 생성하고, 메세지 형태로 전달하여 처리
RxJava의 등장 이유
데이터 비동기 처리를 효율적으로 하기 위해 나온 라이브러리
데이터 단위로 처리해야 할 기능을 선언하고 비동기 선언이 쉽게 될 수 있도록 지원
MS에서 .NET의 Reactive Extension의 Java 버전으로 데이터베이스의 데이터 처리 과정 상에서 비동기 처리를 효율적으로 하기 위해 만들었다가, 별도의 언어로 만들어짐
RxJava의 정의
데이터를 가공/변형/처리 하는 라이브러리
RxJava의 역사
- 2014.11 : 1.0 배포
- 2016.10 : 2.0 배포
- 2018.03 : 1.0 유지 보수 종료
마무리
더 찾아봐야겠다. 비동기 처리는 이해가 되는데 얼마나 다른 건지ㅎㅎ..