성장을 꾸준히 기록하는 공간

고정 헤더 영역

글 제목

메뉴 레이어

성장을 꾸준히 기록하는 공간

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (108)
    • tech (28)
    • spring (14)
    • mysql (8)
    • kubernetes (12)
    • kafka (12)
    • windows (6)
    • project (26)
      • wargame (12)
      • resistance (5)
      • SIEMple (6)
      • Witch's Tower (3)

검색 레이어

성장을 꾸준히 기록하는 공간

검색 영역

컨텐츠 검색

ProActor

  • Proactor 기반 게임서버에서 Kafka를 IO Completion Port와 통합하기

    2025.09.11 by downfa11

  • 비동기 프로그래밍, 얼마나 알고 있나요? (Advanced Asynchronized)

    2025.02.11 by downfa11

Proactor 기반 게임서버에서 Kafka를 IO Completion Port와 통합하기

Reactor 환경에서는 Spring WebFlux와 Reactor-Kafka를 활용해 Kafka 메시지를 Flux 스트림으로 자연스럽게 처리하는 것이 익숙하다. 하지만 Proactor 환경에서는 Kafka를 어떻게 처리할까? 이번 글에서는 C++ 게임 서버에서 Kafka Consumer를 IOCP 이벤트 루프에 통합했던 경험을 공유한다. 1. OS가 어디까지 처리하는지에 따라서 구분한다.데이터가 소켓 버퍼에 수신되면 OS가 수신 이벤트를 전달(reactor)하거나, 나아가서 OS가 직접 IO 작업까지 하고 완료 결과를 통보(proactor)하여서 비동기적으로 IO 멀티플렉싱을 진행한다. 쉽게 설명해서 IO 멀티플렉싱은 읽을 데이터가 왔을때 작업하는 Reactor와 실제 작업이 완료되면 통보받는 Pro..

kafka 2025. 9. 11. 19:20

비동기 프로그래밍, 얼마나 알고 있나요? (Advanced Asynchronized)

이벤트 기반 IO 처리 방식의 비동기 설계 패턴으로 여러 방식이 존재하고, 비동기 작업을 관리하지만 그 방식이 상이하다. 비동기 방식의 구분 : 이벤트를 감지하는 주체가 누구인가?두 방식 모두 "-actor"로끝나며 행동하는 주체로서 행위자(actor)를 의미한다. 따라서 어떤 방식으로 행동하는지를 나타낸다고 볼 수 있다. Reactor : IO 이벤트가 발생하면 직접 반응(React)하여 실행Proactor : 미리, 앞서서(Pro) + IO 작업을 요청해두고, 완료되면 OS가 자동으로 실행 1. Reactor 패턴I/O 이벤트가 발생하면 핸들러(Callback)를 등록해 두고, 이벤트가 발생하면 이를 처리하는 방식 동작 방식애플리케이션이 비동기 작업을 요청하고, 처리할 핸들러(콜백)를 등록I/O 멀티..

tech 2025. 2. 11. 18:37

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
성장을 꾸준히 기록하는 공간 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바