awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
commanded avatar

commanded/commanded

0
View on GitHub↗
2,016 stele·257 fork-uri·Elixir·MIT·3 vizualizări

Commanded

Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design. It provides a structured environment for implementing command-query responsibility segregation, allowing developers to separate write-side command processing from read-side data projection. By treating state changes as an immutable sequence of events, the framework ensures a reliable audit trail and facilitates system recovery.

The project distinguishes itself through its support for distributed process orchestration and event-driven middleware pipelines. It enables the management of long-running workflows by coordinating multiple domain objects through asynchronous message passing, while middleware allows for the centralized handling of cross-cutting concerns like validation and authorization. The framework also includes built-in mechanisms for snapshot-based state recovery, which optimizes performance by reducing the computational overhead of replaying long event streams.

Beyond its core architecture, the framework offers a comprehensive suite of tools for system observability, including telemetry emission, architecture visualization, and event flow debugging. It provides robust testing utilities that allow developers to verify system behavior by mocking event stores, initializing aggregate states, and asserting event publication. The system is designed to be flexible, supporting both in-memory and persistent storage backends, as well as custom serialization strategies for event data.

Features

  • Event Sourcing - Persists application state as an immutable sequence of events to maintain a complete and reliable audit history.
  • Event Sourcing - Persists application state as an immutable sequence of events to maintain a complete audit history.
  • Event Sourcing Frameworks - Provides a toolkit for building event-sourced applications in Elixir using CQRS patterns.
  • Business Invariant Enforcement - Validates command data against current state to enforce business rules before persisting domain events.
  • Domain Aggregates - Encapsulates domain state and business logic within aggregate modules to ensure consistent state transitions.
  • System Command Dispatchers - Routes incoming commands to the appropriate aggregate to trigger business logic and persist resulting events.
  • Business Process Orchestration - Provides distributed process orchestration to manage long-running business workflows by coordinating multiple domain objects through asynchronous message passing.
  • Command Query Responsibility Segregation - Separates write-side command processing from read-side data projection to enable independent scaling and optimized query performance.
  • CQRS Frameworks - Provides a framework for routing commands to aggregates and persisting state changes as event streams.
  • CQRS Patterns - Implements architectural patterns that separate command processing from query execution to optimize complex business data retrieval.
  • Process Coordinators - Orchestrates domain objects by reacting to events and dispatching commands to manage complex business processes.
  • Append-Only Event Logs - Maintains a durable, append-only log of all state changes to provide a reliable foundation for system recovery.
  • State Initialization Utilities - Testing utilities append historical events directly to an event stream to set up a specific aggregate state before executing a command under test.
  • Domain Event Handlers - Processes recorded domain events to update aggregate state and maintain data integrity.
  • Domain Driven Design Frameworks - Encapsulates business logic and invariants within aggregate modules using Elixir-specific process orchestration.
  • Event Stores - Integrates durable event storage with read model projection for optimized query performance.
  • State Snapshots - Periodically saves aggregate state to reduce the computational overhead of replaying long event streams during system initialization.
  • Persistent Storage Providers - Saves domain events in durable databases to provide reliable audit logs and state reconstruction.
  • Aggregate State Management - Retrieves the current state of an aggregate to verify that business logic correctly updated the domain model after command processing.
  • Application Command Dispatchers - Directs incoming requests to specific aggregate instances based on unique identifiers to ensure correct state application.
  • Command Pipelines - Executes centralized validation and authorization logic within command dispatch pipelines.
  • Distributed Deployment Patterns - Supports configuring multiple application instances to synchronize state and process events across a distributed cluster.
  • Application State Trackers - Maintains internal state across event-driven interactions to track the progress of orchestrated aggregates and determine the next required actions.
  • Actor-Based Concurrency - Coordinates long-running workflows by using isolated, message-passing processes to manage domain object interactions.
  • Synchronous Dispatch Waiters - Ensures system integrity by waiting for event handlers to finish processing before returning a response to the caller.
  • Data Consistency Models - Updates read models before command dispatch returns to ensure applications can query the most recent state.
  • Event Mocking for Testing - Provides utilities to mock event stores and verify event publication during system testing.
  • Event Middleware - Executes modular logic before and after command dispatch to handle cross-cutting concerns like validation and authorization.
  • Event Sequence Verification - Asserts that specific events are published following a command dispatch to validate that the system behaves as expected.
  • Event Log Projections - Transforms persisted event streams into specialized, queryable read models to optimize data access performance.
  • Aggregate Snapshots - Saves aggregate state at intervals to reduce event replay overhead during initialization.
  • Process Lifecycle Managers - Controls the execution environment of background tasks by managing consistency levels, timeouts, and idle limits.
  • Asynchronous Test Handling - Pauses test execution until a specific event is received to handle eventual consistency in asynchronous systems during automated testing.

