Redis
 sql >> база данни >  >> NoSQL >> Redis

Сагата за MassTransit с устойчивост на Redis дава методът Accpet няма изключение за внедряване

Проблемът тук е заявка-отговор.

Работи така:

  1. MT поставя идентификатора на заявката в свойството на състоянието на сагата UrlRequestId
  2. Заявката е изпратена
  3. Получавате отговор обратно, като отговорът съдържа адреса на заявителя и идентификатора на заявката в заглавката
  4. MT използва хранилище на сагата, за да намира вашият екземпляр с помощта на repo.Find(x => x.UrlRequestId == message.Headers.RequestId) (следователно това не е истинският код, но това се случва)
  5. Redis (или който и да е друг KVS) не поддържа заявки, така че ние също не поддържаме заявки в хранилища на сагата и получавате изключение „not implemented“

Вашата спецификация на корелация за отговорите няма ефект след Request винаги използва заглавки, за да намери екземпляр на сага, за който принадлежи отговорът.

Можете да заобиколите това, като не използвате запитване-отговор и вместо това да издадете събитие с помощта на context.Publish(new LinkCreatedEvent { ... , CorrelationId = context.Message.CorrelationId }) и използвайки обичайната корелация.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Свързване с Redis To Go с PHP

  2. Как да използвам повторно Redis връзка в socket.io?

  3. Проблем при десериализирането на redis-cache към обекти в Spring-boot

  4. Планиране на задачи за целина с голямо ETA

  5. Надеждни библиотеки за интеграционни тестове за Spring boot redis