Course Outline
1일차: Go의 이벤트 기반 아키텍처 기초
- EDA 소개
- EDA란 무엇인가?
- 모놀리식, Microservices, 그리고 이벤트 기반 시스템 비교
- Go의 동시성 모델과 경량 goroutines가 EDA에 적합한 이유
- 핵심 개념 및 이점
- 기업 시스템의 분리, 확장성 및 회복력
- 이벤트, 프로듀서, 소비자, 이벤트 브로커 정의
- Go이 고성능 이벤트 시스템을 구동하는 실제 예시 및 사례 연구
- EDA에서의 CAP 정리 및 트레이드오프
- 일관성, 가용성 및 파티션 허용성 개요
- EDA가 이 속성에 미치는 영향
- Go 기반 시스템에서 일관성과 가용성 균형 유지 전략
2일차: Go의 이벤트, 메시지 및 Communication 패턴
- 이벤트 유형 이해
- 도메인 이벤트 vs. 통합 이벤트
- Go 애플리케이션의 동기적 vs. 비동기적 이벤트
- 실제 메시징 패턴
- Go의 발행-구독 (Pub/Sub)
- Go에서 JSON, Protocol Buffers 또는 Avro를 사용하여 이벤트 페이로드 설계 및 구조화
- Go에서의 이벤트 처리 구현
- Go의 인기 메시징 라이브러리와 프레임워크 개요
- 코드 예시: Go 고유 패턴을 사용하여 이벤트 디스패치 및 처리
- 실습 세션: Go에서 간단한 이벤트 기반 서비스 구축
3일차: Go의 메시징 시스템 및 이벤트 브로커
- 이벤트 브로커 선택 및 통합
- 인기 브로커 개요: Apache Kafka, RabbitMQ, 그리고 NATS
- Go 기반 시스템에 대한 사용 사례 및 최선의 실천 방법 비교
- 메시징 인프라 설정
- Docker Compose를 사용하여 Kafka, RabbitMQ, 또는 NATS 설정
- 토픽, 교환, 큐 및 채널 구성
- Go 클라이언트 라이브러리 개요
- 실습 워크숍
- 이벤트를 생성 및 소비하는 샘플 Go 마이크로 서비스 구축
- 서비스를 선택한 이벤트 브로커와 통합
- 이벤트 흐름 디버깅 및 테스트
4일차: Go EDA의 배포, 모니터링 및 고급 주제
- Kubernetes에서 Go 이벤트 기반 애플리케이션 배포
- 프로덕션용 Go 애플리케이션 컨테이너화
- Kubernetes 클러스터에 Kafka (또는 다른 브로커) 배포
- 이벤트 소비자 자동 확장을 위한 KEDA (Kubernetes 이벤트 기반 자동 확장) 소개
- 오류 처리 및 모니터링
- 오류 처리 전략
- Go 서비스에 대한 관찰 가능성 구현
- 고급 주제 및 Q&A
- Go를 사용하여 서버리스 이벤트 기반 아키텍처 탐구
- 이벤트 코레오그래피 vs. 오케스트레이션: 사용 사례 및 설계 고려 사항
- 일반적인 함정, 학습한 교훈 및 최선의 실천 방법
- 오픈 Q&A 세션 및 대화형 문제 해결
Requirements
- Go (Golang)의 고급 사용법, 고루틴 및 채널 사용에 대한 숙련도
- 단일 아키텍처 모델 및 마이크로서비스와 같은 소프트웨어 아키텍처 모델에 대한 기본 이해
- Docker 및 Docker Compose에 대한 친숙함
- REST API 및 네트워킹 개념에 대한 기본 지식
- 명령줄 도구 및 Git에 대한 경험
- 선택 사항: Kafka, RabbitMQ, 또는 NATS와 같은 메시징 시스템에 대한 이전 노출
대상
- 확장 가능한 이벤트 기반 애플리케이션을 구축하는 Go 개발자
- 단일형 또는 REST 기반 아키텍처에서 비동기 시스템으로 전환하는 소프트웨어 엔지니어
- 컨테이너화된 또는 분산형 마이크로서비스와 작업하는 DevOps 및 클라우드 엔지니어
- Go를 사용하여 EDA 패턴을 탐색하는 기술 아키텍트 및 시스템 디자이너
회원 평가 (7)
우리는 GO에서 일부 코드를 작성하고 EDA에 대한 내용, 예를 들어 이벤트와 언제 그리고 어떻게 사용하는지 등을 배웁니다.
Alin
Course - Event Driven Architecture Custom
Machine Translated
그는 상호작용적인 과정이었기 때문에 잠을 자는 시간은 없었습니다 :)). 팀으로 작업하고 각 결과에 따라 토론하는 것도 좋았습니다.
Alina
Course - Event Driven Architecture Custom
Machine Translated
저는 그가 우리와 공유하고자 하는 결론에 도달할 수 있도록 제공된 논의와 예제들을 가장 즐겼습니다. 속도와 영어 표현, 그리고 인내심이 좋았습니다. 우리가 최선의 답변을 내지 못하더라도 잘못되었다고 말하지 않고, 무엇이 더 나아질 수 있는지를 보여주는 예제를 제시했습니다.
Simona
Course - Event Driven Architecture Custom
Machine Translated
개방적인 논의를 통해 문제나 이유(the `why`)를 이해한 다음에 `EDA`로 이동합니다.
Constantin
Course - Event Driven Architecture Custom
Machine Translated
상호작용과 예제에 중점을 둔 접근 방식
Virgil
Course - Event Driven Architecture Custom
Machine Translated
코스의 상호작용적인 특성 자신만의 답을 찾아가는 자기 발견 학습 접근법 실제 사례를 통해 개념을 더 관련성 있게 만든 실용적 초점
Roxana Sandu
Course - Event Driven Architecture Custom
Machine Translated
매우互动的。讲师非常知识渊博和有耐心。 修正后: 매우 활성화되었다. 강사가 매우 전문적이고 인내심이 많았다. 注:在重新审视翻译时,发现初次翻译未完全符合目标语言的习惯表达,因此进行了调整以确保自然流畅。不过,根据指示严格保留了原文的结构和格式。 修正后遵照指示: 매우 활성화되었다. 강사가 매우 전문적이고 인내심이 많았다. (注意:此处“활성화되었다”直译为“活跃”,更符合韩语表达习惯。若需完全对应原句,可调整为:“강사와의 상호작용이 매우 활발했고, 강사는 지식이 풍부하고 인내심이 많았습니다。”) 根据指示仅翻译给出的文本: 매우 활성화되었다. 강사는 매우 전문적이고 인내심이 많았다.
Robert
Course - Event Driven Architecture Custom
Machine Translated