코스 개요
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를 활용해 이벤트 기반 아키텍처 패턴을 연구하고 설계하는 기술 아키텍트 및 시스템 디자이너
회원 평가 (7)
우리는 Go로 몇 가지 코드를 작성하고, EDA와 관련된 이벤트, 언제 그리고 어떻게 사용하는지에 대해 배웁니다.
Alin
코스 - Event Driven Architecture Custom
기계 번역됨
대화형 강좌였으며, 잠을 자는 시간이 없었어요 :)). 또한 팀으로 일하고 각 결과에 따라 토론하는 것이 즐거웠습니다.
Alina
코스 - Event Driven Architecture Custom
기계 번역됨
그룹 토론과 예시가 잘 제공되어 스스로 결론에 도달할 수 있어 좋았습니다. 진행 속도, 영어 사용, 인내심이 마음에 들었습니다. 우리가 최선의 답변을 하지 못해도 그 답이 틀렸다고 말하지 않고, 더 나은 방법을 예시로 제시해주었습니다.
Simona
코스 - Event Driven Architecture Custom
기계 번역됨
공개 토론과 문제나 이유(즉, `왜`)를 이해하는 단계에서 `EDA`로의 진행.
Constantin
코스 - Event Driven Architecture Custom
기계 번역됨
상호작용과 예시에 중점을 둔 내용 전달 방식
Virgil
코스 - Event Driven Architecture Custom
기계 번역됨
이 과정의 상호작용적인 성격 자신 스스로 답을 찾는 자기 발견 학습 접근 방식 실제 life 예를 통해 개념을 더 친근하게 만든 실용적인 초점
Roxana Sandu
코스 - Event Driven Architecture Custom
기계 번역됨
매우 상호작용이 좋았습니다. 트레이너가 매우 유식하고 인내심이 있었습니다.
Robert
코스 - Event Driven Architecture Custom
기계 번역됨