Exactly-once delivery is covering processing in this scenario. Because of that it is not covered in tests and schemas.
REST endpoint was just added to create entire use case. But you are right, if in this part of the system something will go wrong you will have duplicate message. But it’s rather at least once publish rather at least once delivery. Message will be delivered once, but published twice :)
back
1 comments
But that seems pointless. Exactly-once covering a subset of the pipeline doesn't guarantee exactly-once. At best it improves your chance of exactly-once delivery.
If you really need exactly-once delivery you need to make it end-to-end. If you don't support end-to-end exactly-once than you are really just an at-least-once delivery system.
So you are making a guarantee that provides little if any benefits because it can not be tied into the whole pipeline.