Event store em memória lock-free, genérico, com capacidade fixa, particionado e agregações funcionais.
$ dotnet add package LockFree.EventStoreEvent store em memória, genérico, de baixa latência e lock-free para .NET. Ideal para cenários de monitoramento, métricas e eventos de domínio.
var store = new EventStore<Order>();
store.TryAppend(new Order { Id = 1, Amount = 10m, Timestamp = DateTime.UtcNow });
var total = store.Aggregate(() => 0m, (acc, e) => acc + e.Amount,
from: DateTime.UtcNow.AddMinutes(-10));
TryAppend(event) — Adiciona evento, lock-freeAggregate — Agrega valores por janela temporalSnapshot() — Retorna cópia imutável dos eventosPartitions — Número de partições para concorrênciaProjetado para alta concorrência e baixa latência. A ordem global entre partições é aproximada.
MIT