Giới thiệu

Giới thiệu khóa học

Khóa học chiến lược phát hành độc quyền tại TEDU, giúp bạn nắm được các khái niệm và thực hành xây dựng một hệ thống với kiến trúc Microservice từ đầu. Khóa học này dành cho các bạn đang, đã và sẽ tham gia và xây dựng các hệ thông sử dụng Microservice. Đầu tiên chúng ta phải tìm hiểu khái niệm và tư tưởng của Microservice trước khi sử dụng nó. Khóa học này sẽ giúp bạn đạt được những điều đó.

Công nghệ sử dụng

  1. .NET Core 6x
  2. IDE: Jetbrains Rider
  3. Databases: SQL Server, MySQL, PosgresSQL, MongoDB, Redis
  4. Message MQ: RabbitMQ
  5. Logging với Serilog, Elasticsearch
  6. API Gateway: Ocelot
  7. Authentication & Authorization Service: Identity Server
  8. Extensions: Docker, Polly, Hangfire, Swagger
  9. Git: Git hub, Azure Repo
  10. Azure Devops

Yêu cầu cơ bản và khuyên học trước khi tham gia khoá Microservices

  1. Hiểu biết cơ bản về C#, OOP, LINQ, SOLID: https://tedu.com.vn/khoa-hoc/lap-trinh-c-toan-tap-cho-nguoi-moi-bat-dau-46.html
  2. Hiểu biết cơ bản về .NET Core: https://tedu.com.vn/khoa-hoc/lap-trinh-aspnet-core-tu-co-ban-den-nang-cao-33.html
  3. Hiểu biết cơ bản về Docker hoặc đã từng học qua khoá Docker: https://tedu.com.vn/course-ref/42/C5D7O1.html
  4. Hiểu biết cơ bản về Identity Server hoặc đã từng học qua một trong 3 khoá học:
    1. Phát triển ứng dụng trắc nghiệm sử dụng API DDD, MongoDB và Blazor - https://tedu.com.vn/course-ref/43/C5D7O1.html
    2. Xây dựng ứng dụng web với ASP.NET Core Web API + Identity Server + Angular - https://tedu.com.vn/course-ref/35/C5D7O1.html
    3. Authentication và Authorization nâng cao - https://tedu.com.vn/course-ref/36/C5D7O1.html

Nội dung

SECTION 1 – Giới thiệu về microservices

  1. Tổng quan về microservices
  2. Monolithic architecture vs Microservices
  3. Service-oriented architecture (SOA)
  4. Microservices architecture principles
  5. Các microservices giao tiếp thế nào?
  6. Giới thiệu tổng quan về dự án Microservices và phạm vi dự án
  7. Xây dựng cấu trúc dự án
  8. Xây dựng phần hạ tầng (infrastructure) cho dự án với Docker container
  9. Triển khai Logger Service với Serilog

SECTION 2 – Triển khai Product.API Microservices với MySQL

  1. Khởi tạo các Entity, Dtos, Repository Pattern cho Product Microservices
  2. Triển khai các phương thức CRUD cho Product.API
  3. Chạy thử Product.API Microservices trong môi trường Development
  4. Containerize Product.API Microservices với MySQL

SECTION 3 – Triển khai Customer.API Microservices với Minimal API & PostgreSQL

  1. Tìm hiểu về PostgreSQL
  2. Khởi tạo Project Web API và các Entity, Dtos cho Customer.API Microservices
  3. Xây dựng Repository Pattern cho Customer.API Microservices
  4. Triển khai các CRUD API cho Customer.API Microservices
  5. Chạy thử Customer.API Microservices trong môi trường Development
  6. Containerize Customer.API Microservices với PostgreSQL
  7. Livecode tổng kết Section 1-2-3

SECTION 4 – Triển khai Basket.API Microservices với Redis

  1. Tìm hiểu về Redis
  2. Khởi tạo Project Web API và các Entity, Dtos cho Basket.API Microservices
  3. Xây dựng Repository Pattern cho Basket.API Microservices
  4. Kết nối Basket.API Microservices với Redis
  5. Triển khai các API: Get, Update, Delete cho Basket.API Microservices
  6. Chạy thử Basket.API Microservices trong môi trường Development
  7. Containerize Basket.API Microservices với Redis sử dụng Docker Compose

SECTION 5 – Triển khai Ordering.API Microservices với SQL Server, Clean Architecture & CQRS

  1. Giới thiệu tổng quan về: SOLID, CQRS
  2. Khởi tạo Project Web API và Clean Architecture Layers
  3. Xây dựng Domain Layer và các Entity
  4. Xây dựng Application Layer với CQRS Pattern
  5. Xây dựng Infrastructure Layer
  6. Triển khai EF Core Migrations, Code-First, Seeding Data
  7. Triển khai Email Service với Google SMTP
  8. Containerize Ordering.API Microservices với SQL Server

