Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Saga MassTransit dengan ketekunan Redis memberi Metode Accpet tidak memiliki pengecualian implementasi

Masalahnya di sini adalah request-response.

Ini bekerja seperti ini:

  1. MT menempatkan id permintaan ke properti saga state UrlRequestId
  2. Permintaan dikirim
  3. Anda mendapatkan tanggapan kembali, tanggapan tersebut berisi alamat pemohon dan id permintaan di headernya
  4. MT menggunakan repositori saga untuk menemukan instance Anda menggunakan repo.Find(x => x.UrlRequestId == message.Headers.RequestId) (maka ini bukan kode sebenarnya tapi inilah yang terjadi)
  5. Redis (atau KVS lainnya) tidak mendukung kueri, jadi kami juga tidak mendukung kueri di repositori saga dan Anda mendapatkan pengecualian "tidak diterapkan"

Spesifikasi korelasi Anda untuk tanggapan tidak berpengaruh sejak Request selalu menggunakan header untuk menemukan contoh saga yang memiliki respons.

Anda dapat mengatasinya dengan tidak menggunakan request-response dan sebagai gantinya memancarkan peristiwa menggunakan context.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId }) dan menggunakan korelasi biasa.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Klien C#/.NET untuk Redis

  2. Bagaimana saya bisa mendapatkan Principal pengguna yang saat ini diautentikasi dengan keamanan pegas dan Redis di aplikasi boot musim semi?

  3. Bagaimana cara mengkonfigurasi koneksi Redis dengan Rails 4, Puma dan Sidekiq?

  4. redis cluster reshard [ERR] Memanggil MIGRATE:ERR Syntax error

  5. Disebabkan oleh:java.lang.IllegalArgumentException:CONTAINING (1):[IsContaining, Containing, Creating] tidak didukung untuk turunan kueri redis - Redis