-
Install Docker.
-
Set
HOST_IP
environment variable with:export HOST_IP=$(ifconfig | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep -v 127.0.0.1 \ | awk '{print $2}' | cut -f2 -d: |head -n1)
-
Bring up the containers with
docker-compose up -d
. -
Wait about 10 seconds or so while Kafka and Zookeeper start up.
-
Create the Debezium Connector for the Postgres database:
curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" \ localhost:9090/connectors/ -d @connectors/postgres-connector.json
-
Run
docker-compose up -d
again, since thepusher
service depends on the Debezium Connector. -
Navigate to
localhost:3000
. -
Type messages into the message box and hit the
Send
button. You should observe messages return to the browser. If you open multiple tabs, then you should each message on each tab.
- Postgres database
- Debezium Postgres Connector for events using the Postgres WAL
- Kafka for message passing
- Redis for session management
- Golang for the web server and Kafka consumer