Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
producer
router
webhooks-server
.validate_example.sh
README.md
docker-compose.yml

README.md

HTTP producer example

This example showcases the use of HTTP producer to call webhooks with HTTP POST requests. It consists of three services:

  1. producer publishes messages on Kafka. The messages come in three varieties: Foo, Bar, and Baz. The event type is encoded in metadata, under the key event_type.
  2. webhook_server is a HTTP server that listens for requests and prints the path, method, and payload on stdout.
  3. router consumes the Kafka messages, and uses the HTTP producer to send requests to webhook_server. To illustrate how one message can spawn multiple webhooks, the following paths are called based on event_type:
    1. /foo for events of type Foo
    2. /foo_or_bar for events of type Foo or Bar
    3. /all for all events.

Additionally, services zookeper and kafka are present to provide backend for the Kafka producer and subscriber.

Requirements

To run this example you will need Docker and docker-compose installed. See installation guide at https://docs.docker.com/compose/install/

Running

To run all services, execute:

docker-compose up

To filter messages from a specific service, execute:

docker-compose logs [-f] {service}

in a separate terminal window while the services are running. Use the -f flag to emulate tail -f behavior, i.e. follow the output.