Мне очень понравилась презентация Джеймса Льюиса "Микросервисы: Java, путь Unix".
В этой презентации Джеймс рассказывает о реализации службы регистрации пользователей путем написания механизма обработки очередей, который считывает события из потока атомов и предоставляет конечную точку, которую несколько потребителей могут считывать для обработки и превращения в пользовательские объекты.
Примечания к конкретному слайду (около 18 :40 в видео) говорят, что это было реализовано с помощью конкурирующего потребительского EIP:
«Подсистема обработки очереди реализовала шаблон конкурирующего потребителя, используя условные GET, PUT и Etags для коллекции атомов, представленной очередью событий»
Такой вид очереди (и то, как они говорят о разнородных потребителях) предполагает, что это канал публикации-подписки.
Я не очень понимаю, как это можно реализовать, в книге EIP написано, что конкурирующие потребители работают только:
[...] с каналами «точка-точка»; несколько потребителей на канале публикации-подписки просто создают больше копий каждого сообщения
Я предполагаю, что процессор очереди предоставляет ресурс REST, который конкурирующие потребители вызывают, отправляя запросы GET для новых элементов, но где в него попадают запросы PUT и etags?