2.3 KiB
2.3 KiB
Messaging Abstractions Library (Queue, Cache, Event Stream, Rate Limiter)
Module
Router
Status
IMPLEMENTED
Description
Transport-agnostic messaging abstractions library providing IMessageQueue, IDistributedCache, IEventStream, IRateLimiter, IIdempotencyStore, and IAtomicTokenStore contracts. Includes InMemory, Postgres, and Valkey transport implementations with plugin-based transport registration.
Implementation Details
- Modules:
src/Router/__Libraries/StellaOps.Messaging/,src/Router/__Libraries/StellaOps.Messaging.Transport.InMemory/,src/Router/__Libraries/StellaOps.Messaging.Transport.Postgres/,src/Router/__Libraries/StellaOps.Messaging.Transport.Valkey/ - Key Classes:
InMemoryTransportPlugin(src/Router/__Libraries/StellaOps.Messaging.Transport.InMemory/InMemoryTransportPlugin.cs) - in-memory messaging transportPostgresTransportPlugin(src/Router/__Libraries/StellaOps.Messaging.Transport.Postgres/PostgresTransportPlugin.cs) - PostgreSQL-based messaging transportValkeyTransportPlugin(src/Router/__Libraries/StellaOps.Messaging.Transport.Valkey/ValkeyTransportPlugin.cs) - Valkey/Redis-based messaging transportValkeyMessageQueue(src/Router/__Libraries/StellaOps.Messaging.Transport.Valkey/ValkeyMessageQueue.cs) - Valkey message queue implementationValkeyEventStream(src/Router/__Libraries/StellaOps.Messaging.Transport.Valkey/ValkeyEventStream.cs) - Valkey event stream implementation
- Interfaces:
IMessageQueue,IMessageQueueFactory,IDistributedCache,IEventStream,IRateLimiter,IIdempotencyStore,IAtomicTokenStore,ISetStore,ISortedIndex,IMessagingTransportPlugin(all insrc/Router/__Libraries/StellaOps.Messaging/Abstractions/) - Source: Discovered via source verification (part of Router ecosystem, Sprint 7000 series)
E2E Test Plan
- Enqueue and dequeue a message via
IMessageQueuewith each transport (InMemory, Postgres, Valkey) - Store and retrieve cache entries via
IDistributedCachewith each transport - Publish and subscribe to events via
IEventStreamwith each transport - Verify
IRateLimiterthrottles requests above the configured limit - Verify
IIdempotencyStoreprevents duplicate processing of the same message - Switch transports via plugin registration and verify seamless operation