Bagikan melalui


Jaminan pengiriman Olahpesan

Orleans jaminan pengiriman olahpesan paling banyak sekali, secara default. Secara opsional, jika dikonfigurasi untuk melakukan percobaan ulang pada waktu habis, Orleans berikan pengiriman setidaknya sekali sebagai gantinya.

Secara lebih rinci:

  • Setiap pesan di Orleans memiliki batas waktu otomatis (batas waktu yang tepat dapat dikonfigurasi). Jika balasan tidak tiba tepat waktu, yang dikembalikan Task rusak dengan pengecualian waktu habis.
  • Orleans dapat dikonfigurasi untuk melakukan percobaan ulang otomatis setelah waktu habis. Secara default, ini tidak melakukan percobaan ulang otomatis.
  • Kode aplikasi tentu saja juga dapat memilih untuk melakukan percobaan ulang pada waktu habis.

Jika sistem dikonfigurasi Orleans untuk tidak melakukan percobaan ulang otomatis (pengaturan default) dan aplikasi tidak mengirim ulang - Orleans menyediakan pengiriman pesan paling banyak sekali. Pesan akan dikirim sekali atau tidak sama sekali. Ini tidak akan pernah dikirimkan dua kali.

Dalam sistem dengan percobaan ulang (baik oleh runtime atau oleh aplikasi), pesan mungkin tiba beberapa kali. Orleans saat ini tidak melakukan apa pun untuk menyimpan pesan mana yang sudah tiba dan menekan pengiriman kedua. (Kami percaya ini akan sangat mahal.) Jadi dalam sistem dengan percobaan Orleans ulang TIDAK menjamin paling banyak sekali pengiriman.

Jika Anda terus mencoba kembali berpotensi tanpa batas waktu, pesan pada akhirnya akan tiba, sehingga memberikan jaminan pengiriman setidaknya sekali. Perhatikan bahwa "pada akhirnya akan tiba" adalah sesuatu yang perlu dijamin oleh runtime. Itu tidak datang secara gratis hanya dengan sendirinya bahkan jika Anda terus mencoba kembali. Orleans menyediakan pengiriman akhirnya karena biji-bijian tidak pernah masuk ke status kegagalan permanen dan biji-bijian yang gagal pada akhirnya akan diaktifkan kembali pada silo lain.

Jadi untuk meringkas: dalam sistem tanpa percobaan Orleans ulang menjamin pengiriman pesan paling banyak sekali. Dalam sistem dengan percobaan ulang tak terbatas, Orleans menjamin setidaknya sekali (dan tidak menjamin paling banyak sekali).

Penting

Orleans Dalam laporan teknis, kami tidak sengaja hanya menyebutkan opsi ke-2 dengan percobaan ulang otomatis. Kami lupa menyebutkan bahwa secara default tanpa percobaan ulang, Orleans menyediakan pengiriman paling banyak sekali.