Skip to content

Solace

Overview

Solace is a complete event streaming and management platform providing high-performance messaging, event routers, and message brokers. It accommodates many protocols and APIs, supporting event-driven applications, microservices, and IoT use cases.

Data Model

Core Concepts

graph TB
    subgraph "Solace Message Broker"
        LL[Line Layer]
        VLAN[Virtual LAN]
        QNET[Queue Network]
        QUEUES[Queues]
    end

    subgraph "Protocols"
        AMQP[AMQP 1.0]
        MQTT[MQTT 3.1.1]
        REST[HTTP REST]
        WS[WebSocket]
        JMS[JMS]
    end

    subgraph "Publishers"
        PUB[Publishers]
    end

    subgraph "Subscribers"
        SUB[Subscribers]
    end

    PUB --\ AMQP 1.0, MQTT 3.1.1, REST, HTTP, JMS --\ LL
    LL --\ VLAN
    VLAN --\ QNET
    QUEUES --\ SUB

Message Structure

  • Header: Routing, destination, and metadata
  • Body: Payload and serialization format
  • Properties: Key-value pairs for custom attributes
  • Replies: Destination queue and correlation

Message Format

{
  "destination": "order/queue",
  "headers": {
    "priority": "5",
    "correlationId": "abc-123",
    "expiration": "2025-01-11T16:56:59Z",
    "replyTo": "response/queue"
  },
  "properties": {
    "businessProcess": "order-fulfillment",
    "userId": "user-987",
    "version": "1.2"
  },
  "body": {
    "orderId": "order-123",
    "customerId": "cust-456",
    "products": [
      {
        "productId": "prod-321",
        "quantity": 1
      }
    ],
    "total": 199.99
  }
}

Architecture Overview

Single Broker Architecture

graph TB
   subgraph "Solace Broker"
      ROUTER[Message Router]
      VIRT[Virtual Routers]
      PROXY[Proxy Services]
      TENANT[Multi-Tenant Nats]
   end

   subgraph "Edge Services"
      MQTT[MQTT Gateways]
      AMQP[AMQP Gateways]
      REST[HTTP Gateways]
   end

   ROUTER -- \ VIRT
   PROXY --\ VIRT
   TENANT --\ VIRT

   MQTT --\ ROUTER
   AMQP --\ ROUTER
   REST --\ ROUTER

Multi-Region Replication

graph TB
    subgraph "Region 1"
        R1[Solace Instance 1]
        LB[Load Balancer]
    end

    subgraph "Region 2"
        R2[Solace Instance 2]
    end

    subgraph "Region 3"
        R3[Solace Instance 3]
    end

    R1 --| replication |-- R2
    R2 --| replication |-- R3
    R3 --| replication |-- R1

    LB --| traffic |-- R1
    LB --| traffic |-- R2
    LB --| traffic |-- R3

Target Operating Model (TOM)

Without High Availability

Single Broker Setup

Component Specification Function
Solace Broker 1 instance Central message routing
Storage DRAM, SSD Message persistence
Network 1Gbps+ External connectivity
Protocols AMQP, MQTT Gateway support

Resource Requirements

Resource Minimum Recommended Use
CPU 4 cores 16+ cores Throughput processes
Memory 8GB 32GB+ Execution management
Storage 200GB 1TB+ Persistent messaging
Network 1Gbps 10Gbps+ Brokering traffic

Configuration

# Solace broker configuration
operatingEnvironment:
  logging:
    defaultLogLevel: INFO
    accessLogLevel: ALL

servicesConfig:
  restDeliveryPoint:
    enabled: true
  maxInFlightReq:
    client: 100
  maxRateMbps: 10000

With High Availability

Cluster Configuration

Component Specification Function
Solace Instances 3+ instances Redundancy and failover
Load Balancer Layer 7/4 Distribute traffic
Region Replication Multi-region setup Traffic resilience

Resource Requirements

Resource Minimum Recommended Use
CPU 16 cores 32+ cores Load distribution
Memory 32GB 64GB+ Buffer caches
Storage 1TB 10TB+ Data consistency
Network 10Gbps 40Gbps+ Extended reach

Deployment

# Solace HA deployment
highAvailability:
  enabled: true
  replication:
    region: primary

loadBalancing:
  reverseProxy:
    enabled: true
  endpoints:
    manager: true
    vpn: multi-tenant

security:
  ssl:
    enabled: true
    protocols:
      tls13: true
      tls12: true
  authorization:
    permissions:
      mode: multi-tenant certified

Pros and Cons

Pros

Performance & Scalability

  • High Throughput: Solace supports millions of events per second
  • Reliable: Sustains low-latency through high peaks
  • Versatile: Handles various transports (WAN, LAN)

Flexibility & Protocol Support

  • Dynamic Protocols: AMQP, MQTT, RESTful, and JMS
  • Integration: Meshed with enterprise applications
  • Virtualization: Seamless tenant control

Security & Administration

  • Encryption: Standard SSL and TLS
  • Management: Rich tools and dashboards
  • Control: Role-based access, granular policies

Cons

Cost Dimensions

  • Licensing: Usage-based spending
  • Integration: Complex setups require investment
  • Subscription: Cloud or on-prem options

Complexity & Limitations

  • Learning Curve: Extensive setup and management
  • Monitoring: Requires specialized underpinnings
  • Advanced Features: Tiered access may alter accessibility

Compatibility Limits

  • Legacy Apps: Constraints on older systems
  • Standard Changes: Non-native protocols mapped

Best Practices

Deployment Compliance

  1. Topology Design
  2. Structure adaptable meshes
  3. Evaluate failover mapping

  4. Secure Protocols

  5. Implement layer encryption
  6. Utilize access control lists

Performance Optimization

  1. Resource Allocation
  2. Match CPU to throughput demand
  3. Scale memory per tenant requirements

  4. Network Buffers

  5. Harden scale-ready layers
  6. Provision edge redundancy

Monitoring & Reporting

  • Set potential drift audits
  • Enable regular diagnostic monitoring

Ideal Use Cases

  • IoT Communication: Device-agnostic protocols
  • Enterprise Integration: Fusion of legacy with modern
  • Microservices: Decoupled, pliant architecture
  • Hybrid Cloud: Seamless bi-distributed functions