Avatar
1
Lâm Văn Đời Beginner
Ưu /khuyết điểm của Message Queue
Chào mọi người, em có câu hỏi là:

Tất cả ưu điểm/khuyết điểm (nếu có) của mẫu thiết kế gửi message 1 cách bất đồng bộ qua MQ trung gian là gì ạ ?
  • Answer
mq
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
  1. Ưu điểm:
  • Nó giải phóng được thread đang phục vụ API, từ đó mà có thể phục vụ nhiều request đồng thời hơn.
  • Nó tách biệt các nghiệp vụ, từ đó mà có thể chia nhỏ được các nghiệp vụ, nhiều team sẽ làm việc cùng 1 lúc, và nếu 1 nghiệp vụ bị tèo thì cũng không ảnh hưởng gì đến toàn bộ hệ thống
  • Trên thực tế có những nghiệp vụ ví dụ xử lý transaction gửi nhận tiền giữa nhiều users chẳng hạn, thì việc gom yêu cầu thông qua MQ rồi đến con consumer xử lý tập trung sẽ làm cho những việc kiểu như lock nó rất dễ dàng, ví dụ:

lock.lock()
try {
  cộng tiền của user 1,
  trừ tiền của user 2
} finally {
  lock.unlock();
}

Thay vì phải xử lý cực kỳ phức tạp nếu xử lý transaction trên nhiều server, thậm chí đôi khi còn không thể nào xử lý chính xác 100% được.

  1. Nhược điểm:
  • Nó sẽ yêu cầu phải sinh ra nhiều server để cài cắm và xử lý, tối thiều đã cần 1 con producer, 1 con broker và 1 con consumer rồi, từ đó cũng tăng thêm chi phí DevOps, chi phí vận hành.
  • Do dữ liệu phải đi qua nhiều server trung gian nên tốc độ sẽ bị chậm hơn so với xử lý trực tiếp từ server nhận request.
  • 0
  • Reply