PURISTA Ecosystem
PURISTA is modular. The core framework handles message contracts, routing, and type safety. The ecosystem provides adapters for message brokers, queue backends, state stores, and HTTP servers.
Architecture overview
flowchart TB
subgraph App["Your Application"]
direction TB
S1["User Service"]
S2["Order Service"]
S3["Email Service"]
EB["Event Bridge"]
QB["Queue Bridge"]
end
subgraph Transports["Transport Adapters"]
AMQP["AMQP<br/>(RabbitMQ)"]
NATS["NATS<br/>(JetStream)"]
MQTT["MQTT<br/>(Mosquitto)"]
DAPR["Dapr"]
DEF["Default<br/>(in-memory)"]
end
subgraph Persistence["Persistence Adapters"]
REDIS["Redis<br/>(Store + Queue)"]
AWS["AWS<br/>(SSM + Secrets)"]
AZURE["Azure<br/>(Key Vault)"]
end
subgraph HTTP["HTTP Surface"]
HONO["Hono HTTP Server"]
end
S1 <-->|messages| EB
S2 <-->|messages| EB
S3 <-->|messages| EB
EB <-->|transport| Transports
QB <-->|pull-based| REDIS
S1 <-->|stores| Persistence
HONO <-->|exposes| EB
Choosing your stack
Event bridges (push-based messaging)
| Bridge | Scale out | Durable subscriptions | Manual ack | Stream support | Best for |
|---|---|---|---|---|---|
| Default | No | No | No | Yes | Local dev, single instance |
| AMQP | Yes | Yes | Yes | No | Production, operational control |
| MQTT | Yes | Broker-dependent | No | No | IoT, edge, topic-centric |
| NATS | Yes | JetStream only | JetStream only | No | Low-latency, simple ops |
| Dapr | Yes | Component-dependent | Component-dependent | No | Polyglot, service mesh |
See the Event Bridges page for the full capability matrix.
Queue bridges (pull-based workloads)
| Package | Backend | Best for |
|---|---|---|
@purista/core |
In-memory | Local dev, tests, single instance |
@purista/redis-queue-bridge |
Redis | Production CQRS, delayed jobs, AI workers |
@purista/nats-queue-bridge |
NATS JetStream | NATS-first platforms, pull-based scaling |
Stores
| Type | Packages | Purpose |
|---|---|---|
| Config | @purista/core, @purista/aws-config-store, @purista/nats-config-store, @purista/redis-config-store |
Environment-specific values |
| Secret | @purista/core, @purista/aws-secret-store, @purista/azure-secret-store, @purista/gcloud-secret-store, @purista/infisical-secret-store, @purista/vault-secret-store |
API keys, passwords, tokens |
| State | @purista/core, @purista/redis-state-store, @purista/nats-state-store |
Business state, sessions, counters |
See Stores for the full list.
HTTP servers
| Package | Features |
|---|---|
@purista/hono-http-server |
REST endpoints, SSE streaming, OpenAPI generation, problem details |
See HTTP Server for configuration and middleware.
Ecosystem decision tree
flowchart TD
A["What do you need?"] --> B["Message routing<br/>between services"]
A --> C["Pull-based async<br/>workloads"]
A --> D["External state<br/>or secrets"]
A --> E["HTTP API<br/>surface"]
B --> F["Choose event bridge"]
C --> G["Choose queue bridge"]
D --> H["Choose store adapter"]
E --> I["Use Hono HTTP Server"]
F --> J["Local: Default<br/>Production: AMQP / NATS"]
G --> K["Local: Default<br/>Production: Redis / NATS"]
H --> L["Config: SSM / NATS / Redis<br/>Secrets: AWS / Azure / Vault / Infisical<br/>State: Redis / NATS"]
Next steps
- Event Bridges — deep dive into transport adapters
- Queue Bridges — pull-based workloads and worker pools
- Stores — config, secret, and state persistence
- HTTP Server — REST, SSE, and OpenAPI