Documentation Index KO - k-p2p-lab/kpl-v3 GitHub Wiki

K-P2PLab v3 ๋ฌธ์„œ ์•ˆ๋‚ด

Wiki home โ€บ ํ•œ๊ตญ์–ด ๋ฌธ์„œ ยท ์˜์–ด ์›๋ฌธ

์ €์žฅ์†Œ์™€ ๋น ๋ฅธ ์‹œ์ž‘ ยท ๊ณตํ†ต ๊ฐœ๋… ยท ๋ฌธ์„œ ๊ด€๋ฆฌ ๊ธฐ์ค€

ํ†ตํ•ฉ ์œ„ํ‚ค ์•ˆ์˜ v3 ์ž‘์—…๋ณ„ ๋ฌธ์„œ ์ง€๋„์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๊ณตํ†ต ๊ฐœ๋…ยท์—ฐ๊ตฌ ์„ค๊ณ„ยท์ถœํŒ๋ฌผ์€ ์œ„ํ‚ค์˜ ๋ณ„๋„ ํŽ˜์ด์ง€์—์„œ, ๋ช…๋ นยทํ™”๋ฉด ์‚ฌ์šฉ ์ ˆ์ฐจยท์Šคํ‚ค๋งˆยท์ˆ˜์‹ยท์šด์˜ ์ œ์•ฝ์€ ์ด ์•ˆ๋‚ด์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ๋Š” ์ˆœ์„œ

๋ฐฐํฌ์™€ ์šด์˜

๋ฌธ์„œ ๋‹ด๋‹น ๋‚ด์šฉ
Swarm ๋ฐฐํฌ ํ˜ธ์ŠคํŠธ ์ค€๋น„, CLIยท์ž๋™์™„์„ฑ, ๋„คํŠธ์›Œํฌ, ๊ฐฑ์‹ ยท์ข…๋ฃŒ, ์ €์žฅ์†Œ์™€ ๋ฐฐํฌ ๊ฒ€์ฆ
Agent ์šฉ๋Ÿ‰๊ณผ ๋ฐฐ์น˜ ์‹œ์ž‘ ๊ธฐ๋ณธ๊ฐ’, Agent๋ณ„ ์˜ˆ์™ธ, ๋น„๋ก€ ๋ฐฐ์น˜, ์ƒ์„ฑ ์˜ˆ์•ฝ๊ณผ ์ •๋ฆฌ
๋ชจ๋‹ˆํ„ฐ๋ง๊ณผ ์ง„๋‹จ Prometheus/Grafana, ์ง€ํ‘œ ๋…ธ์ถœ, ์ ‘๊ทผยท์ธ์ฆ ๋กœ๊ทธ์™€ SSE ์ง„๋‹จ

์‹คํ—˜ ์‚ฌ์šฉ ์ ˆ์ฐจ

๋ฌธ์„œ ๋‹ด๋‹น ๋‚ด์šฉ
์‹œ๋‚˜๋ฆฌ์˜ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‹œ๋‚˜๋ฆฌ์˜ค ์ž…๋ ฅ ์ €์žฅยท๊ฒ€์ฆยทํŽธ์ง‘ยท์žฌ์‚ฌ์šฉ
์‹คํ–‰๊ณผ ๋ณต๊ตฌ ์‹คํ–‰ยท๋ฐ˜๋ณตยท์ •์ง€ยท์ด์–ดํ•˜๊ธฐยท์žฌ์‹œ๋„, ์ง„ํ–‰ ์ •๋ ฌ๊ณผ ์˜ˆ์ƒ ์ข…๋ฃŒ
๋Œ€์‹œ๋ณด๋“œ ์‹ค์‹œ๊ฐ„ ํŒจ๋„, ์ง€ํ‘œ ์นด๋“œ, ํ‚ค๋ณด๋“œยทํ„ฐ์น˜ ์กฐ์ž‘๊ณผ ์—ฐ๊ฒฐ ์ƒํƒœ
ํ† ํด๋กœ์ง€ ๋ทฐ์–ด ๋…ธ๋“œยท๊ฐ„์„  ์˜๋ฏธ, ๊ณ„์ธตยทํ•„ํ„ฐ, ์ตœ์‹ ์„ฑยท์ƒ๋ช…์ฃผ๊ธฐ์™€ ๊ทธ๋ž˜ํ”„ ๊ด€์ธก
์ €์žฅ ๊ฒฐ๊ณผ ์›๋ณธยท๋ถ„์„ ํŒŒ์ผ ์กฐํšŒ, ๋‚ด๋ณด๋‚ด๊ธฐ, ์‚ญ์ œ, ๋ณด์กด๊ณผ ๋ฐฑ์—…
๊ฒฐ๊ณผ ์ด๋ฏธ์ง€์™€ ๋น„๊ต ๋ถ„์„ ์ž‘์—…, ๋ฐ˜๋ณต ํ‰๊ท , ๊ทธ๋ฆผยท๋น„๊ต์™€ PNG/CSV/JSON ๋‚ด๋ณด๋‚ด๊ธฐ

์ฐธ์กฐ

