thắc mắc Câu hỏi interview về microservice?

Nay em đi pvan gặp 1 câu hỏi như thế này ạ: 1 request đang được xử lý bởi 1 instance trong số nhiều instance của 1 service thì bất ngờ instance này down. Nêu cách xử lý vấn đề trên.
Các bác giải đáp giúp em với ạ
 
Nay em đi pvan gặp 1 câu hỏi như thế này ạ: 1 request đang được xử lý bởi 1 instance trong số nhiều instance của 1 service thì bất ngờ instance này down. Nêu cách xử lý vấn đề trên.
Các bác giải đáp giúp em với ạ
Nết get thì dùng retry hoặc circuit breaker. Còn nếu liên quan transaction thì có thể dùng job để scan lại các transaction bị lỗi hoặc dùng msg queue để capture các request trước, nếu instance nào xử lý thành công thì gửi ack lại cho queue, nếu xử lý thất bại thì ném vào instance khác xử lý tiếp. Ngu kiến nên mời ae khác
 
Nay em đi pvan gặp 1 câu hỏi như thế này ạ: 1 request đang được xử lý bởi 1 instance trong số nhiều instance của 1 service thì bất ngờ instance này down. Nêu cách xử lý vấn đề trên.
Các bác giải đáp giúp em với ạ
Cũng có đợt tôi bị hỏi câu này. Tôi bảo mấy cái queue như kafka có cơ chế Ack. Cái instance bị down kia không ack được thì retry lại. Rồi tôi bị hỏi tiếp khi nào thì retry blah blah…

Cuối cùng interviewer hỏi sao mày không để FE gửi lại request!?
 
Nay em đi pvan gặp 1 câu hỏi như thế này ạ: 1 request đang được xử lý bởi 1 instance trong số nhiều instance của 1 service thì bất ngờ instance này down. Nêu cách xử lý vấn đề trên.
Các bác giải đáp giúp em với ạ
Kinh nghiêm thực tế:
build workflow (quản lý state), worker sẽ query retry theo số lần config.
Cơ bản là cần cơ chế retry thôi.
  • Techincal Error: retry(network error, service down...)
  • Biz error: không retry.
 
Cũng có đợt tôi bị hỏi câu này. Tôi bảo mấy cái queue như kafka có cơ chế Ack. Cái instance bị down kia không ack được thì retry lại. Rồi tôi bị hỏi tiếp khi nào thì retry blah blah…

Cuối cùng interviewer hỏi sao mày không để FE gửi lại request!?
mình nghĩ phải xác định cơ chế ở đây là gì:
  • Nếu là xử lý bất đồng bộ: client bắn request sang microservice, tạo event để nó xử lý rồi response success. Error xảy ra trong quá trình xử lý request
  • Hay là xử lý đồng bộ: client bắn request sang microservice rồi chờ kết quả trả về. Trường hợp này nếu có lỗi thì client aware đc và có thể retry... Có thể ý của interviewer nói khúc sau là cho trường hợp này,

Còn với trường hợp 1, cần xây dựng 1 cơ chế riêng cho micro-service, solution cụ thể có thể như các bác ở trên. Tùy thuộc vào hiện trạng của hệ thống để có phương án thích hợp
 

Thống kê chủ đề

Ngày tạo
Bị ban nick lần 2,
Người trả lời cuối
thanhx0kjt,
Trả lời
5
Lượt xem
1.599
Quay lại
Lên đầu trang