Avatar
0
Thân Nam Teacher
Thân Nam Teacher
Sử lí responses trong microservice khi request được sử lí bởi nhiều service
Frontend gửi request order tới API Gateway thông qua REST API, order được điều hướng tới service A. Service A xử lý xong gửi order sang service B thông qua message queue. Service B xử lý xong là hết thúc quá trình xử lý order. Làm sao để hệ thống trả lại response cho frontend?
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Teacher
tvd12 Teacher
Anh đoán ý em là phải response lại request mà frontend gửi lên API gateway theo kiểu đồng bộ. Vậy thì có một số cách sau:
  1. Service B thông qua message queue trả lại kết quả cho Api Gateway, sau đó API trả về cho frontend.
  2. API gateway sẽ loop liên tục để lấy bản ghi kết quả từ 1 bảng trong cơ sở dữ liệu hoặc 1 map trên redis, Service B sau khi xử lý xong thì sẽ insert 1 bản ghi vào bảng, API gateway sau khi đọc thấy bản ghi kết quả thì trả về cho front-end.

Nhưng anh nghĩ cách 1 sẽ hợp lý hơn trong trường hợp của em đã có sẵn dịch vụ message queue rồi.

  • 0
  • Reply