Skip to content

Module Map ​

DSM is organized as a multi-module toolkit so teams can pull in only the layers they need.

This page explains module boundaries. If you are integrating DSM into a service, start with the guides and Reference section first.

ModulePurpose
dsm-apiPublic contracts, shared models, collection specs, diagnostics, lease and CRDT primitives, security and observability SPIs
dsm-runtimeRuntime builder, default in-memory implementations, collection builders, record codecs, interceptors, lifecycle listeners, and standalone helpers
dsm-syncRuntime control-plane and data-plane replication services, capability negotiation, repair planning, and anti-entropy sweeps
dsm-cluster-protoProtobuf schema module for cluster membership messages
dsm-clusterStandalone, multicast, and unicast gossip membership implementations plus relay health SPI
dsm-securityMessage signing, replay protection, cluster admission validation, sender rate limiting, and optional payload encryption
dsm-federationCross-cluster federation bridge and relay SPI for register, lease, and CRDT collections
dsm-metrics-micrometerMicrometer adapter for the DsmMetrics SPI
dsm-benchmarkJMH and harness coverage for runtime, sync, codec, digest, and security overhead measurements
dsm-spring-boot-autoconfigureRuntime-first Spring Boot autoconfiguration
dsm-spring-boot-starterStarter dependency for standard Boot integration
dsm-examplesRunnable reference examples
dsm-test-supportFakes and reusable test transports
dsm-integration-testEnd-to-end integration coverage

Layered View ​

DSM module layer map

Read dsm-runtime first if you are integrating DSM directly in Java. That is where the runtime builder, collection builders, default implementations, and standalone helpers live.

Read dsm-api directly only when you are writing a library or extension that should compile against contracts without pulling in default runtime machinery.

From there:

  • read dsm-sync if you need to understand replication internals
  • read dsm-cluster to choose membership behavior
  • read dsm-security before planning production rollout
  • read dsm-federation before connecting independent clusters
  • read the Spring modules only if your service uses Boot

Integration Reading Path ​

  1. Start with Getting Started.
  2. Choose Standalone Quickstart or Spring Boot.
  3. Keep Runtime API, Collection Specs, and Collection Handles open while implementing.
  4. Use the scenario cookbooks for routing, ownership, and counters.
  5. Read architecture internals only when the integration behavior needs deeper explanation.