The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.
Follows the import procedure in README.md.
source/ the originating repository verbatim — 78 documents, 28 SVGs,
8 manifests, plus .source-revision recording the commit
final/ the SSOT
document.md 729 lines written from the 29 experiment documents, not
concatenated: what was predicted, what was measured, and
where the measurement itself was wrong
evidence/raw 125 outputs, flattened to <experiment>__<file> because
the originals collided (01-baseline.txt appeared three
times) and the audit only globs the top level
evidence/meta one per raw file; command and exitCode are null and the
README says why rather than inventing them
evidence/browser 22 captures
assets/ three diagrams through techviz
.techviz/ their VizSpecs
A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.
Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.
verify-pipeline.py passes. audit-records.py reports no issues.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
23 lines
1.3 KiB
Plaintext
23 lines
1.3 KiB
Plaintext
D-4 대조군 2 — '진행 중이던 요청' 측정 장치의 무주입 동작
|
|
수집 시각(dev): 2026-09-04T08:08:45Z UTC
|
|
|
|
왜 이 장치가 따로 필요한가
|
|
05-control 의 0.2초 폴링은 매 요청이 새 TCP 연결이다(핸드셰이크 900/900).
|
|
그래서 '새 연결을 받아주는가'는 재지만, D-4 가 묻는 '이미 진행 중이던
|
|
요청이 어떻게 되는가'는 재지 못한다. 재하려면 reload 순간에 실제로
|
|
전송 중인 요청이 있어야 한다.
|
|
|
|
장치
|
|
845KB 짜리 관리 콘솔 번들을 --limit-rate 20k 로 내려받는다.
|
|
응답을 일부러 느리게 읽어 요청을 ~42초 동안 살아 있게 만든다.
|
|
대상: https://auth.hyeonworks.com/resources/55yjq/admin/keycloak.v2/assets/main-BbID33M6.js
|
|
----------------------------------------------------------------
|
|
[대조군: 주입 없이 1회]
|
|
코드=200 받은바이트=845361 총시간=41.392198s 연결수=1 실효속도=20423B/s
|
|
기대 크기 845361 / 실제 845361 bytes
|
|
|
|
판정 기준 (주입 시 이 값들과 비교한다)
|
|
· 코드 200 + 크기 845361 = 진행 중이던 요청이 끝까지 살아남았다(graceful)
|
|
· 코드 000 또는 크기 부족 = reload 가 진행 중이던 연결을 끊었다
|
|
· 연결수 2 이상 = 중간에 끊겨 curl 이 다시 붙었다
|