KurrentDB integration
Troolio.KurrentDB provides event-stream adapters for ordinary append and selected routes, projection queue support, host pinning, committed-effect handling, and recovery checks. Install with dotnet add package Troolio.KurrentDB --version 10.0.8 when the application uses KurrentDB streams.
On this page
Ordinary append
KurrentOrdinaryAppendAdapter is governed by ITrustedKurrentOrdinaryAppendAuthority and IKurrentOrdinaryAppendPolicy. The host supplies a trusted client, credentials, stream naming, ownership checks, and a policy for concurrent writes and deletion. Do not infer atomic multi-stream guarantees from an ordinary append.
Selected route
KurrentSelectedActorStore uses a selected actor policy and event codec. Route admission, host pinning, recovery, and projection work have separate authority contracts. Review their implementation and configure a serving cohort before promoting a route. The combined KurrentDB + SQL Server package supplies a broker journal and coordination pieces when SQL-backed evidence is needed.
Operations
Protect event credentials and stream ACLs, define maximum event sizes and retention, and watch append conflicts and projection lag. Preserve exact event bytes and operation IDs through retries. A KurrentDB append and an external effect are separate durability domains; use effect intents and provider idempotency for side effects.
Example: Find a projection queue shard
A committed operation ID maps to one of the package’s stable projection queue shards. Use a namespace owned by your application.
public static string KurrentQueue(Guid operationId) =>
KurrentProjectionQueue.Stream("orders", KurrentProjectionQueue.Shard(operationId));