Course Outline

Day 1: Go의 이벤트 기반 아키텍처 기본

  • EDA 소개
    • 이벤트 기반 아키텍처란?
    • 모노리식, Microservices, 그리고 이벤트 기반 시스템 비교
    • Go의 동시성 모델과 가벼운 고루틴이 EDA에 이상적인 이유
  • 핵심 개념 및 이점
    • 기업 시스템에서의 디커플링, 확장성, 그리고 탄력성
    • 이벤트, 프로듀서, 소비자, 이벤트 브로커 정의
    • Go가 구동하는 고성능 이벤트 시스템의 실제 사례 및 사례 연구
  • CAP 정리 및 EDA에서의 타협점
    • 일관성, 가용성, 파티션 투호성 개요
    • EDA이 이러한 속성에 미치는 영향
    • Go-기반 시스템에서 일관성과 가용성을 균형 있게 유지하는 전략

Day 2: Go의 이벤트, 메시지 및 Communication 패턴

  • 이벤트 유형 이해하기
    • 도메인 이벤트와 통합 이벤트 비교
    • Go 애플리케이션에서 동기 및 비동기 이벤트
  • 실제 사용 사례의 메시징 패턴
    • Go에서 Publish-Subscribe (Pub/Sub) 개요
    • JSON, Protocol Buffers 또는 Avro를 사용하여 이벤트 페이로드 설계 및 구조화 방법
  • Go에서 이벤트 처리 구현하기
    • 인기 있는 Go 메시징 라이브러리와 프레임워크 개요
    • idiomatic EDA 패턴을 사용하여 이벤트 분배 및 처리 코드 예제
    • 실습: Go에서 간단한 이벤트 기반 서비스 구축하기

Day 3: Go의 메시징 시스템 및 이벤트 브로커

  • 이벤트 브로커 선택 및 통합하기
    • Apache Kafka, RabbitMQ, 그리고 NATS 등 인기 있는 브로커 개요
    • Go-기반 시스템을 위한 사용 사례와 베스트 프랙티스 비교
  • 메시징 인프라 설정하기
    • Kafka, RabbitMQ, 또는 NATS를 위한 Docker Compose 설정
    • 토픽, 교환, 큐 및 채널 구성하기
    • Go 클라이언트 라이브러리 개요
  • 실습 세션
    • Go 마이크로서비스를 구축하여 이벤트 생성 및 소비하기
    • 서비스와 선택한 이벤트 브로커 통합하기
    • 이벤트 흐름 디버깅 및 테스트하기

Day 4: Go EDA의 배포, 모니터링 및 고급 주제

  • Kubernetes에서 Go 이벤트 기반 애플리케이션 배포하기
    • 생산을 위한 Go 애플리케이션 컨테이너화하기
    • Kubernetes 클러스터에서 Kafka (또는 다른 브로커) 배포하기
    • KEDA (Kubernetes 이벤트 기반 자동 확장)을 통한 이벤트 소비자 확장 소개
  • 오류 처리 및 모니터링
    • 이벤트 실패 처리 전략
    • Go 서비스에서 관찰성 구현하기
  • 고급 주제 및 Q&A
    • Go를 활용한 서버리스 이벤트 기반 아키텍처 탐색
    • 이벤트 안무와 오케스트레이션: 사용 사례 및 설계 고려사항
    • 일반적인 함정, 배운 점, 그리고 베스트 프랙티스
    • 오픈 Q&A 세션과 상호 작용형 문제 해결

 


Requirements

Go (Golang) 프로그래밍 기술, 동시성(goroutines, channels) 포함
소프트웨어 아키텍처(모노리스, 마이크로서비스)에 대한 기본 이해
Docker 및 Docker Compose에 익숙함
REST API와 네트워킹에 대한 기본 지식
CLI 도구와 Git 사용 경험
선택 사항: Kubernetes 및 메시징 시스템(Kafka, RabbitMQ, NATS)에 대한 노출
 
 28 Hours

Number of participants


Price per participant

회원 평가 (7)

Upcoming Courses

Related Categories