Skip to content

Solace Bindings

Solace PubSub+ is an advanced event broker that supports publish-subscribe, queuing, request-reply, and streaming, all within a single platform. It is the foundation for building an "event mesh," a network layer for distributing events in real time across hybrid and multi-cloud environments. The AsyncAPI Solace bindings provide a rich, detailed way to define your event-driven APIs that leverage the power of Solace.

Solace Protocol Overview

Solace PubSub+ is designed for high-performance, high-availability, and secure event distribution. It is not a protocol itself but a multi-protocol event broker that supports open standards like AMQP, MQTT, and REST, as well as its own efficient SMF protocol.

Key concepts include:

  • Event Mesh: An architecture layer created by a network of interconnected event brokers that enables dynamic routing of events between producer and consumer applications, wherever they are deployed.
  • Message VPN (Virtual Private Network): A virtual message broker within a PubSub+ event broker. It provides a logically separate namespace, allowing for multi-tenancy and isolation of topics, queues, and client connections.
  • Topics: A hierarchical metadata string attached to every message. Solace topics are not pre-configured; they are defined by publishing applications, and consuming applications use topic subscriptions (which support wildcards) to receive messages.
  • Queues: Endpoints that provide guaranteed message delivery. Messages published to a topic can be spooled to a queue if it has a matching topic subscription.
  • Delivery Modes: Solace supports two main delivery modes:
    • Direct Messaging: Low-latency, at-most-once delivery.
    • Persistent Messaging (Guaranteed): At-least-once delivery, where messages are spooled to a queue or topic endpoint.

AsyncAPI Solace Bindings

The Solace bindings allow you to map AsyncAPI concepts to the specific entities and behaviors of the Solace PubSub+ platform.

Binding Types

Binding TypePurposeDescription
Channel Binding(Placeholder)Marks the channel as a Solace topic.
Operation BindingDestination & Behavior ConfigurationDefines the Solace destinations (queues or topics) for an operation, including delivery modes and topic subscriptions. This is the most detailed binding.
Message Binding(Placeholder)Reserved for future Solace-specific message properties.
Server BindingConnection ConfigurationSpecifies the Message VPN and client name for connecting to the Solace broker.

Supported Versions

VersionStatusKey Features
0.4.0LatestComprehensive support for defining multiple operation destinations (queues/topics), delivery modes, and topic subscriptions.
0.3.0LegacyOlder version.
0.2.0LegacyOlder version.
0.1.0LegacyInitial version.

Core Solace Concepts in AsyncAPI

Connecting to a Message VPN

The server binding is used to define the connection to a specific Message VPN on the Solace broker.

yaml
servers:
  solace_broker:
    url: solace.example.com
    protocol: solace
    bindings:
      solace:
        bindingVersion: '0.4.0'
        msgVpn: 'production-vpn'

Defining Destinations in Operations

The operation binding is where the core Solace logic is defined. An operation can have multiple destinations. A consumer, for example, might bind to a durable queue that subscribes to one or more topics.

yaml
operations:
  receiveOrderEvent:
    action: receive
    bindings:
      solace:
        bindingVersion: '0.4.0'
        destinations:
          - destinationType: 'queue'
            deliveryMode: 'persistent'
            queue:
              name: 'q_orders'
              topicSubscriptions:
                - 'orders/v1/us/new'
                - 'orders/v1/ca/new'

Binding Documentation

Channel Bindings

Operation Bindings

Message Bindings

Server Bindings