messaging connectors¶
Message-broker and queue integrations. Five use native Go libraries with full binary-protocol support (Kafka, AMQP, RabbitMQ, MQTT, Redis Streams) — these are production-grade and bidirectional with proper consumer groups, acks, and back-pressure. The remaining 10 use HTTP REST against management endpoints or HTTP bridge proxies for less common brokers.
Connectors in this category¶
| Connector | URI / type | Auth | Native SDK | One-line description |
|---|---|---|---|---|
activemq |
connector://activemq/send |
Basic / JAAS | No (HTTP) | ActiveMQ Classic JMS broker via REST adapter. |
amqp |
connector://amqp/send |
SASL PLAIN / EXTERNAL | Yes (rabbitmq/amqp091-go) |
AMQP 0-9-1 protocol publish + consume + exchange / queue declare. |
aws_sqs |
connector://aws-sqs-msg/send |
IAM SigV4 | No (HTTP) | Amazon SQS as a messaging integration (alternative entry to aws category). |
azure_service_bus |
connector://asb-msg/send |
SAS / OAuth2 | No (HTTP) | Azure Service Bus queue + topic + subscription. |
ibm_ctg |
connector://ibm-ctg/send |
IBM credentials | No (HTTP) | IBM CICS Transaction Gateway via REST adapter. |
ibm_mq |
connector://ibm-mq/send |
MQ user / cert | No (HTTP) | IBM MQ Series messaging via REST adapter. |
jms |
connector://jms/send |
JAAS / provider-specific | No (HTTP) | Generic JMS-style messaging via REST gateway. |
kafka |
connector://kafka/send |
SASL / PLAIN / SCRAM / mTLS | Yes (segmentio/kafka-go) |
Apache Kafka producer + consumer with consumer-group rebalancing. |
mqtt |
connector://mqtt/send |
Username / password / mTLS | Yes (eclipse/paho.mqtt.golang) |
MQTT 3.1.1 publish + subscribe with QoS 0/1/2 and TLS. |
msmq |
connector://msmq/send |
Windows auth | No (HTTP) | Microsoft Message Queuing via REST adapter. |
pulsar |
connector://pulsar/send |
JWT / mTLS | No (HTTP) | Apache Pulsar producer + consumer via REST. |
rabbitmq |
connector://rmq/send |
SASL PLAIN | Yes (rabbitmq/amqp091-go) |
RabbitMQ AMQP 0-9-1 publish + consume + ack. |
redis_streams |
connector://rstreams/send |
Password / ACL | Yes (redis/go-redis/v9) |
Redis Streams XADD + XREADGROUP consumer-group consume. |
stomp |
connector://stomp/send |
Login / passcode | No (HTTP) | STOMP messaging frames (over WebSocket / TCP shim). |
zeromq |
connector://zmq/send |
None (CURVE optional) | No (HTTP) | ZeroMQ socket types (REQ/REP, PUB/SUB, PUSH/PULL) via shim. |
Native-SDK deep section¶
kafka¶
Source: pkg/connector/connectors/messaging/kafka.go. Uses segmentio/kafka-go Writer (batching, compression, idempotency) and Reader (consumer-group rebalancing, offset commit).
connectors:
events:
type: kafka
config:
brokers: "kafka-1:9092,kafka-2:9092,kafka-3:9092"
topic: events
group_id: helix-consumers
sasl_mechanism: SCRAM-SHA-256
sasl_username: helix
sasl_password: ${KAFKA_PASS}
tls_enabled: true
amqp and rabbitmq¶
Both source pkg/connector/connectors/messaging/amqp.go and rabbitmq.go use the same rabbitmq/amqp091-go client. They differ on schema defaults: rabbitmq defaults to vhost-style URI, amqp is broker-agnostic. Supports exchange + queue declare, ack/nack, prefetch.
connectors:
events-in:
type: rabbitmq
config:
uri: amqp://user:pass@rmq:5672/vhost
queue: events
exchange: events-x
exchange_type: topic
routing_key: order.*
prefetch: 32
auto_ack: false
mqtt¶
Source: pkg/connector/connectors/messaging/mqtt.go. Uses eclipse/paho.mqtt.golang. Default QoS is 1; supports 0/1/2 plus retained messages, last-will, mTLS.
redis_streams¶
Source: pkg/connector/connectors/messaging/redis_streams.go. Uses go-redis/v9 UniversalClient. Producer = XADD; consumer = XREADGROUP with explicit ack via XACK.
See also¶
- Connector SDK guide — adding a new connector
kafka://,amqp://,nats://,mqtt://,sqs://components — first-class messaging components with deeper feature coverage- iot — OPC-UA, PLC4X for industrial telemetry → MQTT / Kafka