/outbox-example-apps

sbmt-outbox example applications

Primary LanguageRuby

Outbox example apps

These are example applications that use:

How to run

  1. Install Dip
  2. Start Quest application cd quest && dip infra up && dip up
  3. Start Voyage application cd voyage && dip infra up && dip up

Test case

  1. Create an order in the Quest app
curl -L http://quest.lvh.me/api/v1/orders -F '[order]name=Foo' -F '[order]qty=3' -F '[order]price=42'
  1. Send the order to the Voyage app with Outbox pattern
curl -X POST -L  http://quest.lvh.me/api/v1/orders/ORDER-ID/completion
  1. Show the imported order in the Voyage app
curl -L http://voyage.lvh.me/api/v1/orders/ORDER-ID

Troubleshooting

Sometimes Kafka broker doesn't receive a message into the topic. In this case:

  • stop all applications with dip down
  • stop infra containers with dip infra down
  • delete kafka volumes with docker volume rm dip-infra-kafka-latest_kafka dip-infra-kafka-latest_zookeeper