Xây dựng hệ thống với kiến trúc Micro-service
199.000 VND
6.000.000 VND
Đầy Đủ Bài Giảng
Học Online Tiện Lợi
Kích Hoạt Nhanh 2-5 Phút
Thanh toán tự động
Được phép tải xuống

Mô tả

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

.NET Core 6x IDE: Jetbrains Rider Databases: SQL Server, MySQL, PosgresSQL, MongoDB, Redis Message MQ: RabbitMQ Logging với Serilog, Elasticsearch API Gateway: Ocelot Authentication & Authorization Service: Identity Server Extensions: Docker, Polly, Hangfire, Swagger Git: Git hub, Azure Repo Azure Devops Yêu cầu cơ bản và khuyên học trước khi tham gia khoá Microservices 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 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 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 Hiểu biết cơ bản về Identity Server hoặc đã từng học qua một trong 3 khoá học: 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 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 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 Tổng quan về microservices Monolithic architecture vs Microservices Service-oriented architecture (SOA) Microservices architecture principles Các microservices giao tiếp thế nào? Giới thiệu tổng quan về dự án Microservices và phạm vi dự án Xây dựng cấu trúc dự án Xây dựng phần hạ tầng (infrastructure) cho dự án với Docker container Triển khai Logger Service với Serilog SECTION 2 – Triển khai Product.API Microservices với MySQL Khởi tạo các Entity, Dtos, Repository Pattern cho Product Microservices Triển khai các phương thức CRUD cho Product.API Chạy thử Product.API Microservices trong môi trường Development Containerize Product.API Microservices với MySQL SECTION 3 – Triển khai Customer.API Microservices với Minimal API & PostgreSQL Tìm hiểu về PostgreSQL Khởi tạo Project Web API và các Entity, Dtos cho Customer.API Microservices Xây dựng Repository Pattern cho Customer.API Microservices Triển khai các CRUD API cho Customer.API Microservices Chạy thử Customer.API Microservices trong môi trường Development Containerize Customer.API Microservices với PostgreSQL Livecode tổng kết Section 1-2-3 SECTION 4 – Triển khai Basket.API Microservices với Redis Tìm hiểu về Redis Khởi tạo Project Web API và các Entity, Dtos cho Basket.API Microservices Xây dựng Repository Pattern cho Basket.API Microservices Kết nối Basket.API Microservices với Redis Triển khai các API: Get, Update, Delete cho Basket.API Microservices Chạy thử Basket.API Microservices trong môi trường Development 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 Giới thiệu tổng quan về: SOLID, CQRS Khởi tạo Project Web API và Clean Architecture Layers Xây dựng Domain Layer và các Entity Xây dựng Application Layer với CQRS Pattern Xây dựng Infrastructure Layer Triển khai EF Core Migrations, Code-First, Seeding Data Triển khai Email Service với Google SMTP Containerize Ordering.API Microservices với SQL Server SECTION 6 – Giao tiếp đồng bộ giữa các Microservices (Microservices Communication) Giới thiệu về Microservices Communication Giới thiệu về MassTransit và 2 ứng dụng phổ biến: RabbitMQ, Kafka Xây dựng 1 ứng dụng console tìm hiểu về RabbitMQ Tích hợp RabbitMQ vào Basket.API Microservices - Publishing Tích hợp RabbitMQ vào Ordering.API Microservices – Consumer Containerize Basket.API và Ordering.API Microservices với RabbitMQ. Triển khai Event Sourcing with DDD Part I Triển khai Event Sourcing with DDD Part II SECTION 7 – Triển khai Inventory.API Microservices với MongoDB Tìm hiểu về MongoDB Giới thiệu phương pháp tính tồn kho hiệu quả Khởi tạo Project Web API và các Entity, Dtos cho Inventory.API Microservices Xây dựng Repository Pattern cho Inventory.API Microservices Xây dựng Service Layer với CRUD methods và abstraction pagination. Triển khai các API cho Inventory.API Microservices Triển khai gRPC service cho Inventory Microservices Triển khai gRPC service cho Inventory Microservices Part II Consuming Stock gRPC service từ Basket Microservices Containerize Inventory API Microservices với MongoDB và gRPC SECTION 8 – Triển khai API Gateway Microservices và Gateway Routing Pattern, Load Balancing Tìm hiểu API Gateway và Gateway Routing Pattern Tìm hiểu Ocelot API Gateway Khởi tạo Ocelot API Gateway Microservice project Cấu hình ocelot.json file cho routing các Microservices Cấu hình Authentication cho Ocelot Cấu hình Rate Limiting module cho Ocelot Cấu hình Quality of Service (QoS) cho Ocelot Cấu hình Response Caching cho Ocelot Chạy thử API Gateway và điều hướng routing đến các Microservices. Containerize API Gateway SECTION 9 – Triển khai Scheduled Background Job Service Tìm hiểu về Background Job Service – Hangfire Tích hợp Hangfire vào dự án Microservices 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 Quản lý transaction giữa các Microservices. Tìm hiểu Elasticsearch và Kibana Tích hợp Serilog vào Elasticsearch và Kibana Handle logging các request giữa các Microservices Tìm hiểu thư viện Polly và các policies: Retry, Circuit Breaker, Timeout, Bulkhead, Cache, Fallback. Ứng dụng Polly vào các Microservices. Cài đặt Healthcheck cho các Microservices. 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 Khởi tạo và cấu hình Identity Server Xây dựng Repository Pattern, Service Manager với Lazy Loading Service Xác thực User với Email, Reset Password. Khởi tạo các Entities ứng dụng cho việc phân quyền Xây dựng và chuẩn hoá các API cho xác thực, cấp quyền. Á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. Giới thiệu tổng quan về Duende Identity Server Khởi tạo Duende Identity Server với duende template Cấu hình Identity Server: Serilog, Scopes, Api Resources, Clients Cấu hình Identity Server: Migrating Config & Persisted DB Cấu hình Identity Server Part II: NET Core Identity Cấu hình Authentication, SMTP Email Service Xây dựng Repository Pattern, Repository Manager với Lazy Loading Khởi tạo Permission Entity, Repository, Presentation API Project Triển khai Permission API với Dapper và Store Procedures Triển khai Permission API với Dapper và Store Procedures Part II Triển khai Authentication & Authorization với Bearer policy Triển khai Permission List Áp dụng Authentication & Authorization cho Product Microservices. Áp dụng Authentication & Authorization cho Product Microservices Part II Cấu hình Authentication cho Ocelot API Gateway Containerize Identity Service và cấu hình Authentication & Authorization Containerize Identity Service và cấu hình Authentication & Authorization Part II

Bạn sẽ học được gì?

Yêu cầu

    Nội dung khóa học

    1 chương
    1.1: Tổng quan về microservices
    1.2: Monolithic architecture vs Microservices
    1.3: Service-oriented architecture (SOA)
    1.4: Microservices architecture principles
    1.5; Các microservices giao tiếp thế nào?
    1.6: Giới thiệu tổng quan về dự án Microservices và phạm vi dự án
    1.7: Xây dựng cấu trúc dự án
    1.8: Xây dựng phần hạ tầng (infrastructure) cho dự án với Docker container
    1.9: Triển khai Logger Service với Serilog
    2.1: Khởi tạo các Entity, Dtos, Repository Pattern cho Product Microservices
    2.2: Triển khai các phương thức CRUD cho Product.API
    2.3: Chạy thử Product.API Microservices trong môi trường Development
    2.4: Containerize Product.API Microservices với MySQL
    3.1: Tìm hiểu về PostgreSQL
    3.2: Khởi tạo Project Web API và các Entity, Dtos cho Customer.API Microservices
    3.3: Xây dựng Repository Pattern cho Customer.API Microservices
    3.4: Triển khai các CRUD API cho Customer.API Microservices
    3.5: Chạy thử Customer.API Microservices trong môi trường Development
    3.6: Containerize Customer.API Microservices với PostgreSQL
    3.7: Livestream tổng kết Section 3
    4.1: Tìm hiểu về Redis
    4.2: Khởi tạo Project Web API và các Entity, Dtos cho Basket.API Microservices
    4.3: Xây dựng Repository Pattern cho Basket.API Microservices
    4.4: Kết nối Basket.API Microservices với Redis
    4.5: Triển khai các API: Get, Update, Delete cho Basket.API Microservices
    4.6: Chạy thử Basket.API Microservices trong môi trường Development
    4.7: Containerize Basket.API Microservices với Redis sử dụng Docker Compose
    5.1: Giới thiệu tổng quan về: SOLID, CQRS
    5.2: Khởi tạo Project Web API và Clean Architecture Layers
    5.3: Xây dựng Domain Layer và các Entity
    5.4: Xây dựng Application Layer với CQRS Pattern
    5.5: Xây dựng Infrastructure Layer
    5.6: Triển khai EF Core Migrations, Code-First, Seeding Data
    5.7: Triển khai Email Service với Google SMTP
    5.8: Chạy thử Ordering.API Microservices trong môi trường Development
    6.1: Giới thiệu về Microservices Communication
    6.2: Giới thiệu về MassTransit và ứng dụng phổ biến: RabbitMQ
    6.3: Xây dựng 1 ứng dụng console tìm hiểu về RabbitMQ
    6.4: Tích hợp RabbitMQ vào Basket.API Microservices - Publishing
    6.5: Tích hợp RabbitMQ vào Ordering.API Microservices – Consumer
    6.6: Containerize Basket.API và Ordering.API Microservices với RabbitMQ.
    6.7: Triển khai Event Sourcing with DDD Part I
    6.7: Triển khai Event Sourcing with DDD Part II
    7.1: Tìm hiểu về MongoDB
    7.2: Giới thiệu phương pháp tính tồn kho hiệu quả
    7.3: Khởi tạo Project Web API và các Entity, Dtos cho Inventory.API Microservices
    7.4: Xây dựng Repository Pattern cho Inventory.API Microservices
    7.5: Xây dựng Service Layer với CRUD methods và abstraction pagination.
    7.6: Triển khai các API cho Inventory.API Microservices
    7.7: Triển khai gRPC service cho Inventory Microservices
    7.8: Triển khai gRPC service cho Inventory Microservices Part II
    7.9: Consuming Stock gRPC service từ Basket Microservices
    7.10: Containerize Inventory.Product.API Microservices với MongoDB & gRPC
    7.11: Consuming Stock gRPC service từ Postman
    8.1: Tìm hiểu API Gateway và Gateway Routing Pattern
    8.2: Tìm hiểu Ocelot API Gateway
    8.3: Khởi tạo Ocelot API Gateway Microservice project
    8.4: Cấu hình ocelot.json file cho routing các Microservices
    8.5: Cấu hình Authentication cho Ocelot
    8.6: Cấu hình Authentication cho Ocelot Part II
    8.7: Cau hinh Authorization cho Ocelot
    8.8: Cấu hình Rate Limiting module cho Ocelot
    8.9: Cấu hình Quality of Service (QoS) cho Ocelot
    8.10: Cấu hình Response Caching cho Ocelot
    8.11: Cau hinh Swagger cho Ocelot
    8.12: Containerize API Gateway
    9.1: Tìm hiểu về Background Job Service – Hangfire
    9.2: Tích hợp Hangfire vào dự án Microservices
    9.3: Chạy thử Hangfire với Scheduled Job Welcome API cho Background Service
    9.4: Triển khai Email Template Service
    9.5: Triển khai Background Job Service với HTTP Client
    9.6: Tự động gửi email nếu khách hàng chưa checkout order
    9.7: Refactoring Code và delete Job Id reminder checkout order
    9.8: Containerize Background Job Service
    10.1: Tìm hiểu các phương thức quản lý transaction giữa các Microservices
    10.2: Trien khai SAGA Pattern voi HTTP Service
    10.2.1: Trien khai SAGA Pattern voi HTTP Service
    10.3: Trien khai SAGA Pattern voi HTTP Service-Part II
    10.3.1: Trien khai SAGA Pattern voi HTTP Service-Part II
    10.4: Trien khai SAGA Pattern voi HTTP Service-Part III
    10.5: Trien khai SAGA Pattern voi Stateless Sate Machince
    10.5.1: Trien khai SAGA Pattern voi Stateless Sate Machince
    10.6: Trien khai SAGA Pattern voi Stateless Sate Machince Part II
    10.6.1: Trien khai SAGA Pattern voi Stateless Sate Machince Part III
    11.1: Tìm hiểu Elasticsearch và Kibana
    11.2: Tích hợp Serilog vào Elasticsearch và Kibana
    11.3: Handle logging các request giữa các Microservices
    11.4: Tìm hiểu thư viện Polly và các policies: Retry, Circuit Breaker
    11.5: Áp dụng Timeout Polly policies và code improvement
    11.6: Cài đặt Healthcheck cho các Microservices.
    11.7: Containerize Web Health check Status
    12.1: Giới thiệu tổng quan về Duende Identity Server
    12.2: Khởi tạo Duende Identity Server với duende template
    12.3: Cấu hình Identity Server: Serilog, Scopes, Api Resources, Clients
    12.4: Cấu hình Identity Server: Migrating Config & Persisted DB
    12.4.1: Cấu hình Identity Server Part II: NET Core Identity
    12.5: Cấu hình Authentication, SMTP Email Service
    12.6: Xây dựng Repository Pattern, Repository Manager với Lazy Loading
    12.7: Khởi tạo Permission Entity, Repository, Presentation API Project
    12.8: Triển khai Permission API với Dapper và Store Procedures
    12.9: Triển khai Permission API với Dapper và Store Procedures Part II
    12.10: Triển khai Authentication & Authorization với Bearer policy
    12.11: Triển khai Permission List
    12.12: Áp dụng Authentication & Authorization cho Product Microservices.
    12.13: Áp dụng Authentication & Authorization cho Product Microservices Part II
    12.14: Cấu hình Authentication cho Ocelot API Gateway
    12.15: Containerize Identity Service và cấu hình Authentication & Authorization
    12.16: Containerize Identity Service và cấu hình Authentication & Authorization Part II
    13.1: Chuẩn bị deploy Identity API
    13.2: Portal Azure DevOps
    13.3: Azure CLI
    13.4: CI/CD với Azure DevOps
    13.5: Deploy Product service
    13.6: Deploy Customer Microservice
    13.7: Deploy Basket Microservice Part I
    13.8: Deploy Basket Microservice Part II
    13.9: Deploy Basket Microservice Part III
    13.10: Deploy Order Microservice
    13.11: Deploy Inventory Product Microservice
    13.12: Deploy Scheduled Job Microservice
    13.13: Deploy RabbitMQ Part I
    13.14: Deploy RabbitMQ Part II
    13.15: Deploy RabbitMQ Part III
    13.16: Deploy WebStatus ElasticSearch
    13.17: Deploy ApiGateway
    14.1. Https with Docker