KafkaMessageBus

A general purpose message bus.

Installation

The package can be installed by adding kafka_message_bus to your list of dependencies in mix.exs:

def deps do
[{:kafka_message_bus, "~> 4.3"}]
end

And, for now, this configuration is required:

config :exq,
start_on_application: false

Usage

The following configuration is expected:

config :kafka_message_bus,
source: "source",
default_topic: "default_topic",
adapters: [
AdapterModule
]

Where:

Field Description
source The reported message source
default_topic The default topic for any generated message
adaters A list of adapter modules. Exq and Kaffe are provided.

The adapters themselves also require some configuration.

config :kafka_message_bus, KafkaMessageBus.Adapters.Kaffe,
consumers: [
{"kafka_topic", "kafka_resource", YourApp.ResourceConsumer}
],
producers: ["another_topic"],
endpoints: ["first-broker": 9092, "second-broker": 9092],
namespace: "kafka_consumer_group"