Skip to content

Messaging (Flash) ​

Status: Active | Port: 4222, 8222 | Profile: think, reason, ultra-instinct

The arc-messaging service (Flash) is the platform message broker built on NATS. It carries low-latency, ephemeral messages between platform services and agent workers — the fast synchronous layer of the A.R.C. messaging system.

For durable event streaming with persistence and replay, see Streaming (Dr. Strange).

Quick Reference ​

FieldValue
Imageghcr.io/arc-framework/arc-messaging:latest
Port(s)4222 (client), 8222 (monitoring)
Healthhttp://localhost:8222/healthz
Profile(s)think, reason, ultra-instinct (core)

Make Targets ​

TargetDescription
make messaging-upStart the service
make messaging-downStop the service
make messaging-healthCheck health
make messaging-logsTail service logs

When to Use Messaging (Flash) ​

Messaging (Flash) is ideal for synchronous, ephemeral communication:

Use CaseMessaging (Flash)Streaming (Dr. Strange)
Agent asks another agent to act✅❌
Distribute work across workers✅ (queue groups)❌
Request/reply pattern✅❌
Heartbeat / presence✅❌
Event sourcing / audit log❌✅
Replay historical events❌✅
Cross-service event distribution❌✅

Rule of thumb: If you need the other side to respond now, use arc-messaging. If you need a durable record that can be replayed later, use arc-streaming.

Features ​

  • Sub-millisecond latency — in-memory only, no disk I/O
  • Pub/sub — fan-out to multiple subscribers
  • Request/reply — synchronous RPC over messaging
  • Queue groups — load-balanced work distribution
  • Lightweight — minimal CPU and RAM footprint

Connection ​

bash
# Default client URL
nats://localhost:4222

# Monitoring dashboard
open http://localhost:8222

Patterns ​

Pub/Sub (Fan-out) ​

Publisher → Topic → Subscriber A
                  → Subscriber B
                  → Subscriber C

Request/Reply (RPC) ​

Agent A → request(topic, payload) → Agent B
Agent A ←    reply(result)        ←

Queue Group (Load Balancing) ​

Job Queue → Worker 1
          → Worker 2 (only one receives each message)
          → Worker 3

Reasoner Integration ​

The Reasoner service (Sherlock) uses arc-messaging (Flash) as its primary async trigger. See Reasoner for the full NATS subject schema used by the platform.

Contributors

Changelog