awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
EventStore avatar

EventStore/EventStore

0
View on GitHub↗
5,809 stars·676 forks·C#·12 vueswww.kurrent.io↗

EventStore

KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views.

The system provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust, enabling multi-language application development with bidirectional event streaming. It supports atomic multi-stream writes with conditional version checks, ensuring consistency across streams within a single transaction. Real-time event delivery is available through both gRPC streaming and an AtomPub-based HTTP subscription protocol, allowing polling-free consumption of events as they occur.

KurrentDB offers multiple deployment options including Docker containers, Kubernetes clusters managed by a custom operator, and managed cloud services on AWS, Azure, or GCP. The database includes command-line and graphical administration interfaces, an HTTP management API, and plugin-based authentication supporting OAuth and LDAP loaded from environment variables. Backup and restore procedures, stream bridging connectors to external systems, and cloud infrastructure automation via Terraform or Pulumi round out the operational capabilities.

Features

  • Event-Native Databases - Stores application state as an immutable, ordered sequence of events for audit, replay, and event-driven architectures.
  • Append-Only Event Logs - Stores application state as an immutable, ordered sequence of events for audit and replay.
  • Projection Engines - Runs user-defined JavaScript functions within the database to transform and aggregate event streams into materialized views.
  • Multi-Language gRPC Client Libraries - Provides official multi-language gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust.
  • Atomic Multi-Stream Writes - Writes events to multiple streams in a single atomic operation with conditional version checks for consistency.
  • Event Stores - Persists and retrieves sequences of events for state reconstruction or subscriber synchronization.
  • Event Stream Implementation - Appends new events to a named stream, preserving the order and history of state changes.
  • Immutable Event Appends - Appends events to an immutable log, preserving full history for event sourcing.
  • Event Store gRPC Streaming - Streams persisted events to clients in real time using the gRPC protocol for event-driven processing.
  • Event Streaming Databases - Persists events as immutable streams and delivers them to subscribers in real time via gRPC and HTTP.
  • JavaScript Projection Functions - Runs user-defined JavaScript functions to transform and aggregate event streams into materialized views.
  • Event Stream Reads - Retrieves events from a named stream in order, enabling replay or processing of past state changes.
  • gRPC Connection Establishment - Ships gRPC client libraries that establish connections for event streaming operations.
  • Event Store gRPC Clients - Provides official gRPC client libraries for connecting applications in multiple languages to the event store.
  • Multi-Language gRPC Clients - Provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust.
  • gRPC Event Communication - Communicates with clients using gRPC for efficient, language-agnostic bidirectional streaming.
  • Real-time Event Streams - Delivers events to subscribers in real time via gRPC and HTTP for reactive processing.
  • Event Stream Subscriptions - Reads and writes event data as a continuous stream, enabling real-time processing and event-driven workflows.
  • Multi-Stream Atomic Writes - Supports atomic writes to multiple streams in a single transaction with conditional version checks.
  • Event-Driven Architectures - Models application state as a sequence of events, simplifying data modeling in event-driven architectures.
  • Event-Driven Coordination - Coordinates distributed services through event streams for decoupled communication.
  • Integrated Event Storage and Streaming - Persists events as the source of truth and streams them to consumers, ensuring data consistency across distributed services.
  • Immutable Event Logs - Stores application state as an immutable, ordered sequence of events, preserving full history for audit and replay.
  • Event Log Projections - Transforms and aggregates event streams into materialized views for efficient querying and reporting.
  • Event-Driven Databases - Combines event storage with streaming and projection capabilities for event-driven applications.
  • gRPC Event Streaming - Uses gRPC for efficient, language-agnostic bidirectional streaming and command execution.
  • Kubernetes Operators - Ships a Kubernetes operator for automating cluster deployment, scaling, and recovery.
  • Database Lifecycle Operators - Manages database cluster deployment, scaling, and recovery on Kubernetes via a custom operator.
  • Event Store Operators - Manages the lifecycle of event store database clusters on Kubernetes, including deployment, scaling, and recovery.
  • AtomPub HTTP Subscription Protocols - Delivers real-time event notifications over HTTP using the Atom Syndication Format.
  • Database Backup and Restore - Provides procedures for creating backups of cluster data and restoring from them for failure recovery.
  • Event Stream Connectors - Provides built-in connectors that stream events to traditional databases and data pipelines.
  • Managed Event Store Platforms - Provisions and operates event store database clusters on major cloud providers through a managed service.
  • Cloud Infrastructure Automation - Manages cloud resources programmatically via Terraform, Pulumi, and a CLI tool.
  • Managed Event Store Deployments - Provisions and runs event store clusters on major cloud providers as a managed service.
  • SSL-Enabled Cluster Setups - Provides SSL certificate and license key configuration for secure, highly-available cluster deployments.
  • Docker Container Deployments - Ships Docker container deployments for single-node and three-node secure cluster setups.
  • Managed Cloud Deployments - Deploys event store clusters on AWS, Azure, or GCP as a fully managed service.
  • Kubernetes Deployment - Manages database lifecycle on Kubernetes using a dedicated operator.
  • Persistent Subscription Reliability - Ensures subscription continuity and performance under cluster leader elections and burst load conditions.
  • HTTP Event Subscription - Offers a RESTful HTTP interface with AtomPub-based subscriptions for real-time event consumption.
  • Databases and Storage - Functional database with complex event processing capabilities.
  • Messaging and Queuing - Functional database with complex event processing.

