From 05f531d7f11e4ca381b971e33d87a2a98483defe Mon Sep 17 00:00:00 2001 From: Pierre Tessier Date: Fri, 5 Aug 2022 01:41:16 -0400 Subject: [PATCH] Service table and graph cleanup (#266) --- docs/service_table.md | 30 ++++++++++++++++-------------- docs/v1Graph.md | 5 +++-- 2 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/service_table.md b/docs/service_table.md index 0e79ba1f63..09b54906a7 100644 --- a/docs/service_table.md +++ b/docs/service_table.md @@ -1,16 +1,18 @@ # Service Roles -| Service | Language | Description | -|-----------------------------------------------------------------|---------------|----------------------------------------------------------------------------------------------------------------------------------------------| -| [frontend](../src/frontend/README.md) | Go | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. | -| [cartservice](../src/cartservice/README.md) | DotNet | Stores the items in the user's shopping cart in Redis and retrieves it. | -| [productcatalogservice](../src/productcatalogservice/README.md) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. | -| [currencyservice](../src/currencyservice/README.md) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. | -| [paymentservice](../src/paymentservice/README.md) | JavaScript | Charges the given credit card info (mock) with the given amount and returns a transaction ID. | -| [shippingservice](../src/shippingservice/README.md) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) | -| [emailservice](../src/emailservice/README.md) | Ruby | Sends users an order confirmation email (mock). | -| [checkoutservice](../src/checkoutservice/README.md) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. | -| [recommendationservice](../src/recommendationservice/README.md) | Python | Recommends other products based on what's given in the cart. | -| [adservice](../src/adservice/README.md) | Java | Provides text ads based on given context words. | -| [featureflagservice](../src/featureflagservice/README.md) | Erlang/Elixir | CRUD feature flag service to demonstrate various scenarios like fault injection & how to emit telemetry from a feature flag reliant service. | -| [loadgenerator](../src/loadgenerator/README.md) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. | +View [Service Graph](./v1Graph.md) to visualize request flow. + +| Service | Language | Description | +|-----------------------------------------------------------------|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------| +| [adservice](../src/adservice/README.md) | Java | Provides text ads based on given context words. | +| [cartservice](../src/cartservice/README.md) | DotNet | Stores the items in the user's shopping cart in Redis and retrieves it. | +| [checkoutservice](../src/checkoutservice/README.md) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. | +| [currencyservice](../src/currencyservice/README.md) | C++ | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. | +| [emailservice](../src/emailservice/README.md) | Ruby | Sends users an order confirmation email (mock). | +| [featureflagservice](../src/featureflagservice/README.md) | Erlang/Elixir | CRUD feature flag service to demonstrate various scenarios like fault injection & how to emit telemetry from a feature flag reliant service. | +| [frontend](../src/frontend/README.md) | Go | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. | +| [loadgenerator](../src/loadgenerator/README.md) | Python/Locust | Continuously sends requests imitating realistic user shopping flows to the frontend. | +| [paymentservice](../src/paymentservice/README.md) | JavaScript | Charges the given credit card info (mock) with the given amount and returns a transaction ID. | +| [productcatalogservice](../src/productcatalogservice/README.md) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. | +| [recommendationservice](../src/recommendationservice/README.md) | Python | Recommends other products based on what's given in the cart. | +| [shippingservice](../src/shippingservice/README.md) | Rust | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock). | diff --git a/docs/v1Graph.md b/docs/v1Graph.md index 36eea224f7..c7b1cd9df2 100644 --- a/docs/v1Graph.md +++ b/docs/v1Graph.md @@ -1,6 +1,7 @@ # Desired Service Map This diagram illustrates the desired relationships between services for the v1 work. +See service roles [here](./service_table.md). ```mermaid graph TD @@ -31,7 +32,6 @@ checkoutservice --> currencyservice checkoutservice --> emailservice checkoutservice --> paymentservice checkoutservice --> shippingservice -checkoutservice --> |evalFlag| featureflagfeservice frontend --> adservice frontend --> cartservice @@ -40,11 +40,12 @@ frontend --> checkoutservice frontend --> currencyservice frontend --> recommendationservice --> productcatalogservice frontend --> shippingservice -frontend --> |evalFlag| featureflagfeservice productcatalogservice --> |evalFlag| featureflagfeservice productcatalogservice --> productstore +shippingservice --> |evalFlag| featureflagfeservice + featureflagbeservice(Flag Server):::erlang featureflagfeservice(Flag UI/API):::erlang featureflagstore[(Flag Store
(Blob/DB))]