{ "version": "1.1", "id": "messaging-reliability-api-c01", "title": "이 리프가 담는 세 메커니즘", "question": "신뢰성 API 는 어떤 문제를 나눠 담는가?", "type": "dependency", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "이중 쓰기 문제와 소비 측 중복 제거와 브로커 밖 payload 참조를 서로 독립된 계약으로 담는다.", "alt": "messaging-reliability-api 에서 Outbox 와 Inbox 와 Claim Check 로 각각 화살표가 간다.", "long_description": "SSOT 는 이 리프가 이중 쓰기 문제(Outbox)와 소비 측 중복 제거(Inbox), 브로커 밖 payload 참조(Claim Check)를 서로 독립된 계약으로 담는다고 적는다.", "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": 34268, "line": 34268 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "한 리프가 서로 독립된 세 계약을 나눠 담는 구조가 논지다.", "focus_node": "leaf" }, "groups": [], "nodes": [ { "id": "leaf", "label": "messaging-reliability-api", "kind": "service", "role": "source", "evidence": [ { "start_line": 34268, "end_line": 34355 } ], "assumption": false, "emphasis": "primary" }, { "id": "outbox", "label": "Outbox", "kind": "service", "role": "sink", "evidence": [ { "start_line": 34268, "end_line": 34355 } ], "assumption": false, "details": [ "이중 쓰기" ] }, { "id": "inbox", "label": "Inbox", "kind": "service", "role": "sink", "evidence": [ { "start_line": 34268, "end_line": 34355 } ], "assumption": false, "details": [ "소비 측 중복 제거" ] }, { "id": "cc", "label": "Claim Check", "kind": "service", "role": "sink", "evidence": [ { "start_line": 34268, "end_line": 34362 } ], "assumption": false, "details": [ "브로커 밖 payload" ] } ], "edges": [ { "id": "a", "from": "leaf", "to": "outbox", "label": "계약 소유", "kind": "request", "evidence": [ { "start_line": 34268, "end_line": 34355 } ], "assumption": false, "emphasis": "primary" }, { "id": "b", "from": "leaf", "to": "inbox", "label": "계약 소유", "kind": "request", "evidence": [ { "start_line": 34268, "end_line": 34355 } ], "assumption": false }, { "id": "c", "from": "leaf", "to": "cc", "label": "계약 소유", "kind": "request", "evidence": [ { "start_line": 34268, "end_line": 34362 } ], "assumption": false } ], "legend": [], "metadata": {} }