๋ฌธ์„œ ๋‹ด๋‹น ๋‚ด์šฉ
์‹œ๋‚˜๋ฆฌ์˜ค ์Šคํ‚ค๋งˆ YAML ํ•„๋“œ, phaseยทjob, ๋ถ„ํฌ, ๋„คํŠธ์›Œํฌ ์กฐ๊ฑด, ๊ธฐ๋ณธ๊ฐ’๊ณผ ํ•œ๋„
ํ”„๋กœํ† ์ฝœ ์˜ต์…˜ PubSub, ์ ์ˆ˜, ๊ฒ€์ฆ๊ธฐ, discovery์™€ Kademlia ์„ค์ •
HTTP API์™€ ์ด๋ฒคํŠธ ๊ณ„์•ฝ ์—”๋“œํฌ์ธํŠธ, ์ธ์ฆ, SSE ํ˜•์‹, ๋กœ๊ทธ ์Šคํ‚ค๋งˆ, ๋‹ค์šด๋กœ๋“œ ํ—ค๋”์™€ ๋ถ„์„ ์ž‘์—…
์‹คํ—˜ ์ง€ํ‘œ ์ •์˜ ๋ชจ์ง‘๋‹จ, ๋„๋‹ฌ๋ฅ  ๊ฒฝ๊ณ„, ์ง€์—ฐ, ์ค‘๋ณต, ๊ทธ๋ž˜ํ”„ ์ง€ํ‘œ์™€ ์ถ”์ •
๋Œ€์—ญํญ ์ธก์ • ์ธก์ • ๊ณ„์ธต, ์ „์†ก๋ฅ ยท๋ฐ”์ดํŠธ, ํ”„๋กœํ† ์ฝœ ๊ตฌ๋ถ„๊ณผ ์ˆ˜์ง‘ ํ’ˆ์งˆ

์‹คํ—˜ ์˜ˆ์ œ

๋ฌธ์„œ ๋‹ด๋‹น ๋‚ด์šฉ
์—ฐ์† churn๊ณผ ๋ฐœํ–‰ ๋‹ค์ค‘ ํ˜ธ์ŠคํŠธ ์‹คํ–‰, ๋ˆ„์  ์ง„์ž… ์ผ์ •, ๊ธฐ๋Œ€ ๊ทœ๋ชจ์™€ ๊ด€์ธก
์„ธ ์ง€์—ฐ ๊ทธ๋ฃน์˜ Prysm ์ ์ˆ˜ ํ•ฉ์„ฑ ์›Œํฌ๋กœ๋“œ, ๊ธฐ์ค€ ํŒŒ๋ผ๋ฏธํ„ฐ, ๊ทธ๋ฃน ์ผ์ •๊ณผ ํ•ด์„ ํ•œ๊ณ„

๊ฐœ๋ฐœ๊ณผ ํ˜ธํ™˜์„ฑ

๋ฌธ์„œ ๋‹ด๋‹น ๋‚ด์šฉ
๊ตฌํ˜„ ์•„ํ‚คํ…์ฒ˜ ๊ตฌ์„ฑ ์š”์†Œ, ํ†ต์‹ , ๋„คํŠธ์›Œํฌ, ๊ฒฉ๋ฆฌ์™€ ์†Œ์Šค ์—ฐ๊ฒฐ
๊ฐœ๋ฐœ ์•ˆ๋‚ด ๋นŒ๋“œยทํ…Œ์ŠคํŠธยท๊ฒ€์ฆ, ๊ฐœ๋ฐœ ์ด๋ฏธ์ง€ ๋ฐฐํฌ์™€ ๋ฌธ์„œ ์œ ์ง€๋ณด์ˆ˜
์„ฑ๋Šฅ ์กฐ์‚ฌ ๊ณผ๊ฑฐ churnยทSSE ๊ทผ๊ฑฐ, ๋ฒค์น˜๋งˆํฌ ์ž…๋ ฅ๊ณผ ๊ฒ€์ฆ ๋ฒ”์œ„
v2 ์žฌํ˜„ ๋งคํ•‘ ์‹คํ–‰ยท๋„คํŠธ์›Œํฌ ๋Œ€์‘, ์˜๋„์ ์ธ ์ฐจ์ด์™€ ๊ณผ๊ฑฐ ๊ฒ€์ฆ
v2 ๋ถ„์„ ์ง€์› ๋ฒ”์œ„ ์†Œ์Šค ๋ชฉ๋ก, ๋ถ„์„ยท์‹œ๊ฐํ™” ๋Œ€์‘, ์ •์˜์™€ ๊ทผ๊ฑฐ์˜ ํ•œ๊ณ„

๋ฒ„์ „ ๋น„๊ต manifest๋Š” v2 ๊ฐ์‚ฌ๋ฅผ ๋’ท๋ฐ›์นจํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ YAML์€ kpl-v3 ์†Œ์Šค ์ €์žฅ์†Œ์˜ examples/์— ๋‘ก๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ ๊ฒฐ๊ณผ์™€ ๋ฒค์น˜๋งˆํฌ๋Š” ๊ธฐ๋ก๋œ ํ™˜๊ฒฝ์˜ ๊ทผ๊ฑฐ์ด๋ฉฐ ํ˜„์žฌ ๋ฐฐํฌ ๊ฒ€์ฆ์€ ์•„๋‹™๋‹ˆ๋‹ค.