Skip to content

man-zhang/microservices-projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Microservices Projects

This repository contains a collection of microservices examples and supporting artifacts.

Running Example (E-Commerce) for UncerMaster

The ecommerce/ project is a constructed running example used to explain the UncerMaster vision (uncertainty-driven system-level testing and fuzzing for microservices).

  • The UncerMaster framework itself is not implemented in this repository.
  • The e-commerce system and scenarios are intentionally simplified and are not meant to be production-correct or feature-complete.
  • The included scripts simulate uncertainty and system-level fault patterns (e.g., external dependency timeouts, long-tail latency, partial progress) to demonstrate how an uncertainty-aware testing loop could be exercised.

See ecommerce/README.md for the service architecture and full project details.

Uncertainty Demo Scripts (Simulated Fault Patterns)

All scripts below are located under ecommerce/scripts/.

Prerequisites

  • JDK 17
  • Maven 3.9+
  • Docker (for Postgres + Kafka)
  • Python 3 (for local HTTP mocks)

Run

From the repository root:

cd ecommerce

1) System-level partial progress + missing tracking ids

bash scripts/demo-compound-uncertainty.sh

What it targets:

  • Partial progress along order-confirmation-service -> shipping-service -> external logistics when downstream calls are slow/failing.
  • Missing tracking ids when the external logistics dispatch endpoint returns slowly, fails, or returns no tracking id.

How it works:

  • Replaces external currency-exchange and logistics endpoints with local mocks that inject latency and failures.
  • Generates concurrent checkout+payment flows to create Kafka load.
  • Queries order-confirmation and shipping APIs to summarize partial progress and missing tracking ids.

2) Checkout quote step changes under FX failures (single-service focus)

bash scripts/demo-fx-fallback-step.sh

What it targets:

  • User-visible quote step changes when checkout-service intermittently fails to fetch currency-exchange rates and falls back to a predefined rate.

How it works:

  • Runs a local Frankfurter-like FX mock with injected failures.
  • Disables FX caching to amplify the effect.
  • Repeats identical checkout requests and reports the distribution of returned exchangeRate and totals.

3) Fraud decision sensitivity around thresholds (single-service focus)

bash scripts/demo-fraud-threshold-sensitivity.sh

What it targets:

  • Decision instability for threshold-based fraud inference when the score is near a boundary and inference depends on evolving state (e.g., history-driven features).

How it works:

  • Sends repeated payment requests for the same user with a constant amount.
  • Observes the returned riskScore and status distribution and counts decision flips.

Notes:

  • These are simulated demonstrations intended to support a vision paper.
  • They are not security tests and do not claim to detect vulnerabilities.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published