В Rebus существует ли способ управления обработкой сообщений таким образом, чтобы сообщения обрабатывались последовательно? т.е. первым один обрабатывается, а затем удаляется затем второй обработке и т.д. неПоследовательная обработка сообщений
ответ
Да - и нет :)
Во-первых, я просто хочу сказать, что это лучшее, что вы делаете все, что в ваших силах, чтобы спроектировать систему в что он становится толерантным к переупорядоченным сообщениям. В будущем вы будете намного счастливее, если ваша система сможет выйти в согласованное состояние, даже если одно или несколько сообщений были помещены в очередь ошибок на некоторое время.
И когда я говорю «толерантное к переупорядоченному сообщению», я не обязательно имею в виду «все сообщения в абсолютно случайном порядке» ... больше похоже на «слегка переупорядоченный» и/или «некоторые из них должны быть в но может терпеть многие из них переупорядоченные ». В пределах разумного.
Это звучит так, как будто ваше требование довольно строгое - и единственный способ достичь этого - это иметь один поток (с параллелизмом 1) обработки сообщений, отбрасывая (или перемещаясь в обратную сторону очереди, если сообщения важны) сообщения, которые не ожидали быть следующей.
Если перемещение сообщений в обратную очередь очереди слишком грубое (это может стать медленным, если у вас много сообщений или если они часто выходят из строя), вы можете использовать сагу для отправки сообщений в очередь, пока у вас не будет правильное сообщение, и в этот момент вы можете делать то, что вам нужно.
Надеюсь, это имеет смысл :) Пожалуйста, дайте мне знать, если что-то неясно.
- 1. Последовательная многопроцессорная обработка
- 2. Обработка Последовательная ошибка
- 3. Последовательная нумерация сообщений в Tumblr
- 4. Последовательная обработка при интеграции весов
- 5. Последовательная обработка фона с Gearman
- 6. Последовательная обработка корпуса с динамической логикой?
- 7. Обработка сообщений
- 8. Последовательная обработка определенного типа сообщения в Rebus
- 9. Обработка сообщений и обработка ошибок
- 10. Последовательная обработка файлов в МПБЕ v9
- 11. Последовательная фоновая обработка задач на Microsoft
- 12. Последовательная обработка для сгенерированных методов основных данных
- 13. Насколько эффективна многопоточность или последовательная обработка?
- 14. Java ExecutorService - иногда медленнее, чем последовательная обработка?
- 15. Транзакция и последовательная обработка в СУБД - конфликты
- 16. Принудительная последовательная обработка в Haskell's Data.Binary.Get
- 17. последовательная обработка событий через службу-исполнители
- 18. Многопоточность в Python или последовательная обработка?
- 19. Последовательная обработка в Rabbit MQ NodeJS
- 20. Mule: Обработка сообщений через интервалы. Обработка отложенных сообщений
- 21. SimpleMessageListenerContainer обработка массовых сообщений
- 22. Logstash: Обработка больших сообщений
- 23. SMS - Обработка входящих сообщений
- 24. Обработка нескольких сообщений
- 25. Параллельная обработка сообщений (Python)
- 26. Исключение Обработка выходных сообщений
- 27. Обработка полученных сообщений iphone
- 28. Обработка сообщений MVC
- 29. FMX - Обработка сообщений Trayicon
- 30. Обработка сообщений с актерами
@ mooid8000: Это не сработает, если я запускаю обработчики на нескольких машинах. Верный? – Chandu
правильный - для этого вам понадобится какой-то механизм распределенного сериализации ... но в целом лучше использовать очереди для работы, которые МОГУТ быть распределены и обработаны одновременно, возможно параллельно на нескольких машинах, и, таким образом, он лучше всего работает, если работа, необходимая для обработки каждого сообщения, является довольно независимой и не противоречит тем же ресурсам – mookid8000