Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

코틀린 기반 Pekko 액터모델 + 리액티브 스트림 코드구현 by Claude Code


**리액티브 스트림(Reactive Streams)**은 비동기 데이터 처리와 흐름 제어(Backpressure)를 표준화한 자바 진영의 명세로, Netflix, Lightbend, Pivotal 등 주요 기업들이 참여해 2015년에 정식 발표되었습니다. Java 9부터는 Flow API로 포함되어 공식적인 JVM 표준이 되었으며, Spring WebFlux, Akka Streams, Project Reactor, RxJava 등 다양한 프레임워크들이 이를 기반으로 비동기 스트림 처리의 신뢰성과 일관성을 제공하고 있습니다. 특히 고속 데이터 전송, 스트리밍 분석, 웹소켓 기반 실시간 서비스에 핵심적인 기술로 자리 잡았습니다.

**액터모델(Actor Model)**은 상태를 메시지를 통해만 변경할 수 있는 독립적인 액터 단위로 분산 시스템을 구성하는 개념으로, 동시성 문제를 안전하게 해결하면서 수평 확장이 용이하다는 장점이 있습니다. Erlang/OTP, Akka(Lightbend), Microsoft Orleans 등의 구현체를 통해 WhatsApp, LinkedIn, Tesla, Microsoft 같은 글로벌 기업들이 실시간 통신, IoT, 게임, AI 에이전트 등에 성공적으로 활용하고 있으며, 이벤트 기반 구조와 궁합이 좋아 복잡한 비즈니스 로직이나 AI 파이프라인의 오케스트레이션에도 탁월한 구조를 제공합니다.


바이브로 시도가능 아키텍처


프로젝트 목적

액터모델을 알지못해도 액터모델을 이용하는 다양한 샘플기능을 바이브로도 만들수있지만 바이브를 통해 액터구현을 다양하게 시도할수 있음으로 학습곡선에따른 시간을 단축하는것과 동시에 액터시스템이 지원하는 클러스터 포함 상태프로그래밍/분산처리 설계능력을 로컬로 수행함으로 고오급 설계 능력을 배양하는데 목적이있습니다.

이용 AI-TOOL

  • Claude Code

프롬프트 샘플

AgenticCoding/Projects는 여기서 구성된 프롬프트에의해 생성된 프로젝트로 참고할수 있으며 프롬프트를 참고해 다양한 지침을 생성한후 다양한 액터시스템을 구현에 도전할수 있습니다. 샘플코드의 생성순서는 난이도에 따른 학습순서와 무관하게 작성되고 있으나~ CRUD가 일반적으로 잘하지 못하는 영역의 구현을 시도하고 있습니다.



검증된 프롬프트 목록 (학습 순서별)


현재 상위 경로에서 수행 - 난이도별 학습 경로

순번프롬프트난이도핵심 학습 목표
00SSE-PUSH 시스템⭐⭐Spring WebFlux + Actor 기본 패턴
01액터 동시성 처리Tell/Ask 패턴과 동시성 모델 비교
02LLM 토큰 제어⭐⭐⭐백프레셔와 Pekko Streams 활용
03액터 라우터⭐⭐6가지 라우팅 전략과 확장성
04액터 스트림⭐⭐⭐다양한 스트림 처리 기술 비교
05액터 스로틀⭐⭐⭐고급 백프레셔와 메시지 큐 관리
06Kafka 커넥터⭐⭐⭐⭐외부 시스템 통합과 이벤트 처리
07액터 영속성⭐⭐⭐⭐영속성과 상태 복원, 자원 관리
08Pekko HTTP 서버⭐⭐⭐⭐Pekko HTTP 서버와 순수 액터 시스템
09분산 영속성 클러스터⭐⭐⭐⭐⭐Cluster Sharding과 Durable State 통합
10이벤트 소싱 영속성⭐⭐⭐⭐⭐완전한 감사 추적과 상태 재구성을 갖춘 이벤트 소싱

참고: 액터모델은 자바(+코틀린)가 지원하는 다양한 동시성프로그래밍을 이해하며 이를 이용하기때문에, 동시성 처리 기본기는 중요합니다.



more : https://github.com/psmon/kopring-reactive-labs/blob/main/AgenticCoding/readme-kr.md