Chia Sẻ Khóa Học Làm Việc Với Microservices Trong Go (Golang) [Khóa 7194 A]
Xây dựng các ứng dụng phân tán linh hoạt, có thể mở rộng, có tính khả dụng cao bằng cách sử dụng Go.
Bạn sẽ học được gì:
- ✓ Tìm hiểu Microservices là gì và khi nào nên sử dụng chúng.
- ✓ Cách phát triển các ứng dụng đơn mục đích, hoạt động cùng nhau như một ứng dụng phân tán.
- ✓ Cách giao tiếp giữa các service bằng JSON, Remote Procedure Calls, và gRPC.
- ✓ Cách push events đến microservices bằng Advanced Message Queuing Protocol (AMQP) sử dụng RabbitMQ.
- ✓ Cách triển khai ứng dụng phân tán của bạn lên Docker Swarm.
- ✓ Cách triển khai ứng dụng phân tán của bạn lên một Kubernetes Cluster.
Trong một thời gian dài, các ứng dụng web thường là một ứng dụng duy nhất xử lý mọi thứ, nói cách khác, là một ứng dụng monolithic. Monolith này xử lý user authentication, logging, gửi email và mọi thứ khác. Mặc dù đây vẫn là một cách tiếp cận phổ biến (và hữu ích), nhưng ngày nay, nhiều ứng dụng quy mô lớn hơn có xu hướng chia nhỏ mọi thứ thành các microservice. Ngày nay, hầu hết các tổ chức lớn đều tập trung vào việc xây dựng các ứng dụng web bằng cách sử dụng phương pháp này và với lý do chính đáng.
Microservices, còn được gọi là kiến trúc microservice, là một kiểu kiến trúc cấu trúc một ứng dụng dưới dạng một tập hợp các ứng dụng nhỏ hơn. Kiến trúc microservice cho phép phân phối nhanh chóng và đáng tin cậy các ứng dụng lớn, phức tạp. Một số tính năng phổ biến nhất cho microservice là:
- ✓ Nó có thể bảo trì và kiểm thử được.
- ✓ Loosely coupled với các phần khác của ứng dụng.
- ✓ Nó có thể tự triển khai.
- ✓ Nó được tổ chức xung quanh khả năng kinh doanh.
- ✓ Nó thường thuộc sở hữu của một nhóm nhỏ.
Trong khóa học này, chúng ta sẽ phát triển một số microservice, độc lập, loosely coupled sẽ giao tiếp với nhau và một ứng dụng front-end đơn giản với một REST API, với RPC , qua gRPC và bằng cách sending và consuming messages sử dụng AMQP ,Advanced Message Queuing Protocol. Các microservice mà chúng tôi xây dựng sẽ bao gồm các chức năng sau:
- ✓ Một Front End service, chỉ hiển thị các trang web.
- ✓ Một Authentication service, với một cơ sở dữ liệu Postgres.
- ✓ Một Logging service, với một cơ sở dữ liệu MongoDB.
- ✓ Một Listener service, nhận tin nhắn từ RabbitMQ và hành động theo chúng.
- ✓ Một Broker service, là một điểm truy cập duy nhất tùy chọn vào microservice cluster.
- ✓ Một Mail service, nhận một JSON payload, chuyển đổi thành email được định dạng và gửi đi.
Tất cả các service này sẽ được viết bằng Go, thường được gọi là Golang, một ngôn ngữ đặc biệt phù hợp để xây dựng các ứng dụng web phân tán.
Chúng ta cũng sẽ tìm hiểu cách triển khai ứng dụng phân tán của mình lên Docker Swarm và Kubernetes cũng như cách tăng và giảm quy mô khi cần thiết cũng như cách cập nhật các microservice riêng lẻ với ít hoặc không có downtime.
Mục lục:
- ✓ 01. Giới thiệu.
- ✓ 02. Xây dựng một front end đơn giản và một Microservice.
- ✓ 03. Xây dựng một Authentication Service.
- ✓ 04. Xây dựng một Logger Service.
- ✓ 05. Xây dựng một Mail Service.
- ✓ 06. Xây dựng một Listener service: AMQP với RabbitMQ.
- ✓ 07. Giao tiếp giữa các service sử dụng Remote Procedure Calls (RPC).
- ✓ 08. Tăng tốc mọi thứ (potentially) với gRPC.
- ✓ 09. Triển khai Distributed App sử dụng Docker Swarm.
- ✓ 10. Triển khai Distributed App đến Kubernetes.
- ✓ 11. Testing Microservices.
Khóa học này dành cho ai:
- ✓ Go developer đã làm việc với các ứng dụng monolithic và những người muốn tìm hiểu cách làm việc với Microservices.
NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU