Liên hệ với chúng tôi

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

Ngày 1: Nền tảng của Kiến trúc định hướng sự kiện trong Go

  • Giới thiệu về EDA
    • What is Event-Driven Architecture? (Kiến trúc định hướng sự kiện là gì?)
    • So sánh Hệ thống Monolithic, Microservices và Định hướng Sự kiện
    • Mô hình song song của Go và các goroutines nhẹ nhàng làm cho nó trở thành lựa chọn lý tưởng cho EDA
  • Khái niệm cốt lõi & Lợi ích
    • Tách rời, khả năng mở rộng và tính ổn định 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à Máy chủ trung gian Sự kiện
    • Các ví dụ thực tế và nghiên cứu trường hợp nơi Go hỗ trợ các hệ thống sự kiện hiệu suất cao
  • Định lý CAP & Sự đánh đổi trong EDA
    • Tổng quan về Tính nhất quán, Khả dụng và Khoan dung phân vùng
    • Tác động của EDA đối với các thuộc tính này
    • Các chiến lược để cân bằng tính nhất quán và khả dụng trong các hệ thống dựa trên Go

Ngày 2: Sự kiện, Thông điệp và Mẫu giao tiếp trong Go

  • Hiểu các loại Sự kiện
    • Sự kiện miền (Domain Events) so với Sự kiện tích hợp (Integration Events)
    • Sự kiện đồng bộ so với Sự kiện bất đồng bộ trong các ứng dụng Go
  • Các mẫu thông điệp trong thực tế
    • Public-Subscribe (Pub/Sub) trong Go
    • Cách thiết kế và cấu trúc cá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 Go phổ biến cho thông điệp
    • Ví dụ mã: gửi và xử lý sự kiện sử dụng các mẫu Go chuẩn (idiomatic)
    • Phiên thực hành: Xây dựng một dịch vụ định hướng sự kiện đơn giản trong Go

Ngày 3: Hệ thống thông điệp & Máy chủ trung gian Sự kiện với Go

  • Lựa chọn và tích hợp Máy chủ trung gian Sự kiện
    • Tổng quan về các máy chủ trung gian phổ biến: Apache Kafka, RabbitMQ và NATS
    • So sánh các trường hợp sử dụng và các thực tiễn tốt nhất cho các hệ thống dựa trên Go
  • Thiết lập hạ tầng thông điệp
    • Cấu hình Docker Compose cho Kafka, RabbitMQ hoặc NATS
    • Cấu hình các chủ đề (topics), trao đổi (exchanges), hàng đợi (queues) và kênh (channels)
    • Tổng quan về các thư viện client Go
  • Workshop thực hành
    • Xây dựng một microservice Go mẫu tạo ra và tiêu thụ sự kiện
    • Tích hợp dịch vụ với máy chủ trung gian sự kiện được chọn
    • Chẩn đoán và kiểm tra luồng sự kiện

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

  • Triển khai các ứng dụng Go định hướng sự kiện trên Kubernetes
    • Container hóa các ứng dụng Go cho môi trường production
    • Triển khai Kafka (hoặc các máy chủ trung gian khác) trên các cụm Kubernetes
    • Giới thiệu về KEDA (Kubernetes Event-Driven Autoscaling) để mở rộng các người tiêu thụ sự kiện
  • Xử lý lỗi và Giám sát
    • Xử lý sự kiện thất bại với các chiến lược
    • Triển khai khả năng quan sát (observability) trong các dịch vụ Go
  • Các chủ đề nâng cao & Hỏi đáp
    • Khám phá các Kiến trúc định hướng sự kiện Serverless với Go
    • Choreography sự kiện so với Orchestration: Các 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 kinh nghiệm và các thực tiễn tốt nhất
    • Phiên hỏi đáp mở và gỡ lỗi 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ư monolith và microservices
  • Làm quen với Docker và Docker Compose
  • Kiến thức cơ bản về REST API và các khái niệm mạng
  • Kinh nghiệm với các công cụ dòng lệnh và Git
  • Tùy chọn nhưng hữu ích: Kinh nghiệm tiếp xúc trước đó với Kubernetes và các hệ thống thông điệp như Kafka, RabbitMQ hoặc NATS

Đối tượng tham gia

  • Lập trình viên Go xây dựng các ứng dụng định hướng sự kiện có khả năng mở rộng
  • Kỹ sư phần mềm chuyển đổi từ kiến trúc monolithic hoặc dựa trên REST sang các hệ thống bất đồng bộ
  • Kỹ sư DevOps và cloud làm việc với microservices được container hóa hoặc phân tán
  • Kiến trúc sư kỹ thuật và nhà thiết kế hệ thống khám phá các mẫu EDA bằng Go
 28 Giờ

Số người tham gia


Giá cho mỗi học viên

Đánh giá (7)

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

Các danh mục liên quan