Skip to content

Reactive Programming ‐ Marble Diagram

woojin.jang edited this page May 25, 2026 · 1 revision

마블 다이어그램

  • 상단의 타임라인은 Publisher가 데이터를 emit하는 타임라인이고, 가운데 박스는 Publisher로부터 전달받은 데이터를 처리하는 연산자. 그리고 하단의 타임라인은 Operator 함수에서 가공 처리되어 출력으로 내보내진 타임라인이다.
  • |는 처리되는 요소들의 정상적인 완료를 의미하고 는 에러가 발생해 데이터 처리가 종료되었음을 의미하며, onError Signal에 해당한다.

Flux

  • Flux는 여러 건의 데이터를 emit할 수 있는 Publisher 타입이다.
  • 정확히 얘기하자면 Flux는 0개 또는 1개 이상의 데이터를 emit할 수 있기 때문에 Mono의 데이터 emit 범위를 포함한다고 볼 수 있다.

Mono

  • Mono는 데이터를 한 건도 emit 하지 않거나 단 한 건만 emit하는 단발성 데이터 emit에 특화된 Publisher이다.

📖 Java

📖 Kotlin

📖 Coroutine

📖 Spring

📖 Spring Security

📖 Spring Batch

📖 Reactive Programming

📖 Database

📖 MySQL

📖 Redis

📖 JPA

📖 QueryDsl

📖 MSA

📖 Kafka

📖 Apache Flink

  • [Apache Flink - Apache Flink Architecture]
  • [Apache Flink - Stream Processing]
  • [Apache Flink - Data Stream API & Window]
  • [Apache Flink - State Management]

📖 HTTP

📖 AWS

📖 Docker

📖 Kubernetes

📖 CI/CD

📖 Nginx

📖 Monitoring🥈

  • [Monitoring - Log Concept]
  • [Monitoring - Log Level & Filter]
  • [Monitoring - Logback]
  • [Monitoring - Log Collection with ELK Stack]
  • [Monitoring - Log Monitoring with Kibana]
  • [Monitoring - Building a Monitoring System with Spring Boot Actuator]
  • [Monitoring - Server Monitoring with Prometheus and Grafana with Discord Alerts]

📖 Test

📖 Effective Java 3/E

📖 Kotlin Academy - Effective Kotlin

📖 Kotlin Academy - 핵심편

📖 스프링으로 시작하는 리액티브 프로그래밍

📖 가상 면접 사례로 배우는 대규모 시스템 설계 기초 1

📖 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2

📖 Clean Code

📖 리팩토링 2판

📖 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

📖 GraphQL

Clone this wiki locally