Đề 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
Đánh giá (7)
Chúng tôi viết một số đoạn mã bằng Go và học thêm về EDA như các sự kiện, khi nào và làm thế nào để sử dụng chúng.
Alin
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
Đó là một khóa học tương tác, không có thời gian để ngủ :)). Cũng rất thú vị khi làm việc nhóm và sau đó tranh luận dựa trên mỗi kết quả.
Alina
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
Tôi rất thích các cuộc thảo luận và các ví dụ được cung cấp để chúng tôi có thể tự mình đưa ra những kết luận mà anh ấy muốn chia sẻ với chúng tôi. Tôi thích tốc độ, cách sử dụng tiếng Anh, sự kiên nhẫn, rằng ngay cả khi chúng tôi không đưa ra câu trả lời tốt nhất, anh ấy cũng không nói đó là sai, mà chỉ đưa ra các ví dụ về những gì có thể tốt hơn.
Simona
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
Các cuộc thảo luận mở và tiến từ việc hiểu các vấn đề/lý do (cái `tại sao`) đến `EDA`.
Constantin
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
phương pháp trình bày dựa chủ yếu vào tương tác và ví dụ
Virgil
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
Tính tương tác của khóa học Phương pháp học tự khám phá nơi bạn tìm ra câu trả lời cho chính mình Chú trọng thực hành với các ví dụ từ cuộc sống thực tế, giúp các khái niệm trở nên gần gũi hơn
Roxana Sandu
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy
Rất tương tác. Người hướng dẫn rất knowledgeable và kiên nhẫn.
Robert
Khóa học - Event Driven Architecture Custom
Dịch thuật bằng máy