Làm chủ Hệ thống Hướng sự kiện với Golang & Kafka: Xây dựng Microservices có khả năng mở rộng

Làm chủ việc xây dựng các ứng dụng hướng sự kiện (event-driven), có khả năng mở rộng và chịu lỗi bằng cách sử dụng Go và Apache Kafka. Tìm hiểu kiến trúc hệ thống phân tán sẵn sàng cho sản xuất được các công ty hiện đại sử dụng cho microservices, nền tảng tài chính và phân tích thời gian thực. Tích lũy kinh nghiệm thực tế với các thành phần của Kafka và các mô hình đồng thời (concurrency patterns) trong Go để xử lý khối lượng công việc thông lượng cao.

4 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Go
Go
Reactive Programming
Reactive Programming
Kafka
Kafka
MSA
MSA
system-design
system-design
Go
Go
Reactive Programming
Reactive Programming
Kafka
Kafka
MSA
MSA
system-design
system-design

Bạn sẽ nhận được điều này sau khi học.

  • Thiết kế và triển khai các hệ thống phân tán sẵn sàng cho môi trường vận hành thực tế bằng cách sử dụng Apache Kafka và Go

  • Làm chủ các mô hình đồng thời trong Go bao gồm goroutines, channels và worker pools để xử lý thông lượng cao

  • Xây dựng các kiến trúc hướng sự kiện có khả năng chịu lỗi với Kafka broker, partition và consumer group

Mô tả khóa học

Các hệ thống phần mềm hiện đại đòi hỏi tốc độ, khả năng mở rộng, khả năng phục hồi và năng lực xử lý hàng triệu sự kiện trong thời gian thực. Các ứng dụng nguyên khối truyền thống thường gặp khó khăn trong việc đáp ứng những yêu cầu này, khiến kiến trúc hướng sự kiện và nhắn tin phân tán trở thành những kỹ năng thiết yếu đối với các nhà phát triển backend ngày nay. Khóa học toàn diện này dạy bạn cách xây dựng các hệ thống phân tán sẵn sàng cho môi trường thực tế bằng cách sử dụng Golang và Apache Kafka, hai trong số những công nghệ mạnh mẽ nhất được các tổ chức trên toàn thế giới tin dùng.

Cho dù bạn đang phát triển các nền tảng tài chính, hệ thống thương mại điện tử, ứng dụng IoT, dịch vụ cloud-native, nền tảng logistics, giải pháp truyền phát trực tuyến (streaming) hay các vi dịch vụ doanh nghiệp, khóa học này sẽ cung cấp những kiến thức thực tế cần thiết để xây dựng các ứng dụng backend đáng tin cậy, hiệu suất cao và có khả năng mở rộng theo nhu cầu ngày càng tăng của doanh nghiệp.

Khác với các khóa học chỉ giới thiệu các câu lệnh Kafka hoặc trình diễn các ví dụ nhắn tin đơn giản, lớp học chuyên sâu (masterclass) này tập trung vào việc thiết kế các hệ thống hoàn chỉnh ở cấp độ doanh nghiệp. Bạn sẽ không chỉ học cách Kafka vận hành, mà còn hiểu tại sao kiến trúc hướng sự kiện (event-driven architecture) đã trở thành nền tảng của kỹ thuật phần mềm hiện đại và cách triển khai các khái niệm này bằng mã nguồn Go sạch sẽ, dễ bảo trì.

Khóa học bắt đầu bằng việc thiết lập sự hiểu biết vững chắc về các hệ thống phân tán, các mô hình nhắn tin (messaging patterns), giao tiếp bất đồng bộ và những thách thức mà các nhà phát triển phải đối mặt khi xây dựng ứng dụng trên nhiều dịch vụ. Bạn sẽ khám phá cách Apache Kafka giải quyết những vấn đề này thông qua truyền phát sự kiện bền bỉ (durable event streaming), phân vùng (partitioning), sao chép (replication), nhóm người tiêu dùng (consumer groups) và nhắn tin có khả năng chịu lỗi (fault-tolerant messaging).

Trong quá trình tiến triển, bạn sẽ xây dựng các ứng dụng mạnh mẽ với Golang đồng thời làm chủ mô hình đồng hình (concurrency model) mạnh mẽ của ngôn ngữ này. Bạn sẽ sử dụng goroutines, channels, worker pools, các nguyên ngữ đồng bộ hóa (synchronization primitives) và quản lý bộ nhớ hiệu quả để tạo ra các ứng dụng có khả năng xử lý hàng nghìn sự kiện đồng thời với hiệu suất và độ tin cậy tuyệt vời.

Thông qua quá trình phát triển thực tế, bạn sẽ xây dựng các dự án hoàn chỉnh mô phỏng môi trường kinh doanh thực tế. Các dự án này bao gồm API hướng sự kiện, hệ thống quản lý đơn hàng, dịch vụ đồng bộ hóa kho hàng, luồng xử lý thanh toán, nền tảng thông báo, hệ thống tổng hợp nhật ký, phân tích dữ liệu luồng, xử lý tác vụ chạy ngầm và hàng đợi công việc phân tán. Mỗi dự án sẽ trình diễn cách nhiều microservices giao tiếp hiệu quả thông qua Kafka trong khi vẫn duy trì tính lỏng lẻo (loosely coupled) và khả năng mở rộng độc lập.

Khóa học này vượt xa các khái niệm cơ bản về producer và consumer. Bạn sẽ được khám phá các khái niệm Kafka nâng cao như partition, chiến lược sao chép (replication), cân bằng nhóm consumer, quản lý offset, đảm bảo phân phát tin nhắn, chính sách thử lại (retry), hàng đợi thư rác (dead-letter queues), thứ tự tin nhắn, idempotent producer, tiến hóa schema, đánh phiên bản sự kiện, xử lý luồng (stream processing) và các kiến trúc có tính sẵn sàng cao. Đây chính là những khái niệm được sử dụng trong các hệ thống doanh nghiệp vốn phải duy trì hoạt động dưới lưu lượng truy cập lớn và các lỗi không mong muốn.

Quan trọng không kém, bạn sẽ học cách cấu trúc các ứng dụng Go chuyên nghiệp bằng cách sử dụng các nguyên tắc kiến trúc sạch (clean architecture), thiết kế mô-đun, tiêm phụ thuộc (dependency injection), quản lý cấu hình, triển khai dựa trên môi trường, ghi nhật ký (logging), xử lý lỗi và kiểm thử tự động. Những phương pháp này giúp ứng dụng của bạn dễ bảo trì, mở rộng và triển khai hơn trong suốt vòng đời của chúng.

Bạn cũng sẽ khám phá cách tích hợp Kafka vào quy trình phát triển cloud-native hiện đại bằng cách sử dụng Docker container, môi trường đa dịch vụ, API gateway, dịch vụ RESTful, công cụ giám sát và đường ống triển khai (deployment pipelines). Khóa học trình bày các kỹ thuật gỡ lỗi thực tế, tối ưu hóa hiệu suất, kiểm thử tải và khả năng quan sát (observability) để bạn có thể tự tin chẩn đoán và cải thiện các ứng dụng phân tán đang chạy trong môi trường thực tế.

Xuyên suốt quá trình đào tạo, bạn sẽ hiểu sâu hơn về các quyết định kiến trúc đằng sau những hệ thống có khả năng mở rộng. Thay vì chỉ sao chép mã nguồn, bạn sẽ hiểu tại sao các mô hình nhắn tin (messaging patterns) cụ thể được lựa chọn, khi nào nên sử dụng giao tiếp bất đồng bộ, cách giảm thiểu sự phụ thuộc giữa các dịch vụ và cách thiết kế các ứng dụng vẫn tiếp tục hoạt động ngay cả khi các thành phần riêng lẻ gặp sự cố.


Những gì bạn sẽ học

Phần (1): Golang

Trong quá trình tiến bộ, bạn sẽ xây dựng các ứng dụng mạnh mẽ với Golang đồng thời làm chủ mô hình đồng thời (concurrency model) mạnh mẽ của ngôn ngữ này. Bạn sẽ sử dụng goroutines, channels, worker pools, các nguyên ngữ đồng bộ hóa (synchronization primitives) và quản lý bộ nhớ hiệu quả để tạo ra các ứng dụng có khả năng xử lý hàng nghìn sự kiện đồng thời với hiệu suất và độ tin cậy tuyệt vời.

Phần (2): Kafka

Thông qua việc phát triển thực hành, bạn sẽ xây dựng các dự án hoàn chỉnh mô phỏng môi trường kinh doanh thực tế. Các dự án này bao gồm API hướng sự kiện, hệ thống quản lý đơn hàng, dịch vụ đồng bộ hóa kho hàng, luồng xử lý thanh toán, nền tảng thông báo, hệ thống tổng hợp nhật ký, phân tích dữ liệu luồng, xử lý tác vụ chạy ngầm và hàng đợi công việc phân tán. Mỗi dự án sẽ trình diễn cách nhiều microservices giao tiếp hiệu quả thông qua Kafka trong khi vẫn duy trì tính liên kết lỏng lẻo và khả năng mở rộng độc lập.

Trước khi bạn đăng ký

Điều thực sự làm nên sự khác biệt của lớp học chuyên sâu này chính là sự chú trọng vào kỹ thuật thực tế thay vì các đoạn mã mẫu riêng lẻ. Mọi khái niệm đều được củng cố thông qua các dự án hoàn chỉnh, các cuộc thảo luận về kiến trúc, các phương pháp hay nhất trong sản xuất và các kỹ thuật triển khai thực tế. Bằng cách hoàn thành khóa học, bạn sẽ không chỉ hiểu riêng lẻ về Golang và Kafka—bạn sẽ biết cách kết hợp chúng để xây dựng các hệ thống có khả năng phục hồi, có thể mở rộng và đạt tiêu chuẩn doanh nghiệp, phản ánh các công nghệ và mô hình thiết kế được sử dụng bởi các công ty phần mềm hàng đầu hiện nay.

Sau khi kết thúc khóa học này, bạn sẽ có thể thiết kế, phát triển, kiểm thử và triển khai các hệ thống phân tán chất lượng doanh nghiệp được vận hành bởi Golang và Apache Kafka. Bạn sẽ tự tin xây dựng các microservices có khả năng mở rộng, tạo ra các đường ống xử lý sự kiện (event-processing pipelines) đáng tin cậy, triển khai các kiến trúc nhắn tin có tính phục hồi cao, tối ưu hóa hiệu suất hệ thống và phát triển các ứng dụng thời gian thực đáp ứng nhu cầu của các doanh nghiệp hiện đại.

Khóa học này lý tưởng cho các nhà phát triển Go, kỹ sư backend, kiến trúc sư phần mềm, nhà phát triển đám mây, chuyên gia DevOps, nhà phát triển microservices, cố vấn kỹ thuật và sinh viên khoa học máy tính muốn có kinh nghiệm thực tế với các hệ thống phân tán. Đây cũng là một nguồn tài nguyên tuyệt vời cho các nhà phát triển đang chuyển đổi từ các ứng dụng dựa trên REST truyền thống sang các kiến trúc hướng sự kiện hiện đại.

Điều thực sự làm nên sự khác biệt của khóa học chuyên sâu (masterclass) này là sự chú trọng vào kỹ thuật thực tế thay vì các đoạn mã mẫu riêng lẻ. Mọi khái niệm đều được củng cố thông qua các dự án hoàn chỉnh, các cuộc thảo luận về kiến trúc, các phương pháp hay nhất trong môi trường thực tế (production) và các kỹ thuật triển khai thực tiễn. Sau khi hoàn thành khóa học, bạn sẽ không chỉ hiểu riêng lẻ về Golang và Kafka — bạn sẽ biết cách kết hợp chúng để xây dựng các hệ thống có khả năng phục hồi, có thể mở rộng và đạt chuẩn doanh nghiệp, phản ánh đúng các công nghệ và mô hình thiết kế đang được sử dụng bởi các công ty phần mềm hàng đầu hiện nay.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Các nhà phát triển backend đang tìm cách xây dựng các kiến trúc hướng sự kiện và microservices có khả năng mở rộng.

  • Các kỹ sư phần mềm làm việc về xử lý dữ liệu thời gian thực, truyền dữ liệu (streaming) hoặc các hệ thống phân tán

  • Các nhà phát triển Go muốn làm chủ Apache Kafka cho các ứng dụng cấp độ sản xuất

Cần biết trước khi bắt đầu?

  • Thành thạo các kiến thức cơ bản và cú pháp của ngôn ngữ lập trình Go

  • Hiểu biết về các khái niệm hệ thống phân tán cơ bản và kiến trúc microservices

  • Có kinh nghiệm với RESTful API và các phương pháp phát triển backend

Xin chào
Đây là Donara

đã làm việc với các công nghệ front-end và back-end hàng đầu, bao gồm Node.js, React, Angular, Vue, Express, Next.js và các framework JavaScript hiện đại. Kinh nghiệm thực tế của họ bao gồm kiến trúc ứng dụng, phát triển API, lập trình hướng đối tượng, lập trình bất đồng bộ, các mẫu thiết kế (design patterns), kiểm thử, gỡ lỗi và phát triển phần mềm cấp doanh nghiệp.

Thêm

Chương trình giảng dạy

Tất cả

9 bài giảng ∙ (3giờ 56phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Ưu đãi có thời hạn, kết thúc sau 8 ngày ngày

21.450 ₫

50%

893.767 ₫