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

 
 
 

Contributors