{ "version": "1.1", "id": "messaging-outbox-jdbc-postgresql-c01", "title": "이 리프가 아는 것과 모르는 것", "question": "outbox 리프는 무엇을 알아야 도는가?", "type": "dependency", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "발행 포트와 관계형 데이터베이스만 알고 브로커도 스프링 컨텍스트도 모르며 배선은 starter 몫이다.", "alt": "messaging-outbox-jdbc-postgresql 에서 MessagePublisher 포트와 관계형 데이터베이스로 화살표가 가고 브로커와 스프링 컨텍스트로는 점선이 간다.", "long_description": "SSOT 는 이 리프가 발행 포트와 관계형 데이터베이스만 알고 브로커도 스프링 컨텍스트도 모르며 배선이 starter 몫이라고 적는다.", "source_context": { "document": "/home/donghyeon/workspace/chat-gpt-container/document-haness/docs/clean-architecture-backend-template/final/document.md", "document_sha256": "8071fe71b3359d9cf60b95909c26c7b50653ce2f22bbc5fcf6988719bb91236d", "anchor": { "kind": "line", "value": 31172, "line": 31172 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "리프가 의존하는 것과 일부러 모르는 것이 갈리는 방향이 논지다.", "focus_node": "leaf" }, "groups": [], "nodes": [ { "id": "leaf", "label": "messaging-outbox-jdbc-postgresql", "kind": "service", "role": "source", "evidence": [ { "start_line": 31172, "end_line": 32100 } ], "assumption": false, "emphasis": "primary" }, { "id": "port", "label": "MessagePublisher 포트", "kind": "service", "role": "sink", "evidence": [ { "start_line": 31172, "end_line": 32100 } ], "assumption": false }, { "id": "db", "label": "관계형 데이터베이스", "kind": "database", "role": "sink", "evidence": [ { "start_line": 31172, "end_line": 32100 } ], "assumption": false, "shape": "database" }, { "id": "broker", "label": "브로커", "kind": "service", "role": "sink", "evidence": [ { "start_line": 31172, "end_line": 32196 } ], "assumption": false }, { "id": "spring", "label": "스프링 컨텍스트", "kind": "service", "role": "sink", "evidence": [ { "start_line": 31172, "end_line": 32196 } ], "assumption": false } ], "edges": [ { "id": "a", "from": "leaf", "to": "port", "label": "의존", "kind": "request", "evidence": [ { "start_line": 31172, "end_line": 32100 } ], "assumption": false, "emphasis": "primary" }, { "id": "b", "from": "leaf", "to": "db", "label": "의존", "kind": "request", "evidence": [ { "start_line": 31172, "end_line": 32100 } ], "assumption": false }, { "id": "c", "from": "leaf", "to": "broker", "label": "모름", "kind": "request", "evidence": [ { "start_line": 31172, "end_line": 32196 } ], "assumption": false, "style": "dashed" }, { "id": "d", "from": "leaf", "to": "spring", "label": "모름", "kind": "request", "evidence": [ { "start_line": 31172, "end_line": 32196 } ], "assumption": false, "style": "dashed" } ], "legend": [], "metadata": {} }