{ "version": "1.1", "id": "not-applicable-conditions", "title": "이 기록이 적용되지 않는 조건", "question": "이 결론들을 언제 그대로 쓰면 안 되는가", "type": "architecture", "direction": "TB", "audience": [ "이 기록을 자기 환경에 옮기려는 엔지니어" ], "summary": "버전, 캐시 온도, 인스턴스 수, 프록시 설정, 시계 동기 다섯 가지가 결론을 바꾼다.", "alt": "다섯 가지 전제가 각각 어떤 결론을 무효로 만드는지 이어진 구성.", "long_description": "Keycloak 26 미만이면 persistent-user-sessions 가 기본이 아니라 A층 결론 중 셋이 뒤집힌다. volatile 에서는 캐시가 더운지 찬지가 DB 정지 시의 동작을 가른다. 인스턴스가 하나면 B층 질문 자체가 생기지 않는다. oauth2-proxy 에서 cookie-refresh 를 켜면 TTL 역산 정리 규칙이 무너진다. 그리고 이 실험대는 106초 시계 왜곡이 있었고 여기 적힌 수치는 그것을 보정한 값이다.", "source_context": { "document": "docs/keycloak-session-store/final/document.md", "document_sha256": "1d44cba1905544d92f1d26ae36a8deb64a3db3914d6b488fd30d6ae7f8cfbabe", "anchor": { "kind": "heading", "value": "이 기록이 적용되지 않는 조건", "line": 689 } }, "composition": { "profile": "component-flow", "diagram_only": true, "reference_ids": [ "payment-event-flow" ], "rationale": "어떤 전제가 어떤 결론을 무효로 만드는가가 지배적 질문이다. 조건의 사슬이므로 component-flow 를 골랐다." }, "groups": [], "nodes": [ { "id": "version", "label": "Keycloak 버전", "kind": "component", "role": "source", "emphasis": "warning", "description": "26 미만이면 세션의 거처가 다르다.", "details": [ "A-1 · A-2 · A-8" ], "evidence": [ { "start_line": 684, "end_line": 690 } ], "assumption": false }, { "id": "cache", "label": "캐시 온도", "kind": "component", "role": "control", "emphasis": "warning", "description": "volatile 에서 DB 정지 시의 동작을 가른다.", "details": [ "400 · 500 · 200" ], "evidence": [ { "start_line": 684, "end_line": 692 } ], "assumption": false }, { "id": "instances", "label": "인스턴스 수", "kind": "component", "role": "control", "emphasis": "normal", "description": "하나면 B층 질문이 생기지 않는다.", "details": [], "evidence": [ { "start_line": 684, "end_line": 694 } ], "assumption": false }, { "id": "clock", "label": "시계 동기", "kind": "component", "role": "target", "emphasis": "warning", "description": "이 수치들은 106초 보정을 거친 값이다.", "details": [ "NTP 미동기 환경" ], "evidence": [ { "start_line": 684, "end_line": 696 } ], "assumption": false } ], "edges": [ { "id": "v-c", "from": "version", "to": "cache", "label": "선행 조건", "kind": "request", "evidence": [ { "start_line": 684, "end_line": 690 } ], "assumption": false }, { "id": "c-i", "from": "cache", "to": "instances", "label": "다음 조건", "kind": "request", "evidence": [ { "start_line": 684, "end_line": 694 } ], "assumption": false }, { "id": "i-cl", "from": "instances", "to": "clock", "label": "수치 해석", "kind": "request", "evidence": [ { "start_line": 684, "end_line": 696 } ], "assumption": false } ], "legend": [], "metadata": { "rationale": "적용 조건을 목록이 아니라 무엇을 무효로 만드는가로 이었다." } }