Microservice Coordination via Pseudo-IDs for Consistent Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Achieving consistency across data layers in microservices architectures is challenging due to loose coupling, leading to potential data inconsistencies and errors, especially when transactions succeed on one microservice but fail on others, with existing methods like two-phase commit being fragile and event sourcing increasing complexity.

Innovation Solution

Implementing 'Always Strictly Consistent Microservice Coordination' and 'Strictly Successful Eventually Consistent Multiple Microservice Coordination' techniques, which use pseudo IDs to ensure immediate or eventual consistency across microservices by employing no-commit instructions and message brokers to manage transactions and revert changes in case of failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If two-phase commit is used to ensure consistency across microservices, then data consistency is improved, but system fragility increases and reliability deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem fragility
Core Design Contradiction:
Manufacturing precisionVSReliability

Solution Approach 1:

The patent applies preliminary action by performing data validation and generating pseudo-IDs before actual commit operations. The system validates data across all microservices in advance, prepares the transaction state, and only commits if all validations succeed. This prevents the fragility of two-phase commit by avoiding partial commits and database lock issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating pseudo-IDs that represent real database IDs without actually committing to the database. These pseudo-IDs are copies that allow the system to proceed with the transaction flow and only resolve to real IDs upon successful commit. This eliminates the need for keeping transactions open across API calls.

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If event sourcing is used to achieve eventual consistency, then data consistency is improved, but frontend complexity increases

Engineering Contradiction:
Improvedata consistencyVSAvoidfrontend complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of transaction management from the frontend by implementing consistency checks and pseudo-ID resolution in the backend data APIs. The frontend simply calls standard APIs without needing to understand or implement event sourcing logic, two-phase commit protocols, or consistency reconciliation, thereby reducing frontend complexity while maintaining eventual consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Adaptability or versatility

If microservices use loose coupling with independent data stores, then adaptability is improved, but data consistency deteriorates

Engineering Contradiction:
Improveservice independenceVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of pseudo-IDs and validation APIs that mediate between independent microservice data stores. The validation API acts as a mediator that checks data consistency across services without requiring tight coupling, and pseudo-IDs serve as intermediaries that resolve to real IDs only when consistency is confirmed, maintaining both service independence and data consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Manufacturing precision

If transactions are kept open across API calls to ensure consistency, then data consistency is improved, but productivity deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidtransaction throughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent uses cheap short-living objects by implementing pseudo-IDs that are temporary placeholders valid only for the duration of a single API call. These pseudo-IDs are discarded after resolution to real IDs, allowing the system to proceed with rapid sequential API calls without maintaining long-lived transactions, thereby improving productivity while ensuring consistency.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Data Source

PatentUS10503726B2Reducing frontend complexity for multiple microservices with consistent updates
Publication Date: 2019.12.10 ADOBE INC
  • US10503726B2 patent drawing
  • US10503726B2 patent drawing
  • US10503726B2 patent drawing

AI summary

Techniques for achieving consistency across data layers associated with multiple microservices. An always strictly consistent microservice coordination system provides immediate consistency for data stored across multiple microservices. A strictly successful eventually consistent multiple microservice coordination system provides eventual consistency for data stored across multiple microservices.