Dependency Map
This page documents the complete dependency graph for all 24 MATIH Platform services, including both service-to-service dependencies and infrastructure dependencies. Understanding these dependencies is critical for failure analysis, capacity planning, and deployment ordering.
Control Plane Dependencies
| Service | Depends On | Protocol |
|---|---|---|
api-gateway | iam-service, config-service | REST |
tenant-service | iam-service, infrastructure-service | REST |
tenant-service | notification-service, audit-service, billing-service | Kafka |
billing-service | notification-service | Kafka |
config-service | All services (broadcast) | Redis Pub/Sub |
observability-api | Prometheus, Elasticsearch | REST |
audit-service | -- (terminal consumer) | -- |
Data Plane Dependencies
| Service | Depends On | Protocol |
|---|---|---|
ai-service | query-engine, semantic-layer, catalog-service, ontology-service | REST |
bi-service | semantic-layer, query-engine, render-service | REST |
query-engine | Trino | JDBC |
semantic-layer | Trino | JDBC |
pipeline-service | query-engine, Temporal | REST, gRPC |
data-quality-service | query-engine, catalog-service | REST |
governance-service | catalog-service, Polaris | REST |
ops-agent-service | Prometheus, Loki, ai-service | REST |
data-plane-agent | All local services, Control Plane | REST, Kafka |
Infrastructure Dependencies
| Service Category | PostgreSQL | Redis | Kafka | Elasticsearch |
|---|---|---|---|---|
| Control Plane (10) | All | Most | 5 | 2 |
| Data Plane Java (7) | All | Most | 3 | 0 |
| Data Plane Python (6) | All | Most | 2 | 0 |
| Data Plane Node.js (1) | 0 | 0 | 0 | 0 |
Failure Impact Analysis
| Failed Component | Direct Impact | Cascade Risk |
|---|---|---|
iam-service | No authentication | All authenticated operations fail |
api-gateway | No external access | Total outage for external users |
config-service | No config updates | Low (cached configs still work) |
query-engine | No SQL execution | AI, BI, data quality all degraded |
ai-service | No conversational analytics | Chat features unavailable |
semantic-layer | No semantic queries | BI and AI lose metric computation |
catalog-service | No metadata resolution | AI loses schema context |
| PostgreSQL | No persistent data access | Service-specific failures |
| Redis | Cache miss, no pub/sub | Performance degradation |
| Kafka | No async events | Audit, billing, notifications delayed |
| Trino | No federated queries | Query engine cannot execute SQL |
Deployment Order
Services must be deployed in dependency order:
1. Infrastructure: PostgreSQL, Redis, Kafka, Elasticsearch
2. Core: iam-service, config-service
3. Control Plane: tenant-service, api-gateway, audit, billing, notification
4. Data Infrastructure: Trino, MinIO, Qdrant
5. Data Plane: catalog, semantic-layer, query-engine
6. Data Plane: ai-service, bi-service, ml-service, pipeline-service
7. Supporting: render-service, data-quality, governance, ontology, ops-agent
8. Agent: data-plane-agentScaling Relationships
| When This Scales | Also Scale | Reason |
|---|---|---|
ai-service +1 | query-engine +1 | AI generates queries for execution |
bi-service +1 | render-service +1 | More dashboards need rendering |
| New tenant | +1 data-plane-agent | Each namespace runs its own agent |
| Kafka throughput | All consumers | Consumer groups must keep pace |
Related Pages
- Service Registry -- Service discovery and DNS
- Communication Patterns -- Protocol selection
- Data Flow -- Request tracing through dependencies