Avatar
1
Lâm Văn Đời Beginner
Hỏi về việc gửi tin nhắn qua Message Queue (RabbitMQ,Kafka)
<em>Xin chào mọi người,</em> <p> </p> <p> Theo em được biết thì trong 1 hệ thống <em><strong>Microservices</strong> </em>thì các chức năng như gửi Mail, SMS cho khách hàng thì sẽ được tách thành 1 service mới.Khi cần gửi mail thì sẽ gửi 1 message đến MQ trung gian (Kafka,RabbitMQ,..) chứ không gửi theo kiểu request như thông thường. </p> <p> </p> <p> Em có tìm hiểu nhưng cách giải thích của mọi người trên mạng vẫn làm em mơ hồ chưa hiểu rõ cho lắm.Em chỉ hiểu đơn giản là gửi message qua 1 MQ trung gian như vậy thì đỡ tốn thời gian hơn so với bình thường vì sẽ gửi 1 cách<em><strong> bất đồng bộ</strong></em> và không cần phản hồi từ service đã gửi.Theo em nghĩ thì việc áp dụng 1 MQ trung gian như vậy chắc chắn sẽ có rất nhiều lợi ích.Nên em đặt câu hỏi ở đây và  mong được anh chị có kinh nghiệm giải đáp giúp em ạ. </p> <p> </p> <p> Em có câu hỏi là : </p> <ol> <li>Ngoài service như gửi Mail, SMS thì trong thực tế các service có chức năng kiểu như thế nào thì nên áp dùng kiểu gửi message thông qua MQ như trên vậy ạ? Cho em xin 1 số ví dụ cụ thể với ạ.</li> <li>Vì sao trong thức tế người lại dùng đến các MQ như Kafka, RabbitMQ vậy ạ ?</li> <li><strong>Tất cả ưu điểm/khuyết điểm (nếu có)</strong> của mẫu thiết kế gửi message 1 cách bất đồng bộ qua MQ trung gian là gì ạ ?</li> </ol> <p> Em cảm ơn mọi người rất nhiều ạ ! </p>
Answer