dotnetcore/CAP
Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern observed · 2026-08-28
Health v2 · maintenance only
92/100
- Activity 95
- Release rhythm 83
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: 43.0
- age_days: 3549
- days_rel: 32
- days_push: 32
- n_releases_24m: 11
Adoption not part of the score
7107 stars · 1337 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
CAP is a .NET library providing a lightweight event bus and a distributed transaction solution based on the Outbox pattern (local message table) for eventual consistency in microservices. It guarantees reliable event delivery with automatic retries and integrates with message queues like Kafka and RabbitMQ.
Use cases
- ensure atomicity between database writes and event publishing in microservices
- implement outbox pattern for reliable event delivery
- decouple microservices with a lightweight event bus
- publish delayed messages without relying on broker features
- achieve eventual consistency across services in a SOA system
- implement competing consumers and fan-out messaging patterns
When to choose
- you're building .NET/ASP.NET Core microservices needing reliable event publishing tied to database transactions
- you want an event bus with no interface inheritance requirements and minimal configuration
- you need guaranteed message delivery with retries and a local message table
- you want pluggable message queue and storage backends (Kafka, RabbitMQ, MySQL, etc.)
When to avoid
- you need a standalone message queue without database-backed storage - CAP requires a database for its outbox
- you need immediate rollback of producer-side SQL when consumers fail - CAP only offers eventual consistency
- your stack is not .NET - CAP is a .NET Standard library
- you need strict synchronous distributed transactions (e.g., 2PC) rather than eventual consistency
Facets
library · maturity active
message-queue middleware microservices serialization microservices backend apis dotnet cross-platform cloud eventbus outbox-pattern distributed-transactions eventual-consistency kafka rabbitmq local-message-table aspnet-core reliable-messaging delayed-messages messaging docker
10 sources
- readme: https://github.com/dotnetcore/CAP · fetched 2026-08-28 · 06cfec53f373
- homepage: http://cap.dotnetcore.xyz · fetched 2026-08-29 · acb09a038e80
- site_page: https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start · fetched 2026-08-29 · d70b44c58e09
- site_page: https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start · fetched 2026-08-29 · 39f1cee3b026
- site_page: https://cap.dotnetcore.xyz/about/contact-us · fetched 2026-08-29 · ecfffe00dcea
- site_page: https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction · fetched 2026-08-29 · bab42de04ffc
- site_page: https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing · fetched 2026-08-29 · 29c083f9ee66
- site_page: https://cap.dotnetcore.xyz/user-guide/en/samples/faq · fetched 2026-08-29 · 52df2d043cc5
- site_page: https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction · fetched 2026-08-29 · 50f4fa7c2257
- site_page: https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing · fetched 2026-08-29 · b3939e4dc3f0
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| dotnetcore/CAP | main | 92 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem