코스 개요
1일차: Go에서의 이벤트 기반 아키텍처 기초
- EDA 소개
- 이벤트 기반 아키텍처란 무엇인가?
- 모놀리스, 마이크로서비스, 이벤트 기반 시스템 비교
- Go의 동시성 모델과 경량 goroutine이 EDA에 이상적인 이유
- 핵심 개념 및 이점
- 엔터프라이즈 시스템에서의 결합 제거, 확장성 및 회복력
- 이벤트, 프로듀서, 컨슈머 및 이벤트 브로커 정의
- Go가 고성능 이벤트 시스템을 구동하는 실제 예시 및 사례 연구
- CAP 정리 및 EDA에서의 트레이드오프
- 일관성, 가용성, 파티션 내성 개요
- EDA가 이러한 속성에 미치는 영향
- Go 기반 시스템에서 일관성과 가용성을 균형시키는 전략
2일차: Go에서의 이벤트, 메시지 및 통신 패턴
- 이벤트 유형 이해
- 도메인 이벤트 vs 통합 이벤트
- Go 애플리케이션에서의 동기식 vs 비동기식 이벤트
- 실무에서의 메시징 패턴
- Go에서의 Publish-Subscribe(Pub/Sub)
- Go에서 JSON, Protocol Buffers 또는 Avro를 사용하여 이벤트 페이로드 설계 및 구조화 방법
- Go에서 이벤트 처리 구현
- 메시징을 위한 인기 있는 Go 라이브러리 및 프레임워크 개요
- 코드 예시: 아이오딕 Go 패턴을 사용하여 이벤트 배포 및 처리
- 실습 세션: Go에서 간단한 이벤트 기반 서비스 구축
3일차: Go와 함께하는 메시징 시스템 및 이벤트 브로커
- 이벤트 브로커 선택 및 통합
- 인기 있는 브로커 개요: Apache Kafka, RabbitMQ, NATS
- Go 기반 시스템을 위한 사용 사례 및 모범 사례 비교
- 메시징 인프라 설정
- Kafka, RabbitMQ 또는 NATS를 위한 Docker Compose 설정
- 토픽, 교환(exchanges), 큐, 채널 구성
- Go 클라이언트 라이브러리 개요
- 실습 워크숍
- 이벤트를 생성하고 소비하는 샘플 Go 마이크로서비스 구축
- 해당 서비스를 선택된 이벤트 브로커와 통합
- 이벤트 플로우 디버깅 및 테스트
4일차: Go EDA 배포, 모니터링 및 고급 주제
- Kubernetes에서 Go 이벤트 기반 애플리케이션 배포
- 프로덕션을 위한 Go 애플리케이션 컨테이너화
- Kubernetes 클러스터에서 Kafka(또는 다른 브로커) 배포
- 이벤트 컨슈머 확장을 위한 KEDA(Kubernetes Event-Driven Autoscaling) 소개
- 오류 처리 및 모니터링
- 전략을 통한 이벤트 실패 처리
- Go 서비스에서 관측가능성(observability) 구현
- 고급 주제 및 Q&A
- Go를 사용한 서버리스 이벤트 기반 아키텍처 탐색
- 이벤트 조율(Choreography) vs 오케스트레이션(Orchestration): 사용 사례 및 설계 고려 사항
- 흔한 함정, 교훈 및 모범 사례
- 개방형 Q&A 세션 및 인터랙티브 문제 해결
요건
- Goroutines과 channels의 사용을 포함하여 Go(Golang)에 대한 숙련도
- 모놀리스와 마이크로서비스와 같은 소프트웨어 아키텍처 모델에 대한 기본 이해
- Docker와 Docker Compose에 대한 익숙함
- REST API와 네트워킹 개념에 대한 기본 지식
- 명령줄 도구와 Git 사용 경험
- 선택 사항이지만 도움이 되는 것: Kubernetes와 Kafka, RabbitMQ, NATS와 같은 메시징 시스템의 사전 경험
대상 독자
- 확장 가능한 이벤트 기반 애플리케이션을 구축하는 Go 개발자
- 모놀리스 또는 REST 기반 아키텍처에서 비동기 시스템으로 전환 중인 소프트웨어 엔지니어
- 컨테이너화 또는 분산 마이크로서비스와 함께 작업하는 DevOps 및 클라우드 엔지니어
- Go를 사용하여 EDA 패턴을 탐색하는 기술 아키텍트 및 시스템 디자이너
회원 평가 (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
기계 번역됨