SECTION 6 – Giao tiếp đồng bộ giữa các Microservices (Microservices Communication)

  1. Giới thiệu về Microservices Communication
  2. Giới thiệu về MassTransit và 2 ứng dụng phổ biến: RabbitMQ, Kafka
  3. Xây dựng 1 ứng dụng console tìm hiểu về RabbitMQ
  4. Tích hợp RabbitMQ vào Basket.API Microservices - Publishing
  5. Tích hợp RabbitMQ vào Ordering.API Microservices – Consumer
  6. Containerize Basket.API và Ordering.API Microservices với RabbitMQ.
  7. Triển khai Event Sourcing with DDD Part I
  8. Triển khai Event Sourcing with DDD Part II

SECTION 7 – Triển khai Inventory.API Microservices với MongoDB

  1. Tìm hiểu về MongoDB
  2. Giới thiệu phương pháp tính tồn kho hiệu quả
  3. Khởi tạo Project Web API và các Entity, Dtos cho Inventory.API Microservices
  4. Xây dựng Repository Pattern cho Inventory.API Microservices
  5. Xây dựng Service Layer với CRUD methods và abstraction pagination.
  6. Triển khai các API cho Inventory.API Microservices
  7. Triển khai gRPC service cho Inventory Microservices
  8. Triển khai gRPC service cho Inventory Microservices Part II
  9. Consuming Stock gRPC service từ Basket Microservices
  10. Containerize Inventory API Microservices với MongoDB và gRPC

SECTION 8 – Triển khai API Gateway Microservices và Gateway Routing Pattern, Load Balancing

  1. Tìm hiểu API Gateway và Gateway Routing Pattern
  2. Tìm hiểu Ocelot API Gateway
  3. Khởi tạo Ocelot API Gateway Microservice project
  4. Cấu hình ocelot.json file cho routing các Microservices
  5. Cấu hình Authentication cho Ocelot
  6. Cấu hình Rate Limiting module cho Ocelot
  7. Cấu hình Quality of Service (QoS) cho Ocelot
  8. Cấu hình Response Caching cho Ocelot
  9. Chạy thử API Gateway và điều hướng routing đến các Microservices.
  10. Containerize API Gateway

SECTION 9 – Triển khai Scheduled Background Job Service

  1. Tìm hiểu về Background Job Service – Hangfire
  2. Tích hợp Hangfire vào dự án Microservices
  3. Tự động gửi email nếu khách hàng chưa checkout order

SECTION 10 – Cấu hình nâng cao và một số extensions mở rộng

  1. Quản lý transaction giữa các Microservices.
  2. Tìm hiểu Elasticsearch và Kibana
  3. Tích hợp Serilog vào Elasticsearch và Kibana
  4. Handle logging các request giữa các Microservices
  5. Tìm hiểu thư viện Polly và các policies: Retry, Circuit Breaker, Timeout, Bulkhead, Cache, Fallback.
  6. Ứng dụng Polly vào các Microservices.
  7. Cài đặt Healthcheck cho các Microservices.
  8. Xây dựng ứng dụng Web App quản lý health status các Microservices.

SECTION 11 – Authentication & Authorization Microservices với Identity Server

  1. Khởi tạo và cấu hình Identity Server
  2. Xây dựng Repository Pattern, Service Manager với Lazy Loading Service
  3. Xác thực User với Email, Reset Password.
  4. Khởi tạo các Entities ứng dụng cho việc phân quyền
  5. Xây dựng và chuẩn hoá các API cho xác thực, cấp quyền.
  6. Áp dụng Authentication & Authorization cho toàn bộ Microservices.

SECTION 12 – Triển khai dự án Microservices trên môi trường Production với Azure Devops.

  1. Giới thiệu tổng quan về Duende Identity Server
  2. Khởi tạo Duende Identity Server với duende template
  3. Cấu hình Identity Server: Serilog, Scopes, Api Resources, Clients
  4. Cấu hình Identity Server: Migrating Config & Persisted DB
  5. Cấu hình Identity Server Part II: NET Core Identity
  6. Cấu hình Authentication, SMTP Email Service
  7. Xây dựng Repository Pattern, Repository Manager với Lazy Loading
  8. Khởi tạo Permission Entity, Repository, Presentation API Project
  9. Triển khai Permission API với Dapper và Store Procedures
  10. Triển khai Permission API với Dapper và Store Procedures Part II
  11. Triển khai Authentication & Authorization với Bearer policy
  12. Triển khai Permission List
  13. Áp dụng Authentication & Authorization cho Product Microservices.
  14. Áp dụng Authentication & Authorization cho Product Microservices Part II
  15. Cấu hình Authentication cho Ocelot API Gateway
  16. Containerize Identity Service và cấu hình Authentication & Authorization
  17. Containerize Identity Service và cấu hình Authentication & Authorization Part II

Phạm Quang Anh Kiệt

Họ và tên: Phạm Quang Anh Kiệt


Học vấn: Đã tốt nghiệp khoá Thạc sỹ CNTT tại trường đại học The University of Wollongong, Australia (https://www.uow.edu.au) . Hiện đang là Senior Software Engineer cho một công ty tại Úc xây dựng các dự án cho chính phủ chuyên về không gian, xã hội và môi trường (https://spatialvision.com.au).


Kỹ năng: Có hơn 13 năm kinh nghiệm trong việc xây dựng các ứng dụng bằng .NET Framework, .NET Core, NodeJS, Angular, JQuery, Design Pattern, DevOps

Nội dung khoá học

13 đánh giá

Gửi đánh giá
  • Hoàng Anh Cường

    02/05/2024

    Rất Giá trị, Thầy nhiệt tình. Mong sớm ra Seri tiếp theo

  • Nguyen Chi Linh

    27/03/2023

    Bài học rất tuyệt vời . Rất đáng đồng tiền bát gạo .

  • Lê Huy Bình

    28/09/2022

    Trãi qua 12 sections hoàn toàn cảm thấy giá trị nhận được vượt xa khỏi số tiền bỏ ra mà khóa học cũng như giảng viên mang lại. Không những giúp mình mở rộng kiến thức mà còn cũng cố những kiến thức của các khóa học khác, chợt nhận ra đã bỏ xót nhiều kiến thức ở những khóa cũ nên lặn lội xem lại :D

  • Phạm Vũ Ngọc Huy

    14/08/2022

    Khoá học hay, sát với nhu cầu công nghệ thực tế, phù hợp với những người đang đi làm muốn bổ sung thêm kiến thức, giá trị khoá học cao hơn chi phí phải bỏ

  • Tên Họ

    30/07/2022

    Khóa học hay, sát với dự án thực tế, phù hợp với những người đang đi làm muốn bổ sung thêm kiến thức, xứng đáng đến từng xu bỏ ra.

  • Đỗ Minh Nam

    30/07/2022

    Khoá học hay, chất lượng, giảng viên nhiệt tình, mỗi tội mình hứng quá nên cảm giác phải hóng hơi lâu :D tiếp lửa để cho anh Kiệt ra thêm những video chất lượng hơn nữa với những kiến thức thực tế ngoài ngoài nội dung khoá học. "FIRE"

  • Nguyen Thanh Nghia

    28/07/2022

    sau anh toàn thấy giản viên anh kiệt dậy những khóa học rất sát với thực tế, nếu 2015 mình kh biết đến tedu kh biết ra trường làm gì và đi đâu. - với giá các khóa học mình thấy rất rẻ so với chất lượng các khóa học tedu mạng lại *thật sư mình cảm ơn tedu

  • NGO HUYNH QUOC HUY

    28/07/2022

    Cá nhân mình cho rằng đây là một trong khoá học rất hay giúp chúng ta vừa ôn kiến thức vừa trao dồi kinh nghiệm vừa nâng cao kỹ năng thực chiến. Hy vọng sau khoá học admin sẽ đẩy mạnh thêm khoá micro frontend nữa tuyệt vời. Ủng hộ admin

  • phanngockhoi

    28/07/2022

    Khóa học bổ ích, chật lượng, dễ hiểu. Tuy có hơi khó nhưng để viết được 1 hệ thống microservice không phải dễ. Cám ươn anh Kiệt đã dạy rất tâm huyết và hướng dẫn tận tình

  • Trương Minh Thông

    21/07/2022

    Khóa học dễ bổ ích và dễ hiểu. Cám ơn anh Kiệt vì đã tâm huyết truyền thụ cho mọi người!

  • Ngoc Thien An Nguyen

    18/07/2022

    Với mình khóa rất oki. Giáo viên dạy dễ hiểu. Nội dung sát thực tế, hữu ích. Thời lượng video vừa phải để xem và thực hành

  • Lê Quang Bảo

    03/07/2022

    Mình thấy theo sườn bài các service đc viết theo ngôn ngữ C#,dotnet . Admin có thể implement 1 vài service theo ngôn ngữ khác vd noedjs or golang cho phong phú không . Nói chung 2 section đầu tiên mình thấy khá hào hứng .^^

  • Lê Huy Bình

    26/06/2022

    Phần mở đầu khóa học cho biết được tổng quan của nhưng kiến trúc hiện tại :D

Lên trên