Gần đây đã hoàn thành một dự án để xử lý xử lý thẻ tín dụng. Một trong những khó khăn tôi gặp phải là xử lý sự chậm trễ / thất bại có thể của tin nhắn thông báo. Ví dụ phức tạp nhất là:
- một hệ thống bên ngoài gửi yêu cầu thanh toán
- hệ thống của tôi biến yêu cầu đó thành yêu cầu đến cổng thanh toán
- gửi người dùng đến cổng
- chờ người dùng thực hiện thanh toán
- người dùng quay trở lại hệ thống của tôi nhưng bị giữ cho đến khi hệ thống nhận được thông báo thành công / thất bại
- Gửi người dùng trở lại hệ thống bên ngoài tùy thuộc vào thất bại
Khó khăn hơn nữa là khi không gửi được thông báo, cổng cố gắng gửi thông báo cứ sau 15 phút trong một số giờ.
Tôi đã giải quyết nó bằng cách sử dụng bản ghi cơ sở dữ liệu về các giao dịch đang chờ xử lý và sau đó phát hiện thành công và thất bại từ việc trả lại cộng với một trình lắng nghe chậm trễ theo thời gian để xử lý thông báo và giao dịch ...
Hợp lý khó khăn!
Nhưng điều này hẳn đã được giải quyết một thời gian trước đây vậy thực hành tốt nhất là gì?
Tôi có thể thấy tương lai của mình sẽ viết ra cách xử lý giữa tất cả các hệ thống này và quản lý sự chậm trễ thời gian và các lỗi mạng có thể xảy ra vì vậy tôi muốn tuân theo các thực tiễn tốt nhất.
Đề xuất sách / bài viết sẽ là tuyệt vời.
Cảm ơn trước!