Baru-baru ini menyelesaikan sebuah proyek untuk menangani pemrosesan kartu kredit. Salah satu kesulitan yang saya hadapi adalah menangani keterlambatan / kemungkinan kegagalan pesan notifikasi. Contoh paling kompleks adalah:
- sistem eksternal mengirimkan permintaan pembayaran
- sistem saya mengubah permintaan itu menjadi permintaan ke gateway pembayaran
- mengirim pengguna ke gateway
- menunggu pengguna untuk melakukan pembayaran
- pengguna kembali ke sistem saya tetapi ditahan sampai sistem menerima pemberitahuan keberhasilan / kegagalan
- Mengirim pengguna kembali ke sistem eksternal tergantung pada kegagalan
Yang lebih sulit adalah kenyataan bahwa setelah gagal mengirim notifikasi, gateway mencoba mengirim notifikasi setiap 15 menit selama beberapa jam.
Saya memecahkannya menggunakan catatan basis data dari transaksi yang tertunda dan kemudian mendeteksi keberhasilan dan kegagalan dari pengembalian ditambah pendengar waktu yang terlambat untuk pemberitahuan dan penanganan transaksi ...
Sangat sulit!
Tapi ini pasti sudah dipecahkan trilyun kali sebelum jadi apa praktik terbaik?
Saya bisa melihat masa depan saya akan menulis penanganan antara semua sistem ini dan mengelola penundaan waktu dan kemungkinan kegagalan jaringan, jadi saya ingin mengikuti praktik terbaik.
Rekomendasi buku / artikel akan sangat bagus.
Terima kasih sebelumnya!