Недавний presentation Я видел относительно RabbitMQ упоминал использование чего-то, называемого «барьером идемпотентности» для устранения дублирования сообщений. Это просто причудливое имя для конферанса сообщений или это нечто более конкретное. Если да, то что именно? Поиск Google дал результаты, которые в основном связаны с RabbitMQ, с небольшим объяснением того, что это было.Idempotency Barrier для обмена сообщениями
3
A
ответ
9
Idempotency - это поведение функции, когда выполнение функции на выходе функции n раз приводит к тому же состоянию, что и функция, выполняемая один раз. Это полезно в среде обмена сообщениями, поскольку отложенные сообщения не вызывают неожиданного поведения. Хотя объединение означает, что сообщения будут сконцентрированы для предотвращения дублирования, идемпотент подразумевает, что система обмена сообщениями допускает множественные передачи и выполнение дублированных сообщений, при этом сохраняя, что выполнение нескольких копий сообщения имеет тот же результат, что и выполнение одного сообщения.
Смежные вопросы
- 1. Cassandra для обмена сообщениями
- 2. Альтернатива оболочке обмена сообщениями «Layer» для обмена сообщениями iOS
- 3. Плагин для обмена сообщениями Xamarin
- 4. Выбор решения для обмена сообщениями
- 5. C2DM - облако для обмена сообщениями
- 6. C# Клиент для обмена сообщениями
- 7. Поддержка обмена сообщениями для SMTP?
- 8. платформа обмена сообщениями (XMPP)
- 9. Служба обмена сообщениями GAE
- 10. Область обмена сообщениями ActiveMQ
- 11. Система обмена сообщениями/событий
- 12. Платформа обмена сообщениями
- 13. кумулятивный шаблон обмена сообщениями
- 14. Ajax Система обмена сообщениями
- 15. PHP обмена мгновенными сообщениями
- 16. Архитектура обмена сообщениями
- 17. Беседоподобная система обмена сообщениями
- 18. Система обмена сообщениями Unity
- 19. Служба обмена сообщениями UDP
- 20. Система обмена сообщениями PHP
- 21. Отладка обмена сообщениями
- 22. Ионное изображение для приложения для обмена сообщениями
- 23. ATOM для службы обмена сообщениями для «предприятия»
- 24. Архитектура обмена сообщениями MQ для управления отклоненными сообщениями
- 25. разработки андроид приложения для обмена сообщениями и оценки bluemix стоимости для приложения обмена сообщениями
- 26. Как справиться с Idempotency на уровне обслуживания?
- 27. Сохранение неправильного идентификатора для системы обмена сообщениями
- 28. Веб-приложение для обмена мгновенными сообщениями пользователя
- 29. Препятствия для обмена сообщениями FIFO (named pipe)
- 30. Стратегии обмена сообщениями для подключения разных систем
Если я правильно понял, ваше последнее предложение, по-видимому, подразумевает, что идемпотентность фактически является функцией потребителя сообщений, а не рамки. Если это так, то что означает, что структура должна быть невосприимчивой? Если структура позволяет выполнять дубликаты, клиент должен обнаруживать дубликаты и игнорировать их или оставаться незатронутыми. – omerkudat
В среде обмена сообщениями идемпотентное поведение может быть создано одним из двух способов. Вы можете инкапсулировать его в свое сообщение, подумать о рекурсии хвоста, или вы можете заставить клиент реализовать какой-то механизм кэширования, как вы описываете. Техника кэширования, о которой вы думаете, представляет собой концептуально простую технику, но она недостаточно масштабируется, так как кеш должен постоянно расти, когда вы покидаете потребитель сообщения. Это может привести к отсутствию памяти, если с высокой пропускной способностью через службу. – codethulhu
Вы можете реализовать скользящее окно (похожее на TCP), если знаете, что ваши SLA в терминах отложенных сообщений. т. е. если вы создаете SLA, то в кэше должны храниться только последние 1000 сообщений, тогда у вас есть ограниченная память. Для большинства ситуаций такой тип размещения должен быть достаточным, поскольку они будут иметь реалистичную верхнюю границу для задержек - но, очевидно, не допускают «бесконечных» задержек, если вам когда-либо понадобится это. Итог, выясните свои SLA. –