Reliable Microservices Data Exchange With the Outbox Pattern
The overall solution looks like so:
Setup the necessary environment variables
$ export DEBEZIUM_VERSION=2.4.2.Final
$ export DEBEZIUM_CONNECTOR_VERSION=2.4.2.Final
The DEBEZIUM_VERSION
specifies which version of Debezium images should be used.
The DEBEZIUM_CONNECTOR_VERSION
specifies which version of Debezium connector artifacts should be used.
Register the connector that to stream outbox changes from the order service: Once you've all the docker components up and running run the following command command to register
$ http PUT http://localhost:8083/connectors/outbox-connector/config < register-postgres.json
HTTP/1.1 201 Created
Changes needed from the tutorial
- Changed the order and shipment db to use standard postgresql
- Added - "wal_level=logical" to order-db as a command
postgres -c wal_level=logical
Need to set WriteAheadLog to logical for debezium connector to work
- Update strimzi-connect env config to value.converter=org.apache.kafka.connect.storage.StringConverter, as the kafka values were string escaped
- Added postresql and conduktor-platform for kafka UI