본문 바로가기
IT/Knowledge

RxJava 란?

by 성준하이 2024. 10. 18.
반응형

본 포스팅을 읽기 전에 Reactive Programming 에 대한 개념이 필요하다.

아래 참고 포스팅을 참고바란다.

 

 

RxJava 는 ReactiveX의 Java 언어 라이브러리로 넷플릭스에서 처음 소개 되었다.

이벤트 처리 및 비동기 처리의 구성에 최적화 되어있다.

 

장점
  • 동시성 문제, 다중 이벤트 처리, 백그라운드 스레드 처리 등에 확실한 해결책을 제시
  • 기존에 작성한 비즈니스 로직에 새로운 프로세스가 추가되어야 하는 경우 큰 리팩토링 없이 변경사항 구현 가능
  • 네트워크 관련 대기 및 재시도 작업과 같은 예외 사항 추가 쉬움
구성요소
  • Observable
    • 데이터 스트림
    • 하나의 스레드에서 다른 스레드로 전달할 데이터를 압축
    • 주기적으로 또는 설정에 따라 생애주기 동안 한 번만 데이터를 방출
    • 즉, 데이터를 처리하고 다른 구성요소에 전달하는 역할을 함
  • Observers
    • Observable에 의해 방출된 데이터 스트림을 소비
    • Observable을 구독(subscribe)하여 방출하는 데이터를 수신할 수 있음
  • Schedulers
    • Observable과 Observers이 실행되어야 할 스레드를 알려줌

 

현재 사용중인 최신 버전 관련해서는 git 에서 관리가 되고 있으며 아래 사이트를 참조하면 도움이 된다.

https://github.com/ReactiveX/RxJava

 

GitHub - ReactiveX/RxJava: RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based p

RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. - ReactiveX/RxJava

github.com

사용법 역시 위 git 주소에 나와있고,

implementation "io.reactivex.rxjava3:rxjava:3.x.y"

라이브러리를 받아오면서  시작이 된다.


참고 포스팅

https://thenicesj.tistory.com/1088

 

Reactive Programming(리액티브 프로그래밍) 이란?

Reactive Programming 이란우선 설명하기 전에 위키에서 어떻게 설명을 하고 있는지 확인을 해보면, 컴퓨팅 에서 반응형 프로그래밍은 데이터 스트림 과 변경 사항의 전파 와 관련된 선언적 프로그

thenicesj.tistory.com

 

 

반응형

'IT > Knowledge' 카테고리의 다른 글

웹마스터 란?  (8) 2024.11.10
zustand 란?(React 에서)  (13) 2024.10.23
Reactive Programming(리액티브 프로그래밍) 이란?  (18) 2024.10.17
키네시스 스프링(Kinesis Spring) 이란  (12) 2024.10.15
Race condition이란  (15) 2024.10.07

댓글