{ "version": "1.1", "id": "messaging-transport-spi-c03", "title": "회전이 교체인 순서", "question": "세대 회전은 어떤 순서인가?", "type": "dependency", "direction": "LR", "audience": [ "이 저장소의 구조를 읽는 사람" ], "summary": "새 세대를 원자적으로 설치한 뒤 옛 세대를 은퇴시키고 lease 반환을 기다려 정확히 한 번 닫는다.", "alt": "새 세대 install 에서 옛 세대 retire 로 그리고 lease 반환 대기와 정확히 한 번 close 로 이어지는 순서.", "long_description": "SSOT 는 회전이 살아 있는 세대를 바꾸는 것이 아니라 통째로 교체하는 것이고 진행 중인 발행이 시작한 세대를 그대로 유지한다고 적는다.", "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": 32900, "line": 32900 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "설치가 먼저이고 은퇴와 닫기가 뒤라는 순서가 논지다.", "focus_node": "install" }, "groups": [], "nodes": [ { "id": "install", "label": "새 세대 install", "kind": "service", "role": "source", "evidence": [ { "start_line": 32900, "end_line": 32912 } ], "assumption": false, "emphasis": "primary", "details": [ "원자 교체" ] }, { "id": "retire", "label": "옛 세대 retire", "kind": "service", "role": "service", "evidence": [ { "start_line": 32900, "end_line": 32912 } ], "assumption": false, "details": [ "은퇴 시각 기록" ] }, { "id": "wait", "label": "lease 반환 대기", "kind": "service", "role": "service", "evidence": [ { "start_line": 32900, "end_line": 32915 } ], "assumption": false, "details": [ "계수 0" ] }, { "id": "close", "label": "정확히 한 번 close", "kind": "service", "role": "sink", "evidence": [ { "start_line": 32900, "end_line": 32915 } ], "assumption": false } ], "edges": [ { "id": "a", "from": "install", "to": "retire", "label": "교체", "kind": "request", "evidence": [ { "start_line": 32900, "end_line": 32912 } ], "assumption": false, "emphasis": "primary" }, { "id": "b", "from": "retire", "to": "wait", "label": "반환 대기", "kind": "request", "evidence": [ { "start_line": 32900, "end_line": 32912 } ], "assumption": false }, { "id": "c", "from": "wait", "to": "close", "label": "계수 0", "kind": "request", "evidence": [ { "start_line": 32900, "end_line": 32915 } ], "assumption": false } ], "legend": [], "metadata": {} }