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

Ngày 1: Cơ sở của Kiến trúc Hướng sự kiện trong Go

  • Giới thiệu về EDA
    • Kiến trúc Hướng sự kiện là gì?
    • So sánh giữa các hệ thống Monolithic, Microservices và Hướng sự kiện
    • Cách mô hình đồng bộ Go và goroutines nhẹ nhàng làm cho nó lý tưởng cho EDA
  • Những khái niệm cốt lõi & Lợi ích
    • Cách tách biệt, khả năng mở rộng và độ tin cậy trong các hệ thống doanh nghiệp
    • Định nghĩa Sự kiện, Nhà sản xuất, Người tiêu thụ, và Broker sự kiện
    • Ví dụ thực tế và các nghiên cứu trường hợp về cách Go hỗ trợ các hệ thống sự kiện hiệu suất cao
  • Định lý CAP & Trade-offs trong EDA
    • Tổng quan về Độ nhất quán, Tính sẵn sàng và Khả năng chịu lỗi phân vùng
    • Tác động của EDA lên các tính chất này
    • Chiến lược cân bằng giữa độ nhất quán và tính sẵn sàng trong hệ thống dựa trên Go

Ngày 2: Sự kiện, Tin nhắn và Các mẫu giao tiếp trong Go

  • Hiểu các loại Sự kiện
    • Sự kiện Khu vực vs. Sự kiện Tích hợp
    • Sự kiện Đồng bộ vs. Sự kiện Không đồng bộ trong ứng dụng Go
  • Các mẫu thông điệp trong thực tế
    • Pub/Sub (Xuất bản-Đăng ký) trong Go
    • Cách thiết kế và cấu trúc payload sự kiện sử dụ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à framework phổ biến cho thông điệp trong Go
    • Ví dụ mã: phái sinh và xử lý sự kiện sử dụng mẫu Go phổ biến
    • Buổi thực hành hands-on: Xây dựng một dịch vụ hướng sự kiện đơn giản bằng Go

Ngày 3: Hệ thống Thông điệp & Broker Sự kiện với Go

  • Lựa chọn và Tích hợp Broker Sự kiện
    • Tổng quan về các broker phổ biến: Apache Kafka, RabbitMQ, và NATS
    • So sánh các trường hợp sử dụng và phương pháp tốt nhất cho hệ thống dựa trên Go
  • Cài đặt Hạ tầng Thông điệp
    • Cài đặt Docker Compose cho Kafka, RabbitMQ, hoặc NATS
    • Cấu hình các chủ đề, exchange, hàng đợi, và kênh
    • Tổng quan về thư viện client Go
  • Buổi thực hành hands-on
    • Xây dựng một dịch vụ microservice Go mẫu tạo ra và tiêu thụ sự kiện
    • Tích hợp dịch vụ với broker sự kiện được chọn
    • Debugging và kiểm thử các luồng sự kiện

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

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

Yêu cầu

  • Thành thạo Go (Golang), bao gồm việc sử dụng goroutines và channels
  • Hiểu biết cơ bản về các mô hình kiến trúc phần mềm như monoliths và microservices
  • Thạo Docker và Docker Compose
  • Hiểu biết cơ bản về REST APIs và các 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 có ích: đã tiếp xúc trước đó với Kubernetes và hệ thống thông điệp như Kafka, RabbitMQ, hoặc NATS

Đối tượng

  • Nhà phát triển Go xây dựng các ứng dụng có khả năng mở rộng và hướng sự kiện
  • Kỹ sư phần mềm chuyển đổi từ kiến trúc monolithic hoặc REST-based sang hệ thống đồng bộ
  • Kỹ sư DevOps và cloud làm việc với microservices containerized hoặc phân tán
  • Kiến trúc sư kỹ thuật và thiết kế hệ thống khám phá các mẫu EDA sử dụng Go
 28 Giờ học

Số người tham gia


Giá cho mỗi người tham gia

Đánh giá (7)

Các khóa học sắp tới

Các danh mục liên quan