RECQ Patterns
Reactive Event Driven Commands and Queries
Three patterns to design Reactive Systems
RECQ · Introduction
What is RECQ?
RECQ (Reactive, Event-Driven Commands and Queries) is a set of principles and architectural, methodological, behavioral, structural patterns aimed at the creation of software with Event-driven Microservices architectures compliant to the Reactive Manifesto and the more recent Reactive Principles.
RECQ · Foundations
Underlying Concepts
Distributed Systems & Microservices
Distributed systems are networks of interconnected computers working toward a common goal — performance, fault tolerance and scalability, at the price of careful coordination. Microservices build applications as small, loosely coupled, independently deployable services communicating through well-defined APIs.


Reactive Manifesto & Reactive Principles
The Reactive Manifesto outlines responsive, resilient, elastic, message-driven systems. The Reactive Principles turn those ideas into practical guidance architects and developers can apply.
RECQ · Building Blocks
State-of-the-art
RECQ composes five proven patterns into one closed, analyzable architecture — hover a pattern to see it.
RECQ · The Pattern Language
Three patterns, one architecture
Pattern 1 · Structural
RECQ System Pattern
- Components — self-contained portions of software that implement application logic.
- Message Gateway — manages communication between components in terms of requests and responses.
- System State Store — persists system state in the form of event logs.
“A RECQ system is a set of computational units called components that communicate by exchanging messages; state changes are published as events in the System State Store.”


Pattern 2 · Behavioural
RECQ Communication Pattern
Only three types of communication are allowed:
- Component ↔ Component — Commands and Queries through the Message Gateway.
- Component → System State Store — publishing Events.
- System State Store → Component — consuming ordered Events.
Everything else — direct RPC, shared databases, hidden couplings — is structurally impossible. That prohibition keeps the interaction graph knowable.
Pattern 3 · Component
RECQ Component Pattern
Seven component types cover the whole design space, each with an explicit capability row and a consistency–responsiveness profile (C/c = strong/weak consistency, R/r = strong/weak responsiveness).

RECQ · The Formal Core
Why exactly seven?
The seven components are not an arbitrary list. Characterize a component by the trigger it consumes (external stimulus, Command, Query, or Event) and the state scope it maintains (none, per-instance, or per-context): four well-formedness rules leave exactly seven well-formed cells in that classification — a formally minimal vocabulary.
RECQ is best understood as a rigorous specialization of Richardson’s microservice pattern language — same territory, closed instead of open-ended. The full formal treatment is part of our research line. Read the research →
Do you find Evento Framework and RECQ Architectures interesting?
Evento Framework is FREE and Open Source. You can always support the project by giving a star on GitHub or contributing to the code base.
Invoker
Aggregate
Service
Projector
Projection
Saga
Observer