dynamo/docs/blogs/flash-indexer/tools/write-read-path.d2

62 lines
1.1 KiB
Plaintext

# Flash Indexer: Write/Read Path (grid layout with containers)
# Tree placed inside Read Path for grid alignment; container border
# adjusted in SVG post-processing to exclude it.
# Read Lock label + arrow added in SVG post-processing.
...@theme.d2
direction: right
writes: Write Path {
class: container_l1
grid-rows: 3
grid-gap: 150
ev: KV Events {
shape: queue
class: event
width: 300
height: 72
}
sr: Sticky Router {
class: load_balancer
width: 300
height: 72
}
pool: "Thread Pool (x3)" {
class: cpu
width: 300
height: 72
}
ev -> sr { class: data_flow }
sr -> pool { class: control_flow }
}
reads: Read Path {
class: container_l1
grid-rows: 3
grid-gap: 150
req: Incoming Request {
shape: hexagon
class: neutral
width: 300
height: 72
}
fm: "find_matches()" {
class: api
width: 300
height: 72
}
tree: Concurrent Radix Tree {
shape: cylinder
class: database
width: 300
height: 72
}
req -> fm { class: control_flow }
}
writes.pool -> reads.tree: Write Lock { class: critical_path }