Как правильно организовать outbox pattern для гарантии ровно одного чтения сообщений

golangoutbox patternархитектурагарантии сообщенийпроектирование