conduit alternatives and similar packages
Based on the "Queue" category.
Alternatively, view conduit alternatives based on common mentions on social networks and blogs.
-
kaffe
An opinionated Elixir wrapper around brod, the Erlang Kafka client, that supports encrypted connections to Heroku Kafka out of the box. -
task_bunny
TaskBunny is a background processing application written in Elixir and uses RabbitMQ as a messaging backend -
hulaaki
DISCONTINUED. DEPRECATED : An Elixir library (driver) for clients communicating with MQTT brokers(via the MQTT 3.1.1 protocol). -
adap
Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules. -
exdisque
Elixir client for Disque (https://github.com/antirez/disque), an in-memory, distributed job queue.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of conduit or a related project?
Popular Comparisons
README
Conduit
A message queue framework, with support for middleware and multiple adapters.
Check out this slide deck for more info.
Installation
The package can be installed as:
- Add
conduit
to your list of dependencies inmix.exs
:
def deps do
[{:conduit, "~> 0.12"}]
end
- If you are explicitly stating which applications to start, ensure
conduit
is started before your application:
def application do
[applications: [:conduit]]
end
Getting Started
Once conduit is added to your project, you can generate a broker. For example:
mix conduit.gen.broker --adapter amqp
mix conduit.gen.broker --adapter sqs
The Broker is responsible for describing how to setup your message queue routing, defining subscribers, publishers, and pipelines for subscribers and publishers.
See mix help conduit.gen.broker
for all the options that are available. For
example, specifying the adapter to use.
Officially Supported Adapters
- AMQP 0-9-1 - ConduitAMQP
- SQS - ConduitSQS
In the future more adapters will be supported.
Configuring the Broker Topology
MQ's have queues which need to be setup and may involve other concepts as well, including exchanges and bindings. Conduit attemps to stay out of the way when you need to define these things because each MQ has a different opinion on what you need.
Because of that, you'll need to looks at the specific adapter for what options are available.
Configuring a Subscriber
A subscriber is responsible for processing messages from a message queue. Typically, you'll have one subscriber per queue. You can generate a subscriber by doing:
mix conduit.gen.subscriber user_created
See mix help conduit.gen.subscriber
for all the options that are available.
You can find more information about configuring your subscriber in the adapter specific docs here:
- AMQP 0-9-1 - Subscribers
- SQS - Subscribers
Configuring a Publisher
A publisher is responsible for sending messages. You can find more information abount configuring publishers in the adapter specific docs here:
- AMQP 0-9-1 - Publishers
- SQS - Publishers
*Note that all licence references and agreements mentioned in the conduit README section above
are relevant to that project's source code only.