From 0e365ac45d84f8e8c8e18258091526ed759de7f2 Mon Sep 17 00:00:00 2001 From: Leonid Vasiliev Date: Fri, 24 Nov 2023 16:22:04 +0300 Subject: [PATCH] doc: add a schematic representation of the queue --- README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/README.md b/README.md index 04e3377..05cd489 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,53 @@ This module provides cartridge roles implementing of a distributed queue compatible with [Tarantool queue](https://github.com/tarantool/queue) (*fifiottl driver*) +```mermaid +flowchart TB + customers((customers)):::blue + customers <--> router1 + customers <--> router2 + + subgraph Queue + router1 + router2 + + subgraph shard1 + storage11[("Storage\n master")] + storage12[("Storage\n replica")] + storage13[("Storage\n replica")] + storage11<-->storage12 + storage11<-->storage13 + storage12<-->storage13 + end + + subgraph shard2 + storage21[("Storage\n master")] + storage22[("Storage\n replica")] + storage23[("Storage\n replica")] + storage21<-->storage22 + storage21<-->storage23 + storage22<-->storage23 + end + + subgraph shard3 + storage31[("Storage\n master")] + storage32[("Storage\n replica")] + storage33[("Storage\n replica")] + storage31<-->storage32 + storage31<-->storage33 + storage32<-->storage33 + end + + router1 <--> shard1 + router1 <--> shard2 + router1 <--> shard3 + router2 <--> shard1 + router2 <--> shard2 + router2 <--> shard3 + + end +``` + ## Usage in a cartridge application 1. Add dependency to your application rockspec