Historique des stars

Graphique de l'historique des stars pour eventstore/eventstoreGraphique de l'historique des stars pour eventstore/eventstore

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à EventStore

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec EventStore.
  • kurrent-io/kurrentdbAvatar de kurrent-io

    kurrent-io/KurrentDB

    5,809Voir sur GitHub↗

    KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores events as immutable, ordered records in streams, preserving a complete audit trail and enabling temporal queries. The database uses gRPC for all client-server and inter-node communication, providing efficient binary serialization and bidirectional streaming, and supports atomic multi-stream writes that ensure consistency across multiple streams in a single transaction. The database distinguishes itself with a built-in JavaScript projection engine that transforms, filters, and aggregates

    C#cqrsdatabaseevent-sourcing
    Voir sur GitHub↗5,809
  • commanded/commandedAvatar de commanded

    commanded/commanded

    2,016Voir sur GitHub↗

    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 managem

    Elixircommandedcqrscqrs-es
    Voir sur GitHub↗2,016
  • akkadotnet/akka.netAvatar de akkadotnet

    akkadotnet/akka.net

    5,023Voir sur 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
    Voir sur GitHub↗5,023
  • livestorejs/livestoreAvatar de livestorejs

    livestorejs/livestore

    3,475Voir sur GitHub↗

    Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize application data. It provides an event-sourced state store that processes typed events through materializer functions to derive and persist application state. The framework implements offline-first data synchronization using a push-pull engine and append-only event logs to maintain consistency between clients and servers. It includes a real-time presence system for tracking user activity and shared session status across connected clients. The system covers a broad capability surf

    TypeScriptdata-layerlocal-firstsignals
    Voir sur GitHub↗3,475
Voir les 30 alternatives à EventStore→

Questions fréquentes

Que fait eventstore/eventstore ?

KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views.

Quelles sont les fonctionnalités principales de eventstore/eventstore ?

Les fonctionnalités principales de eventstore/eventstore sont : Event-Native Databases, Append-Only Event Logs, Projection Engines, Multi-Language gRPC Client Libraries, Atomic Multi-Stream Writes, Event Stores, Event Stream Implementation, Immutable Event Appends.

Quelles sont les alternatives open-source à eventstore/eventstore ?

Les alternatives open-source à eventstore/eventstore incluent : kurrent-io/kurrentdb — KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores events as… commanded/commanded — Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design.… akkadotnet/akka.net — Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a… railseventstore/rails_event_store — Rails Event Store is a library for implementing event sourcing and command query responsibility segregation patterns… livestorejs/livestore — Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize… thangchung/go-coffeeshop — go-coffeeshop is an event-driven microservices architecture designed to manage the end-to-end lifecycle of customer…