Jobs de Dataflow
Este documento detalla los jobs de Dataflow activos en la arquitectura de Solvento, incluyendo sus configuraciones, topics de Pub/Sub que consumen y destinos en BigQuery y ELK.
Overview
Los jobs de Dataflow en Solvento procesan datos desde Pub/Sub (streaming) y escriben datos raw a solvento-data-prod. Ningún job de Dataflow escribe a solvento-adv-analytics-prod.
Ingesta a ELK: Los jobs de invoices (invoices-webhook-prod e invoices-api-prod) escriben las invoices a ELK (Elasticsearch) para búsqueda y análisis en tiempo real, además de escribir a BigQuery.
Jobs por Categoría
Jobs de Webhooks
Estos jobs procesan eventos desde webhooks que llegan vía Cloud Run → Pub/Sub.
| Job Name | Pub/Sub Topic | Subscription | BigQuery Destino | ELK Destino | Tipo | Estado |
|---|---|---|---|---|---|---|
invoices-webhook-prod-20251203-154624 |
invoices-webhook-prod |
invoices-webhook-subscription |
Por verificar | ELK (invoices) | Streaming | Activo |
buro-webhook-prod-20251204-124756 |
buro-webhook-prod |
buro-webhook-subscription |
Por verificar | - | Streaming | Activo |
Flujo:
Webhooks → Cloud Run → Pub/Sub Topics → Dataflow Jobs → BigQuery (data-prod) + ELK (solo invoices-webhook)
Nota: El job invoices-webhook-prod escribe las invoices tanto a BigQuery como a ELK para búsqueda y análisis en tiempo real.
Jobs de APIs Externas
Estos jobs procesan eventos desde APIs externas consumidas por Cloud Run.
| Job Name | Pub/Sub Topic | Subscription | BigQuery Destino | ELK Destino | Tipo | Estado |
|---|---|---|---|---|---|---|
items-api-prod-20251120-135100 |
items-api-topic |
items-api-subscription |
Por verificar | - | Streaming | Activo |
invoices-api-prod-* |
invoices-api-prod |
invoices-api-subscription |
Por verificar | ELK (invoices) | Streaming | Activo |
cp-api-multischema-prod-20251205-191037 |
cp-api-prod |
cp-api-prod-subscription-cloud-run |
Por verificar | - | Streaming | Activo |
tax-compliance-api-multischema-prod-20251210-183338 |
tax-compliance-api-prod |
tax-compliance-api-prod-sub |
Por verificar | - | Streaming | Activo |
Flujo:
APIs Externas → Cloud Run → Pub/Sub Topics → Dataflow Jobs → BigQuery (data-prod) + ELK (solo invoices-api)
Nota: El job invoices-api-prod escribe las invoices tanto a BigQuery como a ELK para búsqueda y análisis en tiempo real.
Jobs de Insights y Analytics
| Job Name | Pub/Sub Topic | Subscription | BigQuery Destino | Tipo | Estado |
|---|---|---|---|---|---|
insights-sales-revenue-customers-daily-20251203-154949 |
insights-topic-prod |
insights-topic-prod-sub |
Por verificar | Streaming | Activo |
Jobs Batch
Jobs que procesan datos en modo batch (no desde Pub/Sub).
| Job Name | Fuente | BigQuery Destino | Frecuencia | Estado |
|---|---|---|---|---|
| batch-job-name | Cloud Storage / BigQuery | solvento-data-prod.dataset.table | Diario / Semanal | Activo |
Configuración de Jobs
Recursos Típicos
- Machine Type:
n1-standard-4on1-standard-8 - Max Workers: Variable según carga (típicamente 5-20)
- Disk Size: 50-100 GB por worker
- Autoscaling: Habilitado
Parámetros Comunes
- Project:
solvento-data-prod - Region:
us-central1(o región específica) - Network: VPC específica si aplica
- Service Account: Service account con permisos para Pub/Sub, BigQuery y ELK (para jobs de invoices)
Ingesta a ELK
Los jobs de invoices (invoices-webhook-prod e invoices-api-prod) escriben datos a ELK (Elasticsearch) para:
- Búsqueda en tiempo real: Búsqueda rápida de invoices por múltiples criterios
- Análisis y visualización: Dashboards y análisis en tiempo real
- Complemento a BigQuery: Mientras BigQuery almacena datos históricos, ELK proporciona capacidades de búsqueda y análisis en tiempo real
Flujo de Invoices a ELK:
Monitoreo
Métricas Clave
- Throughput: Mensajes/elementos procesados por segundo
- Latency: Tiempo desde publicación en Pub/Sub hasta escritura en BigQuery
- Backlog: Mensajes pendientes en subscriptions
- Errors: Tasa de errores y mensajes fallidos
Alertas
- Backlog creciente en subscriptions
- Tasa de errores > 1%
- Jobs fallidos o detenidos
- Latencia > umbral definido
Troubleshooting
Job Falla
- Revisar logs en Cloud Logging
- Verificar permisos de service account
- Validar formato de mensajes en Pub/Sub
- Revisar esquema de BigQuery destino
Backlog Alto
- Aumentar número de workers
- Optimizar transformaciones en el pipeline
- Revisar throughput del topic de Pub/Sub
- Verificar que BigQuery no esté limitando escrituras