Skip to content

Instantly share code, notes, and snippets.

@wirelessr
Last active September 23, 2022 03:04
Show Gist options
  • Save wirelessr/cfce1e6c40051fdd2c3e43329c906eaa to your computer and use it in GitHub Desktop.
Save wirelessr/cfce1e6c40051fdd2c3e43329c906eaa to your computer and use it in GitHub Desktop.
flowchart LR
core[(Core)]
cart[(Cart)]
other[(Others)]
bq[(BigQuery)]
rt[[Realtime events including CDC]]
pg[(Postgres)]
api[Shoplytics]
user(((User)))
core -- 5, 6 --> bq
cart --> bq
other --> bq
user --> api --1, 2--> pg
rt -. 3 ..-> pg
bq <-->|4| pg
linkStyle 0 stroke-width:2px,fill:none,stroke:blue;
linkStyle 1 stroke-width:2px,fill:none,stroke:blue;
linkStyle 2 stroke-width:2px,fill:none,stroke:blue;
linkStyle 6 stroke-width:2px,fill:none,stroke:blue;
flowchart LR
core[(Core)]
cart[(Cart)]
other[(Others)]
bq[(BigQuery)]
stream[[Stream]]
api[Shoplytics]
user(((User)))
ev[(Event-sourced View)]
user --> api --> ev
core -.CDC.-> stream
cart -.CDC.-> stream
other -.CDC.-> stream
stream --> ev
stream --> bq
bq --> ev & bq
linkStyle 7 stroke-width:2px,fill:none,stroke:blue;
linkStyle 8 stroke-width:2px,fill:none,stroke:blue;
flowchart LR
core[(Core)]
cart[(Cart)]
other[(Others)]
bq[(BigQuery)]
stream[[Stream]]
api[Shoplytics]
user(((User)))
ev[(Event-sourced View)]
user --> api --> ev
core -.CDC.-> dbz1
cart -.CDC.-> dbz2
other -.CDC.-> dbz3
streamapi --> ev
kcbq --> bq
bq --> ev & bq
linkStyle 7 stroke-width:2px,fill:none,stroke:blue;
linkStyle 8 stroke-width:2px,fill:none,stroke:blue;
subgraph stream [Stream]
dbz1[Debezium] --> kafka
dbz2[Debezium] --> kafka
dbz3[Debezium] --> kafka
kafka[[Kafka]] --> kcbq[KCBQ]
kafka --> streamapi[StreamAPI]
end
flowchart TD
h_order_item((Hourly))
r_order_item((Realtime))
h_order_log((Hourly))
r_order_log((Realtime))
h_event((Hourly))
r_event((Realtime))
ES[Search]
subgraph enrich1 [Enrichment]
subgraph aggr1 [Aggregate]
h_order_item --> order_item
r_order_item --> order_item
h_order_log --> order_log
r_order_log --> order_log
order_transaction
end
order_item --> product_detail
order_log --> product_detail
order_transaction --> product_detail
end
subgraph enrich2 [Enrichment]
h_event --> view
r_event --> view
view --> perf
category --> perf
product --> perf
end
ES --> enrich1
product_detail --Aggregate---> perf
enrich2 --> Pagination
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment