Khóa học Building Distributed Applications with Microservices sẽ giúp bạn tìm hiểu nhanh chóng về công nghệ Microservices để ứng dụng xây các ứng dụng phân tán dễ mở rộng, khả năng chịu lỗi và chi phí tối ưu.
Khóa học được xây dựng dựa trên series bài https://www.nginx.com/blog/introduction-to-microservices/ kèm theo các bài lab minh họa có tính thực tiễn cao
- Bạn đã có kiến thức cơ bản về lập trình và Linux
Module 1: Introduction to Microservices
- So sánh giữa Monolithic và Microservices
- Lab: setup Centos box bằng Vagrant
- Hướng dẫn dùng API gateway để kết nối và bảo mật microservices
- Lab:
- Giải thích các cơ chế IPC để kết nối các microservices: synchronous, asynchronous
- Phân biệt các khái niệm trong asynchronous: concurrency, parallel, blocking, non-blocking mode, event-loop
- Giải thích cơ chế messaging của RabbitMQ, MQTT, NATS, so sánh với Kafka.
- Lab:
- Synchronous RPC:
- Protobuf, GRPC (golang)
- REST api, OpenAPI, Swagger (golang)
- Asynchronous RPC:
- rabbitmq quickstart (golang)
- grpc over nats (golang)
- olso.messageing demo (tìm hiểu core messaging của Openstack, python)
- Nameko quickstart (microservices framework, python)
- MQTT IoT demo (cách thiết kế MQTT topic trong IoT, golang)
- Synchronous RPC:
- Giải thích các cơ chế client-side, server-side discovery
- Lab:
- Dùng etcd cho service discovery (golang)
- Dùng consul cho service discovery, centralized configuration (consul api, golang)
- viper demo (golang)
- Giải bài toán business business transaction trên môi trường phân tán microservices
- Lab:
- Giới thiệu OpenTelemetry framwork để giám sát microservices
- Tìm hiểu các lựa chọn để triển khai microservices: physical server, VM, container, serverless
- Lab:
- Tìm hiểu các chiến lược để migrate monolith sang microservices: Stop Digging, Split Frontend and Backend, Extract Services
- Khóa học có sử dụng tài liệu và source code của nhiều người, tất cả đều được ghi nhận trong các file README.md
- Bạn được phép sử dụng miễn phí tất cả các tài liệu của khóa học này.
- Mọi thắc mắc vui lòng liên hệ với chúng tôi qua email [email protected] hoặc [email protected]