Atlas dos diagramas de dados¶
A mesma ferramenta do Core representa os modelos MongoDB e, em visões separadas, as relações entre domínios, eventos e contratos de cache. Cada domínio possui uma visão simplificada em sua página e um visualizador de detalhes. O inventário de persistência cobre também os serviços sem documentos próprios.
Explorar o modelo consolidado da plataforma
Navegação¶
| Domínio / visualizador | Visões (incluindo resumos) | Collections / modelos Mongo representados |
|---|---|---|
| Core | 8 | gateway_revisions, gateways, route_revisions, routes |
| Template Service | 14 | gateway_template_revisions, gateway_templates, operations, outbox_events, route_template_categories, route_template_revisions, route_templates |
| Global Registry | 3 | catalog, tenant-aliases |
| Security | 2 | authorizations |
| IP Policy | 2 | IpPolicy |
| Rate Limit | 2 | RateLimit |
| Importer | 2 | gateway_import, gateway_import_status |
| Object Storage | 2 | global_file_registry, object_storage |
| Scheduler | 4 | http_calls_activities, rate_limit_activities, scheduler_reconciliation_checkpoints |
| OpenAPI Doc | 2 | gateway_openapi, inbox_processed |
| Tunnel | 2 | tunnels |
| Relações entre domínios | 9 | IpPolicy, RateLimit, authorizations, catalog, categories, gateway_import, gateway_import_status, gateway_revisions, gateway_template_revisions, gateway_templates, gateway_wizard, gateways, global_file_registry, object_storage, operations, rate_limit_activities, routes |
| Outbox, Inbox e projeções | 6 | gateway_openapi, gateway_templates, gateways, inbox_processed, operations, outbox_events |
| Redis e invalidação | 8 | Contratos de cache e contadores; sem collections Mongo |
IP Policy e Rate Limit usam nomes lógicos de modelos: o nome físico é delegado à biblioteca. As visões transversais reutilizam recortes, não criam novas collections. Cache Invalidator participa das visões de Redis; não possui coleção de domínio própria.
Como ler os modelos¶
- Laranja: collection ou contrato de cache, conforme o cabeçalho. Verde: objeto embutido. Roxo: snapshot embutido. Cinza: componente consumidor/escritor, sem schema de documento naquele quadro.
- ID: identificador. REF: referência por ID. CALC: propriedade calculada pelo codec. KEY: chave Redis. *: identidade obrigatória da collection; não implica obrigatoriedade de campos na API.
- Contínua: referência por identificador. Pontilhada: objeto/array embutido. Tracejada: snapshot, materialização ou relação lógica, sempre distinguida pelo label ou pela descrição da visão.
- A seta de referência parte do campo armazenado e chega ao identificador de destino. As setas de snapshots descrevem cópias históricas; não sincronizam automaticamente documentos vivos.
- Campos e tipos são os declarados no modelo Java/Go;
Array<T>representaList<T>. Enums e valores iniciais aparecem nos tooltips. Objetos livres (Document,Map<String,Object>, JSON em String) mantêm seu caráter aberto. - Os desenhos não acrescentam foreign keys, constraints nem cardinalidades de MongoDB. ID escalar, array e mapa são distinguidos pelo tipo.
_idgerado pelo Mongo, mas não declarado no modelo de aplicação, não é inventado como campo Java. - Cabeçalhos indicam escopo global, tenant ou banco configurado. Campos selecionados e descrições de recortes identificam projeções visuais; o dicionário mantém o documento completo.
- Nas visões Redis, as linhas chave, valor e TTL descrevem o contrato do cache; não são atributos armazenados dentro do valor e não são collections Mongo.
Cobertura e atualização¶
A expansão cobre os dez outros proprietários Mongo: Template Service, Global Registry, Security, IP Policy, Rate Limit, Importer, Object Storage, Scheduler, OpenAPI Doc e Tunnel. Outbox Dispatcher acessa a outbox existente; seu contrato Go é mostrado separadamente do produtor Java na mesma collection. Redis cobre invalidação, políticas, aliases, quotas, concorrência e tokens; OIDC/JWK e locks permanecem no inventário de caches.
O piloto Core foi preservado. O novo modelo de relações inclui recortes do Core para explicar seus vínculos com os outros owners, sem substituir seus diagramas detalhados.
Fontes versionadas: tools/data-diagrams/models.json registra os domínios; cada JSON contém campos, visões, referências e hashes das fontes. generate.mjs é o único renderer. DOT e SVG são derivados, com versões fixadas conforme o procedimento de geração.
Limites da modelagem¶
JobRunr, Keycloak, Cloudflare, GCS/MinIO e Elasticsearch são documentados nos limites de integração implementados pelos serviços Gateway. Não se inventam schemas internos desses provedores. As collections globais não comprovam autorização entre tenants; a resolução de owner está na documentação de multi-tenancy.