4 ms·
How is it incredibly difficult? I’ve seen this work very well. Is your code handling different varieties of event states stored in your database? Why implemen
by nostrebored 3y ago
How is it incredibly difficult? I’ve seen this work very well.
Is your code handling different varieties of event states stored in your database?
Why implement this as a monolithic data source? Was it not possible to separate different states by additional queues?
Curious to hear the decision making process here. Maybe I can see it for low volume?
- jvans 3y agodralley is saying your queue push and database write aren't transactional. You have to be ok suffering some small % of message loss or messages sent without a database commit
- nostrebored 3y agoDepends on your queue semantics, ie is it just an at least once delivery or is there an ack back to the queue service. If there is a two phase process then you just need idempotence and can safely transact with the db.
- jvans 3y agoIt doesn't matter what your queue semantics are. If it's not part of the transaction, delivery and push cannot be guaranteed to be atomic.
- dralley 3y agoAdmittedly we're not using it for anything high volume.
- arcbyte 3y agoAt the end of the day, the ONLY way to reliably do this is to hook into the databases native journal/log anyway. Postgres gives you better primitives to work with than installing Qlik for example.
- nostrebored 3y agoWhy do you think so?