연락처 정보

코스 개요

1일차: Go를 활용한 이벤트 기반 아키텍처의 기초

  • EDA 개요
    • 이벤트 기반 아키텍처란 무엇인가?
    • 모놀리식, 마이크로서비스 및 이벤트 기반 시스템 간의 비교
    • Go의 동시성 모델과 경량 고루틴이 EDA 구현에 어떻게 적합한지
  • 핵심 개념 및 장점
    • 기업 환경에서의 결합도 감소, 확장성 및 시스템 강인성 확보 방법
    • 이벤트, 생성자, 소비자, 이벤트 브로커 등의 정의
    • 고성능 이벤트 처리 시스템을 구현하는 Go 활용 사례와 실제 사례 분석
  • CAP 정리 및 EDA에서의 트레이드오프
    • 일관성, 가용성, 분할 허용성에 대한 개념 설명
    • 이벤트 기반 아키텍처가 이러한 속성들에 미치는 영향
    • Go 기반 시스템에서 일관성과 가용성을 균형 있게 유지하는 전략

2일차: Go 애플리케이션 내 이벤트와 메시징 패턴 이해하기

  • 이벤트 유형 파악
    • 도메인 이벤트와 통합 이벤트의 차이점
    • Go 애플리케이션에서 동기식과 비동기식 이벤트의 활용 구분
  • 실제 적용 시 메시징 패턴 익히기
    • Go 환경에서 Publish-Subscribe(Pub/Sub) 방식 구현하기
    • JSON, Protocol Buffers 또는 Avro 형식을 활용해 Go 애플리케이션에서 이벤트 데이터를 어떻게 구성할지 배우기
  • Go로 이벤트 처리 구현하기
    • 메시징을 지원하는 Go 라이브러리 및 프레임워크 소개
    • Go의 관용적인 패턴을 활용해 이벤트를 전송하고 처리하는 코드 예제 설명
    • 실습: 간단한 Go 기반 이벤트 처리 서비스 만들어보기

3일차: Kafka, RabbitMQ, NATS 등 이벤트 브로커와 Go 연동하기

  • 적합한 이벤트 브로커 선정 및 통합 방법
    • Apache Kafka, RabbitMQ, NATS 등 대표적인 메시징 플랫폼 간 비교 설명
    • Go 기반 시스템에서 각각의 사용 사례와 최선의 활용 방안 탐구
  • 메시징 인프라 구축 과정
    • Docker Compose를 이용한 Kafka, RabbitMQ 또는 NATS 환경 설치하기
    • 토픽, 익스체인지, 큐 및 채널 등의 구성 방법 알아보기
    • Go 클라이언트 라이브러리 소개 및 사용법 간략히 살펴보기
  • 실습 워크숍
    • 이벤트를 생성하고 소비하는 Go 기반 마이크로서비스 예제 구현하기
    • 선택한 이벤트 브로커와 해당 서비스 연동 실습
    • 메시징 흐름의 디버깅 및 테스트 방법 탐구

4일차: Go 기반 EDA 시스템 배포, 모니터링 및 고급 주제 탐구

  • Kubernetes에서 Go 이벤트 기반 애플리케이션 배포하기
    • 운영 환경용 Go 애플리케이션 컨테이너화 방법
    • Kubernetes 클러스터 내에서 Kafka(또는 기타 브로커) 설치 및 운영 절차
    • 이벤트 소비자를 자동으로 확장해주는 KEDA(Kubernetes Event-Driven Autoscaling) 간단히 살펴보기
  • 오류 처리 및 모니터링 전략
    • 이벤트 처리 시 발생할 수 있는 오류에 대처하는 기법 적용하기
    • Go 서비스의 가시성(observability)을 확보하기 위한 모니터링 체계 구축 방법
  • 고급 주제 및 질의응답 시간
    • Go를 활용한 서버리스 이벤트 기반 아키텍처 개념 탐구하기
    • 이벤트 오케스트레이션과 코레오그래피: 각각의 사용 시나리오와 설계 포인트 이해하기
    • 일반적으로 발생하는 문제점, 학습한 교훈 및 모범 사례 공유하기
    • 질문과 응답 시간: 참가자들과 함께 실제 이슈 해결 시도하기

요건

  • Go(Golang)에 대한 기본 이해와 함께 고루틴(goroutine) 및 채널(channel) 활용 능력
  • 모놀리식 아키텍처나 마이크로서비스와 같은 소프트웨어 설계 방식에 대한 기초 지식
  • Docker 및 Docker Compose 사용 경험
  • REST API 및 네트워크 관련 개념에 대한 이해도
  • 커맨드라인 툴 사용 및 Git 활용 경험
  • 선택 사항이지만 도움이 됨: Kubernetes와 Kafka, RabbitMQ, NATS 등 메시징 시스템에 대한 이전 경험

수강 대상

  • 확장성이 뛰어난 이벤트 기반 애플리케이션을 개발하는 Go 개발자
  • 모놀리식 아키텍처나 REST 방식의 시스템에서 비동기 처리 중심의 아키텍처로 전환하려는 소프트웨어 엔지니어
  • 컨테이너화되거나 분산된 형태의 마이크로서비스 환경을 다루는 DevOps 및 클라우드 엔지니어
  • Go를 활용해 이벤트 기반 아키텍처 패턴을 연구하고 설계하는 기술 아키텍트 및 시스템 디자이너
 28 시간

참가자 수


참가자별 가격

회원 평가 (7)

예정된 코스

관련 카테고리