Appendix04.DataPipeline copy - haymant/trading GitHub Wiki

Data pipeline management

Data pipelines serves the purposes of data enrichment, transformation, analysis and input/output very well. Typical data pipeline solution such as Spring Cloud Data Flow and Flink leverage underlying database and message queues for data storage and communciation. For monolithic architecture, we may rely on Guava EventBus and implement simple pipeline APIs.

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       β”‚              β”‚            β”‚
β”‚                       β”‚              β”‚  Dashboard β”‚
β”‚      Web UI           β”‚   Shell      β”‚  Grafana   β”‚
β”‚                       β”‚              β”‚            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚    Dataflow Srv       β”‚     Skipper  β”‚   β”‚        β”‚
β”‚                       β”‚              β”œβ”€β”€β”€β–Ί        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€   β”‚        β”‚
β”‚ SCDF   A stream                      β”‚   β”‚time se-β”‚
β”‚ β”Œβ”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”            β”Œβ”€β”€β”€β”€β”€β”  β”‚   β”‚ries DB β”‚
β”‚ β”‚ Src β”‚  β”‚Proc β”‚   ...      β”‚Sink β”‚  β”‚   β”‚        β”‚
β”‚ β”‚     β”‚  β”‚     β”‚ ─────────  β”‚     β”‚  β”‚   β”‚        β”‚
β”‚ β”œβ”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β”€β”€β”€            β”œβ”€β”€β”€β”€β”€β”€  β”œβ”€β”€β”€β–ΊInfluxDBβ”‚
β””β”€β”΄β”€β”€β”€β”€β”Όβ”΄β”€β”€β”΄β”€β”€β–²β”€β”Όβ”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β–²β”€β”€β”€β”΄β”€β”€β”˜   β”‚Promet..β”‚
       β”‚      β”‚ β”‚               β”‚   Metricsβ”‚Wavefro.β”‚
β”Œβ”€β”€β”€β” β”Œβ–Όβ”€β”€β”€β”€β”€β”€β”΄β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”      β”‚        β”‚
β”‚DB β”‚ β”‚ Message Queue (rabbit/kafka)β”‚      β”‚        β”‚
β””β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Message queue

Refer to Appendix0 for more details.

$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server 192.168.1.100:9092

Database setup

Refer to Appendix0 for more details.

$ psql -h 192.168.1.100 -U postgres
postgres=# CREATE DATABASE dataflow;
⚠️ **GitHub.com Fallback** ⚠️