Istoric stele

Graficul istoricului de stele pentru commanded/commandedGraficul istoricului de stele pentru commanded/commanded

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Colecții curatoriate care includ Commanded

Colecții selectate manual în care apare Commanded.
  • Command interceptor library

Alternative open-source pentru Commanded

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Commanded.
  • cer/event-sourcing-examplesAvatar cer

    cer/event-sourcing-examples

    3,160Vezi pe GitHub↗

    This project is a framework for implementing event sourcing and command query responsibility segregation within containerized microservices. It provides a structured approach to managing business state as a sequence of immutable events, ensuring a reliable audit trail and the ability to reconstruct system state at any point in time. The framework distinguishes itself by enforcing a clear separation between data modification and data retrieval paths. By utilizing event-driven data synchronization, it allows for the asynchronous updating of materialized views and read models, ensuring that quer

    JavaScript
    Vezi pe GitHub↗3,160
  • railseventstore/rails_event_storeAvatar RailsEventStore

    RailsEventStore/rails_event_store

    1,507Vezi pe GitHub↗

    Rails Event Store is a library for implementing event sourcing and command query responsibility segregation patterns within Ruby applications. It functions as a framework for capturing all application state changes as an immutable sequence of events, providing a permanent and verifiable history of system operations. The library provides a messaging infrastructure that decouples business logic by broadcasting domain events through a central bus. This architecture allows for the execution of handlers either immediately or asynchronously, ensuring that heavy processing tasks do not block the pri

    Rubyaggregate-rootcqrscqrs-es
    Vezi pe GitHub↗1,507
  • microservices-patterns/ftgo-applicationAvatar microservices-patterns

    microservices-patterns/ftgo-application

    3,718Vezi pe GitHub↗

    This project is a Java microservices reference implementation that demonstrates the application of structural design patterns for distributed systems. It consists of a suite of containerized services and infrastructure dependencies designed to showcase how to coordinate multiple independent services into a functional system. The implementation focuses on several advanced architectural patterns, including a centralized API gateway for routing and aggregating responses, Command Query Responsibility Segregation to separate read and write operations, and event sourcing to persist the state of bus

    Java
    Vezi pe GitHub↗3,718
  • akkadotnet/akka.netAvatar akkadotnet

    akkadotnet/akka.net

    5,023Vezi pe GitHub↗

    Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an

    C#actoractor-modelakka
    Vezi pe GitHub↗5,023
Vezi toate cele 30 alternative pentru Commanded→

Întrebări frecvente

Ce face commanded/commanded?

Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design. It provides a structured environment for implementing command-query responsibility segregation, allowing developers to separate write-side command processing from read-side data projection. By treating state changes as an immutable sequence of events, the framework ensures a reliable audit trail and facilitates system recovery.

Care sunt principalele funcționalități ale commanded/commanded?

Principalele funcționalități ale commanded/commanded sunt: Event Sourcing, Event Sourcing Frameworks, Business Invariant Enforcement, Domain Aggregates, System Command Dispatchers, Business Process Orchestration, Command Query Responsibility Segregation, CQRS Frameworks.

Care sunt câteva alternative open-source pentru commanded/commanded?

Alternativele open-source pentru commanded/commanded includ: cer/event-sourcing-examples — This project is a framework for implementing event sourcing and command query responsibility segregation within… railseventstore/rails_event_store — Rails Event Store is a library for implementing event sourcing and command query responsibility segregation patterns… microservices-patterns/ftgo-application — This project is a Java microservices reference implementation that demonstrates the application of structural design… akkadotnet/akka.net — Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a… livestorejs/livestore — Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize… eventstore/eventstore — KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores…