Đề 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
    • Kiến trúc dựa trên sự kiện là gì?
    • Sự so sánh giữa hệ thống Monolithic, Microservices, và kiến trúc 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ó trở nên lý tưởng cho EDA
  • Những Khái niệm Cơ bản & Lợi ích
    • Tách rời, khả năng mở rộng và độ tin cậy trong hệ thống doanh nghiệp
    • Định nghĩa Sự kiện, Nhà sản xuất, Người tiêu thụ và Trung gian Sự kiện
    • Ví dụ thực tế và các nghiên cứu điển hình nơi Go tạo động lực cho các hệ thống sự kiện hiệu suất cao
  • Định lý CAP & Các Trade-offs trong EDA
    • Tổng quan về tính nhất quán, khả năng sẵn sàng và dung sai phân vùng
    • Tác động của EDA đối với các thuộc tính này
    • Chiến lược để cân bằng giữa độ nhất quán và khả năng sẵn sàng trong hệ thống dựa trên Go

Ngày 2: Sự kiện, Tin nhắn và Mẫu Communication trong Go

  • Hiểu về Loại Sự kiện
    • Sự kiện miền so với sự kiện tích hợp
    • Sự kiện đồng bộ và bất đồng bộ trong các ứng dụng Go
  • Các Mẫu Tin nhắn Trong Thực Hành
    • Xuất bản-Đăng ký (Pub/Sub) trong Go 
    • Làm thế nào để thiết kế và cấu trúc nội dung 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à khung làm việc 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 mẫu chuẩn mực của Go
    • Phần thực hành: 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 & Trung gian Sự kiện với Go

  • Lựa chọn và Tích hợp Trung gian Sự kiện
    • Tổng quan về các trung gian phổ biến: Apache Kafka, RabbitMQ và NATS
    • Sự so sánh giữa 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ài Đặt Cơ sở Hạ tầng Tin nhắn
    • Thiết lập Compose cho Kafka, RabbitMQ hoặc NATS
    • Cấu hình chủ đề, trao đổi, hàng đợi và kênh
    • Tổng quan về các thư viện khách của Go
  • Phần Thực Hành
    • Xây dựng một dịch vụ microservice mẫu trong Go tạo ra và tiêu thụ sự kiện
    • Tích hợp dịch vụ với trung gian sự kiện được chọn
    • Phân tích và kiểm thử 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 dựa trên sự kiện của Go trên Kubernetes
    • Chứa các ứng dụng Go cho sản xuất
    • Triển khai Kafka (hoặc các trung gian khác) trên cụm Kubernetes
    • Mở đầu về KEDA (Kubernetes Tự động mở rộng dựa trên sự kiện) để 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 các dịch vụ Go
  • Các 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
    • Choreography Sự kiện so với Orchestration: Trường hợp sử dụng và xem xét thiết kế
    • Các lỗi phổ biến, bài học đã học và thực hành tốt nhất
    • Buổi hỏi đáp mở và khắc phục sự cố tương tác

 


Requirements

Go (Golang) kỹ năng lập trình, bao gồm đồng thời (goroutines, channels)
Hiểu biết cơ bản về kiến trúc phần mềm (monoliths, microservices)
Quen thuộc với Docker và Docker Compose
Hiểu biết cơ bản về REST APIs và mạng lưới
Kinh nghiệm sử dụng công cụ CLI và Git
Tùy chọn: Tiếp xúc với Kubernetes và hệ thống nhắn tin (Kafka, RabbitMQ, NATS)
 
 28 Hours

Number of participants


Price per participant

Testimonials (7)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories