Giao tiếp không đồng bộ 101
Blog này là một phần của loạt bài mà chúng tôi thảo luận về các khái niệm Đám mây từ Ground Zero cho khán giả có kiến thức ban đầu hạn chế. Bài viết này nằm trong Loạt bài Cấp độ Trung cấp vì nó liên quan đến việc xây dựng Giao tiếp không đồng bộ và các khái niệm cơ bản có liên quan.
Một số blog trước đó trong Chuỗi đám mây như sau:
Cân bằng tải 101 Bộ nhớ đệm 101 Cơ sở dữ liệu 101
Giao tiếp Async là gì?
Async là một mẫu giao tiếp giữa hai thành phần khác nhau của ứng dụng kinh doanh mà không cần tương tác thời gian thực. Về nguyên tắc, người gửi gửi thư trong hàng đợi / chủ đề dựa trên hành động của khách hàng và người nhận tùy thuộc vào bộ TTL (Thời gian tồn tại) và ngữ nghĩa phân phối đọc giống nhau để chuyển tiếp quy trình kinh doanh.
Không giống như Mô hình đồng bộ hóa truyền thống được xây dựng bằng cách sử dụng API REST trong đó phản hồi API đầu cuối 2 đầu là yếu tố về tính khả dụng của tất cả các thành phần trong Kiến trúc phân tán, hệ thống Async có thể mở rộng quy mô độc lập để phục vụ yêu cầu TPS (Giao dịch trên giây) cao cấp . Tuy nhiên, đồng thời nhược điểm chính của nó là các điều khoản về độ tin cậy của việc gửi thông điệp và nhu cầu phát lại dữ liệu một lần nữa. Do đó, kiến trúc hiện đại có xu hướng đi theo mô hình kết hợp sử dụng cả Mẫu đồng bộ và Mẫu đồng bộ để phục vụ các yêu cầu Phi chức năng cuối 2 đầu của một kiến trúc có thể mở rộng.
Không đồng bộ và đồng bộ hóa luồng giao tiếp

Dòng trình tự
- Khách hàng gọi MicroService 1 là yêu cầu HTTPS GET / POST tùy thuộc vào quy trình kinh doanh.
- MicroService 1 gọi nội bộ MicroService 2 để nhận thông tin về chức năng kinh doanh dưới dạng yêu cầu HTTPS GET / POST .
- MicroService 2 gọi nội bộ MicroService 3 để nhận thông tin về chức năng kinh doanh dưới dạng yêu cầu HTTPS GET / POST .
- Sau khi MicroService 3 gửi lại phản hồi, tương tự được MicroService 2 và MicroService 1 xâu chuỗi lại cho khách hàng.

Dòng trình tự
- Khách hàng gọi MicroService 1 là yêu cầu HTTPS GET / POST tùy thuộc vào quy trình kinh doanh.
- MicroService 1 xuất bản Sự kiện 1 trong xe buýt thông báo để cung cấp tải trọng cho khách hàng.
- MicroService 2 đọc Sự kiện 1 và xuất bản Sự kiện 2 trong xe buýt thông báo để cung cấp tải trọng đã sửa đổi.
- MicroService 3 đọc Sự kiện 2 và xuất bản Sự kiện 3 trong bus thông báo để gửi xác nhận trở lại MicroService 1 .
Bảng chú giải thuật ngữ giao tiếp Async
Nhà sản xuất / Nhà xuất bản
Khách hàng tạo tin nhắn và xếp chúng vào hàng trong Cơ sở hạ tầng nhắn tin.
Người tiêu dùng / Người đăng ký
Khách hàng nhận được tin nhắn và xếp hàng lại chúng trong Cơ sở hạ tầng nhắn tin.
Chủ đề
Chủ đề là sự phân loại hợp lý trong Cơ sở hạ tầng nhắn tin được sử dụng để sắp xếp các tin nhắn của một nhu cầu kinh doanh nhất định. Một hoặc nhiều người đăng ký có thể đọc tin nhắn từ một chủ đề.
Xếp hàng
Tương tự như các chủ đề, Hàng đợi đóng vai trò là kho lưu trữ tin nhắn cho nhà xuất bản / người đăng ký, sự khác biệt chính là nó chủ yếu phục vụ một người đăng ký thay vì nhiều người đăng ký như trong các trường hợp sử dụng Chủ đề.
Các ví dụ
Để chơi xung quanh một ứng dụng docker mẫu chạy Hệ thống môi giới thông báo có trọng lượng nhẹ sử dụng Docker trên hệ thống cục bộ.
Tóm lược
Giao tiếp không đồng bộ đã trở thành một khối xây dựng thiết yếu trong việc triển khai phân tán và có thể mở rộng trên đám mây công cộng hoặc riêng tư. Tùy thuộc vào nhu cầu ứng dụng tùy chỉnh, Nền tảng nhắn tin dựa trên Hàng đợi hoặc Chủ đề có thể được sử dụng trong kiến trúc chức năng end-2-end. Một số ứng dụng phổ biến nhất như sau - Nhắn tin AWS , Nhắn tin Azure và Nhắn tin GCP.
Để có phản hồi, vui lòng gửi tin nhắn tới amit [dot] 894 [at] gmail [dot] com hoặc liên hệ với bất kỳ liên kết nào tại https://about.me/amit_raj .