Skip to content

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