Đề cương khóa học

Ngày 1: Cơ sở của kiến trúc dựa trên sự kiện trong Go

  • Giới thiệu về EDA
    • Cái gì là kiến trúc dựa trên sự kiện?
    • So sánh hệ thống Monolithic, Microservices, và dựa trên sự kiện
    • Làm thế nào mô hình đồng thời và goroutines nhẹ của Go làm cho nó lý tưởng cho EDA
  • Các khái niệm cơ bản & lợi ích
    • Giải耦、可扩展性和企业系统的弹性
    • 定义事件、生产者、消费者和事件代理
    • 现实世界的例子和案例研究,其中Go支持高性能事件系统
  • CAP 定理与 EDA 中的权衡
    • 一致性、可用性和分区容限概述
    • EDA 对这些属性的影响
    • 平衡基于Go系统的一致性和可用性的策略

Day 2: Events, Messages, và Communication Patterns trong Go

  • Hướng dẫn hiểu loại sự kiện
    • Sự kiện miền vs Sự kiện tích hợp
    • Sự kiện đồng bộ vs asynchrone trong các ứng dụng Go
  • Các mẫu tin nhắn trong thực hành
    • Phát hành-Đăng ký (Pub/Sub) trong Go
    • Làm thế nào để thiết kế và cấu trúc payload sự kiện bằng JSON, Protocol Buffers hoặc Avro trong Go
  • Triển khai Xử lý Sự kiện trong Go
    • Tổng quan về các thư viện và khuôn khổ phổ biến của Go cho tin nhắn
    • Ví dụ mã: phân phát và xử lý sự kiện bằng cách sử dụng mô hình tiêu chuẩn Go
    • Phiên thực hành tay: Xây dựng một dịch vụ dựa trên sự kiện đơn giản trong Go

Ngày 3: Hệ thống Tin nhắn và Event Brokers với Go

  • Lựa chọn và Tích hợp Event Brokers
    • Tổng quan về các broker phổ biến: Apache Kafka, RabbitMQ, và NATS
    • So sánh trường hợp sử dụng và thực hành tốt nhất cho hệ thống dựa trên Go
  • Cấu hình Cơ sở hạ tầng Tin nhắn
    • Docker Cài đặt Compose cho Kafka, RabbitMQ, hoặc NATS
    • Cấu hình các chủ đề, trao đổi, hàng đợi và kênh
    • Tổng quan về thư viện khách hàng của Go
  • Workshop Thực hành
    • Xây dựng một microservice mẫu Go tạo ra và tiêu thụ sự kiện
    • Tích hợp dịch vụ với event broker được chọn
    • Gỡ lỗi và kiểm thử luồng sự kiện

Ngày 4: Triển khai, Giám sát và Chủ đề Nâng cao trong Go EDA

  • Triển khai các ứng dụng dựa trên sự kiện của Go trên Kubernetes
    • Container hóa các ứng dụng Go cho sản xuất
    • Triển khai Kafka (hoặc các broker khác) trên các cụm Kubernetes
    • Sự giới thiệu về KEDA (Kubernetes Event-Driven Autoscaling) để mở rộng người tiêu dùng sự kiện
  • Xử lý lỗi và Giám sát
    • Xử lý sự cố sự kiện với các chiến lược
    • Triển khai khả năng quan sát trong các dịch vụ Go
  • Chủ đề Nâng cao & Hỏi đáp
    • Tìm hiểu về kiến trúc dựa trên sự kiện Serverless với Go
    • Điều phối Sự kiện vs Orchestration: Trường hợp sử dụng và xem xét thiết kế
    • Các vấn đề phổ biến, bài học đã học, và thực hành tốt nhất
    • Phiên hỏi đáp mở và khắc phục sự cố tương tác

 

Requirements

  • Thành thạo trong Go (Golang), bao gồm việc sử dụng goroutines và channels
  • Hiểu cơ bản về các mô hình kiến trúc phần mềm như monoliths và microservices
  • Thạo với Docker và Docker Compose
  • Kiến thức cơ bản về REST APIs và khái niệm mạng
  • Kinh nghiệm sử dụng công cụ dòng lệnh và Git
  • Tùy chọn nhưng hữu ích: tiếp xúc trước đó với Kubernetes và hệ thống nhắn tin như Kafka, RabbitMQ, hoặc NATS

Đối tượng tham gia

  • Các nhà phát triển Go xây dựng các ứng dụng có khả năng mở rộng và được điều khiển bởi sự kiện
  • Kỹ sư phần mềm chuyển từ kiến trúc dựa trên monolithic hoặc REST sang hệ thống đồng bộ không đồng bộ
  • Các nhà phát triển DevOps và kỹ sư đám mây làm việc với các microservices được chứa trong container hoặc phân tán
  • Nhà kiến trúc kỹ thuật và nhà thiết kế hệ thống đang khám phá các mẫu EDA sử dụng Go
 28 Hours

Number of participants


Price per participant

Testimonials (7)

Upcoming Courses

Related Categories