-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
Mario edited this page Sep 23, 2026
·
1 revision
The v0.1 goal is a minimal, type-safe foundation for Java inter-service communication with predictable semantics and no magic.
Vyra makes several deliberate tradeoffs to keep the v0.1 contract predictable:
- Redis lists instead of Redis streams: we chose Lists for request worker queues to prioritize operational simplicity. Streams introduce consumer group offset management, dead-letter storage and ack overhead that are unnecessary for this phase of Vyra. For persistent event streaming, external tools or future Kafka transports are appropriate.
- At-most-once events: because Vyra does not persist events, if a subscriber is offline, events are not retained. For persistent event streaming, external tools or future transports are appropriate.
- Uniform network constraint: all nodes must use identical serializers. This avoids the runtime performance penalty and ambiguity of polyglot wire envelopes.
- Apache Kafka transport: partitioned, persistent message streams for high-throughput enterprise event buses.
- RabbitMQ transport: provides AMQP-based routing with explicit manual acknowledgements.
- Request fan-out: allow a request to be sent to multiple nodes and aggregate their responses.
- Request cancellation: allow a caller to cancel a pending request and notify the remote
- Delayed request delivery: allow scheduling requests to be delivered at a future time.
- Offline request buffering: allow requests to be queued for delivery when a node is temporarily offline.
Vyra is an open-source project and accepts community contributions.
- Read ARCHITECTURE.md before proposing architectural modifications.
- Review Best practices for coding and design standards.
- Check existing issues or submit a pull request with new transport or serializer implementations.
Vyra documentation