Как я могу прочитать из очереди несколько элементов сразу без прерывания причинность между сообщениями?
Действительно хороший случай.
Если действительно выполняется желаемым образом, особенность TimeDOMAIN « сразу » идет в основном против скрытой морфологии , что выражается как « причинность ».
Дается вместе с входной стороной QUEUE, которая по определению является чистой - [SERIAL]
(ничего не может произойти сразу, только чистый один ход за другим, даже если " just "- [CONCURENT]
планирование может быть выставлено внешним агентам, внутреннее управление QUEUE соответствует чисто последовательному упорядочению внутреннего потока и доставки сообщений (также ссылается на метки времени, постоянство и другие их артефакты)).
Причинность также означает некоторый cause -> effect
порядок событий, как в смысле абстрактной причинности отношения, так и в потоке реального времени того, как вещи действительно происходят, так практически против паттерна " сразу ".
И последнее, но не менее важное: Причинность также должна обрабатывать дополнительную парадигму, задержка между стороной cause ->
и -> effect
сторона (часто F inite- S tate- A utomata, обычно с гораздо более богатым пространством состояний, чем просто { 0 -> CREATE -> UPDATE [ -> UPDATE [...] ] -> }
) серия событий.
Результат
В то время как можно «читать», используя некоторую степень [CONCURRENT]
-планирования процессов, условия FSA / Causality в основном избегают выхода из основного чистого- [SERIAL]
постобработки события сообщения доставлены.
В этом случае появятся дополнительные правила, если среда обмена сообщениями не содержит посредников и не гарантирует гарантированную устойчивость к потерянным сообщениям / упорядочению сообщений / подлинности сообщений / содержанию сообщений.
Там дьяволы начинают танцевать против ваших попыток построить последовательную, распределенную обработку транзакций, надежную, распределенную FSA: o)