Skip to content

SIMPLY-1: Experiment with DiceDB as a Data Store for Distributed Mode #5

@DhruvikDonga

Description

@DhruvikDonga

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.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

Status

Todo

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions