|
|
|
|
|
by mozinator
1350 days ago
|
|
This has been my experience too. Instead of going the logical replication route I tend to leverage the transactional outbox to achieve consistency in the application layer instead. So when I transact data into tables I immediately fetch the latest outbox id. And then when query from Elasticsearch I first fetch what the last outbox id of the processed data is. This way I know if the transaction was already processed into Elasticsearch or not. Repeat. Until outbox id of Elasticsearch is equal or higher than the outbox id of the mutation. This way I don't have to use logical replication, no k/v store and I can just use a script that fetches and processes the latest outbox changes on a loop. |
|