SimplySocket currently manages internal state inmemory . The goal of this experiment is to integrate DiceDB dicedb.io github as an external key-value store to explore potential benefits for distributed deployments.
Proposed Enhancements:
Introduce two operational modes within SimplySocket:
- In-Memory Mode (Default) – Optimized for single-instance deployments.
- DiceDB Mode – Uses DiceDB as a backing store, useful for distributed environments and message persistence.
Potential Benefits of DiceDB Integration:
- Data Retention on User Disconnect – Ensures messages aren’t lost if a client disconnects and later reconnects.
- Scalability in Distributed Deployments – Useful when running SimplySocket on Kubernetes or multi-node environments where in-memory storage is insufficient.
- Message Persistence & Delivery Guarantees – Helps in cases where messages need to be retained beyond a single session.
Next Steps:
- Investigate DiceDB’s API and assess its suitability for WebSocket session data.
- Implement a prototype and benchmark performance against the existing in-memory system.
- Evaluate failure scenarios and recovery mechanisms.
SimplySocket currently manages internal state inmemory . The goal of this experiment is to integrate DiceDB dicedb.io github as an external key-value store to explore potential benefits for distributed deployments.
Proposed Enhancements:
Introduce two operational modes within SimplySocket:
Potential Benefits of DiceDB Integration:
Next Steps: