October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run ScanOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Manage Shared Reference Data Across Microservices: Why One Team Created a Dedicated Service

Three balance services depended on the same reference definitions but refreshed them differently. Here’s why one team established a dedicated owner—and what the choice does and does not solve.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When several services depend on the same business definitions, the hard problem may not be copying the data—it may be deciding who owns its meaning. In Denis Toropov’s account, three balance-related services had separate databases for good reasons, but each maintained shared reference data such as account types, statuses, product attributes and classifiers. Different refresh paths let those definitions drift. The team chose a dedicated reference data service to establish a clear owner, while distinguishing central ownership from requiring every consumer to make a live call.

How do you manage shared reference data across microservices?

Start by deciding which service owns the model and the rules for changing it. Then define how consumers learn about changes and choose a read strategy that fits their latency, freshness and availability needs. A dedicated reference data service is one way to do this; it is not a requirement to centralize every database or route every read through one endpoint.

As an Amazon Associate I earn from qualifying purchases.

Toropov describes three separate balance databases: one behind an account display service, one for customer-level balances, and one for current account balances. Each served different read patterns, performance requirements and data representations. All three also relied on common reference entities. An account balance is only meaningful in context: an account type, status or product attribute can affect how the number is categorized and understood.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The trouble was that the shared definitions were refreshed differently. One service used a schedule, another reacted to an event, and a third relied on a separate integration flow. Updates did not necessarily arrive together, so different views could apply different versions or local mappings. When interpretations disagreed, diagnosis could cross three services, databases, update histories and teams.

Why did the team move the data?

The choice was not simply whether to store a copy or eliminate copies. It was whether there was an accountable owner for shared business semantics. Toropov’s explanation is that the underlying issue was “multiple owners of the same business semantics.” A shared database could consolidate storage without settling who controls its schema, contract or behavior.

The account describes reconciliation and prolonged diagnosis as recurring operational pain, not a quantified outage. It reports a clearer architecture and fewer collisions as consequences of the change, but gives no before-and-after figures for incidents, latency, cost or staff time. Treat the result as one team’s experience, not proof that extraction will improve outcomes for every system.

What are the options for shared reference data?

Approach Ownership and change Read and distribution trade-offs
Keep local copies and improve synchronization Each consumer retains its local representation; teams still need rules for who changes the shared meaning. Preserves local reads and autonomy, but duplication and synchronization work remain. Consumers can still drift if delivery or interpretation differs.
Use a shared reference database Storage is centralized, but schema and behavior ownership may remain unclear without an explicit contract owner. Can avoid multiple independently maintained stores, but direct schema coupling or duplicated consumer-side rules may result.
Create a dedicated reference data service A domain owner governs the model, versions, validation and publication of changes. Offers an explicit contract and distribution point, but introduces a component with availability and operational obligations.

These are design alternatives, not a universal ranking. Sam Newman’s Monolith to Microservices discusses reference data as something that can be duplicated, placed in a dedicated schema, distributed in a shared library or served by a dedicated service. The appropriate pattern depends on the data and the system around it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What should a dedicated reference data service own?

It should own the reference model, rather than act as a thin CRUD wrapper. In Toropov’s account, that responsibility includes:

  • Defining fields, relationships, constraints and lifecycle rules.
  • Supporting explicit versions so consumers can identify which definition they use.
  • Publishing changes predictably through an API, events, snapshots or a hybrid.
  • Validating and auditing updates.
  • Monitoring data freshness, update failures and consumer lag.

These responsibilities make ownership concrete: consumers can know where a definition comes from, what constitutes a valid change and how a release reaches them. A service that merely stores records without governing their meaning would not resolve the original ownership problem.

Who is the source of truth for a reference entity?

The source of truth should be the explicitly accountable owner of the entity’s definition and change process—not automatically the database that happens to contain a copy. The owner should specify the contract, versioning rules and publication path. Consumers may still hold local projections, but those projections should be understood as read-optimized representations of centrally governed data, not independent authorities on its meaning.

This separates two decisions that are often conflated: centralized write ownership and centralized runtime reads. Toropov puts it succinctly: “The important nuance is that we centralized ownership, not necessarily every online read.” A canonical owner can govern changes while consumers retain local read models where workload or latency makes that useful.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How should consumers receive changes?

Choose a delivery mechanism based on how quickly consumers need updates and what they can operate reliably. An API can provide an explicit way to retrieve the current definition; events can announce changes; snapshots can provide a complete view at a chosen point. A hybrid can combine these—for example, a snapshot for initial loading and events for subsequent changes. The case account names these as options, but does not prescribe one universal mechanism.

Whichever method is chosen, make version and freshness visible. A consumer should be able to determine which version it has applied, when it last updated, and whether an update failed or lagged. Otherwise, central ownership may be clear while operational diagnosis remains difficult.

What if one system uses the new version while another still uses the old one?

Version skew is a normal possibility in distributed systems; publishing a change does not guarantee that every consumer applies it at the same instant. The design should make that skew observable and define how consumers behave during the transition.

  • Identify the active version and the version each consumer has applied.
  • Track update failures and consumer lag so stale data is distinguishable from current data.
  • Define lifecycle and compatibility rules for changes, including how consumers move to a new version.
  • Decide which operations can tolerate different versions temporarily and which require coordinated rollout or validation.

The source account emphasizes explicit versions, predictable publication and freshness monitoring; it does not specify a rollout protocol or compatibility scheme. Those details need to be decided for the actual domain rather than inferred from the choice to create a service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Should every read call the reference data service?

Not necessarily. A synchronous call centralizes lookup, but it also makes the owner part of the consumer’s request-time availability and latency path. If the service degrades, dependent services may degrade with it. For high-volume or latency-sensitive reads, a local projection can reduce that runtime dependency, provided the system accepts and monitors its freshness.

Choose among synchronous reads, local projections and event- or snapshot-fed copies by weighing read latency, acceptable staleness, availability dependency, failure isolation and operational complexity. Centralizing who may change a definition does not require centralizing every read of it.

How can a team decide whether extraction is worth it?

Use the actual failure mode and operating cost to guide the choice. A dedicated service is more compelling when shared definitions change under unclear ownership, consumers apply inconsistent rules, or investigations repeatedly require tracing separate update histories. If the data is stable and synchronization is simple, improving local-copy management may cost less than operating another critical component.

Compare the options against these questions:

  • Who can change the model, and who approves or audits changes?
  • How does each consumer know which version is active?
  • How are changes distributed, and how are failures or lag detected?
  • What are the read-latency and availability consequences of a runtime dependency?
  • How much local autonomy and failure isolation do consumers need?
  • How difficult are audits, reconciliation and investigations under the current design?

These are decision axes raised by the case, not a benchmark or scoring formula. The service adds an operational responsibility: it must be available enough for its role, and its distribution mechanisms need monitoring. The reported account does not quantify whether the move reduced incidents, cost or latency.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sources and scope

This case is Denis Toropov’s first-person account, published on DEV Community on September 20, 2026: “When the Same Reference Data Lives in Three Services: Why We Moved It into a Dedicated Service”. Pattern context comes from Sam Newman, Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith (O’Reilly Media, 2019). The experience described is specific to one team; it does not establish a universally superior architecture.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.