Message Queue là một trong thành phần quan liêu trọng thường xuyên thực hiện trong số khối hệ thống bự (lấy một ví dụ Yahoo, Tiki) hoặc phần mềm theo phong cách thiết kế microservice.

Bạn đang xem: Message queue là gì

Tuy thế, còn nếu như không gặp mặt những dự án công trình bao gồm hệ thống phệ thì sẽ không hiểu rõ Message Queue là gì, được thực hiện với mục tiêu gì!


*
*

Ý nghĩa của queue (mặt hàng đợi) là nó tiến hành câu hỏi mang message theo nguyên tắc vào trước thế ra trước ( First In First Out ).

Một khối hệ thống Message Queue thường có các yếu tố sau:

Message: tin tức được gửi (có thể là text, binary hoặc JSON)Message Queue: Nơi cất rất nhiều message này, chất nhận được producer và consumer hoàn toàn có thể dàn xếp cùng với nhauProducer: Service tạo ra báo cáo, tin báo vào message queueConsumer: Service nhận message tự message queue cùng xử lýMột service bao gồm thể vừa làm cho producer, vừa có tác dụng consumer 

Một số Message queue được sử dụng hiện nay nay:

RabitMQActiveMQSQSZeroMQMSMQIronMQKinesisRocketMQ
*

Thực tế Message Queue được áp dụng nuốm nào?

Trong các hệ thống dùng phong cách thiết kế microservice, ta áp dụng message queue sẽ giúp đỡ các service tương tác cùng với nhau một phương pháp sự không tương đồng bộ. Service X làm kết thúc Việc hoàn toàn có thể gửi message queue để service Y kích hoạt giải pháp xử lý.

Ví dụ: tất cả một website chất nhận được người dùng tải Clip tự khối hệ thống thì nó sẽ sở hữu các nhân tố sau:

API service: Là 1 producer. Nhận công bố (URL Video) từ bỏ phía người tiêu dùng và báo tin này vào message queueProcessing Service: Vừa là consumer vừa là producer. Service này phát âm URL Video từ bỏ message queue, bước đầu cài tệp tin Video về cùng encode lại, lưu lại vào VPS. Sau lúc encode kết thúc, nó chuyển URL của tệp tin đã encode vào message queueUploading Service: Lúc cảm nhận message từ processing hệ thống, nó vẫn upload video đó lên Amazon S3
*

Tại sao lại sử dụng Message Queue?

Ưu điểm về Message Queue

Dễ scaling hệ thống: Vào giờ du lịch, các truy nã vấn, ta rất có thể tăng số lượng consumer lên nhằm xử lý được nhiều messege rộng. lúc ko đề xuất ta rất có thể bớt lại.

Xem thêm: “ Sống Ảo Tiếng Anh Là Gì ? Tác Hại Của Việc Sống Ảo Sống Ảo Tiếng Anh Là Gì

Đảm bảo duration/recovery: Do message đã làm được giữ vào queue, lúc 1 service đã cách xử trí nhưng mà bị crash, ta không ngại bị mất data vị hoàn toàn có thể đem message từ bỏ trong queue ra và retry. Trong 1 khối hệ thống có khá nhiều consumer, nếu như vài consume crash cũng không làm crash cả hệ thốngHỗ trợ rate limit, batch process: Trong trường thích hợp kĩ năng cách xử trí của hệ thống hạn chế (chỉ rất có thể giải pháp xử lý 100 lượt release/s) cơ mà đề xuất cách xử lý 10000 lượt release. Với message queue, ta có thể mang từng lượt release không cách xử trí vào queue ra xử trí từ từ, ko sợ bị mất.
*

Điểm đề xuất chú ý về Message Queue

Làm khối hệ thống phức hợp hơn: Thêm message queue sẽ tăng tính phức tạp của hệ thống. Ta cần phải biết rõ message như thế nào gửi vào queue như thế nào, ai gửi ai thừa nhận. Lúc debug sinh sống local đã trở ngại hơnPhải có Monitor Queue: Phải có các biện vạc theo dõi (monitor), để bảo đảm lượng message queue không vô số, làm đầy queue. Queue cực tốt là queue luôn luôn rỗng, hoặc con số message vào queue ko tăng lên các (message gửi vào queue phần nhiều bị consume hết vào thời hạn ngắn thêm nhất)Phải tất cả message format: Để gửi/nhận trường đoản cú 2 phía producer và consumer thống độc nhất format cùng nhau. Nếu 1 bên đổi khác đã làm bên đó không đọc được tài liệu.Khó cách xử lý đồng bộ: Không cần khối hệ thống nào thì cũng buộc phải cho tới message queue. Nếu nhỏng service A Hotline service B, theo chính sách đồng điệu, đề xuất kết quả xử trí ngay, ta đề nghị cần sử dụng Rest hoặc gRPC đang xuất sắc hơn.

Bài viết nơi bắt đầu được đăng download tại lcdung.top

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *