profile
좋은 습관이 나를 더 좋은 개발자로 만든다.

Reactor: Execution Control 2 - Parallel Processing

Reactor 발행자와 구독자는 쓰레드를 생성하지 않는다. 그러나 이전 글에서 확인했듯이, 이러한 행동을 변경할 수 있는 연산자가 존재한다. 이전 글에서는 delay 연산자가 Reactor chain의 메인 쓰레드가 아닌 다른 곳으로 실행을 바꾸는 것을 보았다. 그러나

2022년 5월 29일
·
0개의 댓글
·

Reactor: Execution Control 1 - Scheduler

Reactor에 대하여 학습하면서 Filtering, Transforming, Collecting 등의 작업을 살펴보았다. 여기서 살펴본 대부분의 작업은 추가적인 쓰레드를 사용하지 않고 Main에서 동작한다. 그러나, Reactor에서는 Schedulers를 사용하여

2022년 5월 28일
·
0개의 댓글
·

Reactor: Error 2 - Recovery

에러를 처리할때, 프로세스를 종료하지 않고 대체할 이벤트 또는 데이터를 발행하고 계속 진행하고 싶을 경우가 있을 수 있다. 여기서는 이러한 목적을 달성하는 방법을 알아보자.Reactor는 예외가 발생했을 때, onERrorReturn 연산자로 fallback 값을 반환

2022년 5월 22일
·
0개의 댓글
·

Reactor: Error 1 - Generating Errors

소개 탄력성은 반응형 시스템에서 매우 중요한 관점이다. 반응형 시스템은 실패하는 동안에도 응답 가능한 상태로 남아있어야 한다. 시스템은 에러를 잘 다루며, 사용자의 요청에 적시에 응답해야 한다. 이러한 요구사항은 효율적인 에러처리 메커니즘 없이는 달성하는것이 불가능하다

2022년 5월 21일
·
0개의 댓글
·

Reactor: BackPressure (배압)

소개 배압은 Reactor의 중요한 부분이다. 각 구독자는 구독 객체를 사용하여 처리한 이벤트를 요청한다. 발행자는 이벤트 요청의 수와 같거나 더 적은 이벤트를 발행해야한다. 이벤드 요청 수를 Lonb.MAX_VALUE로 설정하면 가지고 있는 이벤트를 전부 보낸다.

2022년 5월 15일
·
0개의 댓글
·
post-thumbnail

Reactor: Flow Control (흐름 조절)

Flow Control Flow Control은 생산자가 많은 이벤트를 발행하면서 구독자를 압박하지 않고 이벤트를 관리하는 것이다. 빠른 생산자는 많은 이벤트를 구독자에게 전달할 수 있다. 구독자는 이벤트를 받는 즉시 처리한다. 이러한 일련의 과정은 이벤트가 처리가능한

2022년 5월 15일
·
0개의 댓글
·
post-thumbnail

Reactor: 데이터와 스트림 처리

Reactor는 데이터를 조작하는 다양한 연산자를 제공한다. 이 연산자는 스트림을 받아서 다른 데이터로 구성된 스트림을 반환한다.본격적으로 연산자를 보기 전에 스트림 데이터를 생성해보자. 아래의 코드는 피보나치 수열을 생성하는 코드이다.결과결과결과결과결과결과위의 tak

2022년 5월 14일
·
0개의 댓글
·