Kafka

Kafka

์นดํ”„์นด๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์‚ฐํ•˜๋Š” ํ”„๋กœ๋“€์„œ์™€ ์†Œ๋น„ํ•˜๋Š” ์ปจ์Šˆ๋จธ, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์‚ฌ์ด์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅ, ์ „๋‹ฌํ•˜๋Š” ๋ธŒ๋กœ์ปค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ฐ ์—ญํ• ์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ•˜๊ธฐ์ „์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•˜๋Š” ๊ฐœ๋…๋“ค์ด ์žˆ๋‹ค.


๋ฉ”์‹œ์ง€

๋ฉ”์‹œ์ง€ ํ์˜ ๊ตฌ์กฐ (์ถœ์ฒ˜ : https://aws.amazon.com/ko/message-queue/)

์นดํ”„์นด์˜ ๋ธŒ๋กœ์ปค๋Š” ํ”„๋กœ๋“€์„œ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ , ์ด๋ฅผ ์ปจ์Šˆ๋จธ๋กœ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค.

์นดํ”„์นด์˜ ๋ฉ”์‹œ์ง€๋Š” Key์™€ Value๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

๋จผ์ € ๋ฉ”์‹œ์ง€์˜ ํ‚ค๋Š” ํ•ด๋‹น ๋ฉ”์‹œ์ง€๊ฐ€ ์นดํ”„์นด ๋ธŒ๋กœ์ปค ๋‚ด๋ถ€์— ์ €์žฅ๋  ๋•Œ, ์ €์žฅ๋˜๋Š” ์œ„์น˜์™€ ๊ด€๋ จ๋œ ์š”์†Œ์ด๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์นดํ”„์นด๋Š” ๊ฐ ๋ฉ”์‹œ์ง€๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•œ๋‹ค.

ํ”„๋กœ๋“€์„œ๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ธŒ๋กœ์ปค๋กœ ์ „๋‹ฌํ•  ๋•Œ, ํ”„๋กœ๋“€์„œ ๋‚ด๋ถ€์˜ ํŒŒํ‹ฐ์…”๋„ˆ(Partitioner)๊ฐ€ ์ €์žฅ ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

์ด ๋•Œ ํ‚ค ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ €์žฅ๋˜๋Š” ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

๋ฉ”์‹œ์ง€์˜ ๊ฐ’(value)๋Š” ์‹ค์ œ๋กœ ๊ทธ ๋ฉ”์‹œ์ง€๊ฐ€ ์ „๋‹ฌํ•˜๋ ค๋Š” ๋‚ด์šฉ๋ฌผ์„ ์˜๋ฏธํ•œ๋‹ค.

๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด์ด ๋  ์ˆ˜๋„ ์žˆ๊ณ , ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋‹ค์–‘ํ•œ ํƒ€์ž…์˜ ๊ฐ’์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ๋ธŒ๋กœ์ปค๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœํ–‰๋˜๊ฑฐ๋‚˜ ์†Œ๋น„๋  ๋•Œ, ๋ฉ”์‹œ์ง€ ์ „์ฒด๊ฐ€ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฉ”์‹œ์ง€์˜ ํ‚ค์™€ ๊ฐ’์€ ๋‹ค์–‘ํ•œ ํƒ€์ž…์ด ๋  ์ˆ˜ ์žˆ์ง€๋งŒ, ํŠน์ •ํ•œ ๊ตฌ์กฐ์ธ ์Šคํ‚ค๋งˆ(schema)๋ฅผ ๊ฐ€์ง„๋‹ค.

์นดํ”„์นด ๋ฉ”์‹œ์ง€์˜ ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ์™€ ์œ ์‚ฌํ•œ ๊ฐœ๋…์ด๋‹ค.

ํ”„๋กœ๋“€์„œ๊ฐ€ ๋ฐœํ–‰ํ•˜๊ณ  ์ปจ์Šˆ๋จธ๊ฐ€ ์†Œ๋น„ํ•  ๋•Œ, ๋ฉ”์‹œ์ง€๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ํ”„๋กœ๋“€์„œ๊ฐ€ ๋‚ด์šฉ(value)์ด JSON ํ˜•ํƒœ์ธ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœํ–‰ํ•  ๋•Œ, ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ์†Œ๋น„ํ•˜๋Š” ์ปจ์Šˆ๋จธ๋Š” ํ”„๋กœ๋“€์„œ๊ฐ€ ์ƒ์‚ฐํ•œ JSON์˜ ๊ตฌ์กฐ๋ฅผ ์˜ˆ์ƒํ•˜๊ณ , ๊ทธ์— ๋งž๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋ ค๊ณ  ํ•  ๊ฒƒ์ด๋‹ค.

์ด ๋•Œ ์Šคํ‚ค๋งˆ๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์ •์ƒ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋Œ€ํ•˜๊ธฐ๋Š” ํž˜๋“ค ๊ฒƒ์ด๋‹ค.


ํ† ํ”ฝ

์นดํ”„์นด์˜ ํ† ํ”ฝ(Topic)์€ ๋ฉ”์‹œ์ง€๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ, ๋™์ผํ•œ ํ† ํ”ฝ์˜ ๋ฉ”์‹œ์ง€๋“ค์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฐ™์€ ๋ฌธ๋งฅ(Context)๋ฅผ ๊ฐ€์ง„๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ฃผ๋ฌธ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ , ์†Œ๋น„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์šฐ๋ฆฌ๋Š” order๋ผ๋Š” ํ† ํ”ฝ์„ ์ƒ์„ฑํ•˜๊ณ  ์ด ํ† ํ”ฝ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœํ–‰, ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ฒ˜๋Ÿผ ํ† ํ”ฝ์€ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ด์ž ๋ฉ”์‹œ์ง€ ํ๋ฆ„์˜ ๋‹จ์œ„์ด๊ธฐ๋„ ํ•˜๋‹ค.

๋‹ค๋ฅธ ํ† ํ”ฝ์ด๋ผ๋ฉด, ๋‹ค๋ฅธ ํ๋ฆ„์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ํ๋ผ๊ณ  ๋ด๋„ ๋ฌด๋ฐฉํ•˜๋‹ค.


ํŒŒํ‹ฐ์…˜

๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ธ ํ† ํ”ฝ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐœํ–‰๋˜๋Š” ๋ฉ”์‹œ์ง€๋“ค์€ ๋ธŒ๋กœ์ปค ๋‚ด๋ถ€์˜ ๋ฌผ๋ฆฌ์ ์ธ ๋‹จ์œ„์ธ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

๊ทธ๋ฆผ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๋ฉด, T0 ํ† ํ”ฝ์€ 4๊ฐœ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ(P0-P3), T1 ํ† ํ”ฝ์€ 2๊ฐœ์˜ ํŒŒํ‹ฐ์…˜(P0-P1)์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์˜ ํ† ํ”ฝ์— ๋Œ€ํ•˜์—ฌ ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ฅผ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์— ์žˆ๋‹ค.

์นดํ”„์นด๋Š” ํ•˜๋‚˜์˜ ํ† ํ”ฝ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ํ”„๋กœ๋“€์„œ๊ฐ€ ๋ฐœํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์—ฌ๋Ÿฌ ์ปจ์Šˆ๋จธ๊ฐ€ ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ํ† ํ”ฝ์„ ํ•˜๋‚˜์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค 2๊ฐœ ์ด์ƒ์˜ ํŒŒํ‹ฐ์…˜์„ ๋‘๋Š” ๊ฒƒ์ด ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๊ฐ€ ๋˜์–ด ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๊ณ  ์„ฑ๋Šฅ์ด ๋”์šฑ ํ–ฅ์ƒ๋  ๊ฒƒ์ด๋‹ค.

์ด์™ธ์—๋„ ํŒŒํ‹ฐ์…˜์˜ ๊ฐ€์žฅ ํฐ ํŠน์ง•์€ ํ•˜๋‚˜์˜ ํŒŒํ‹ฐ์…˜ ๋‚ด์—์„œ๋Š” ๋ฉ”์‹œ์ง€ ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ฆ‰, ํŒŒํ‹ฐ์…˜์€ ๋ฉ”์‹œ์ง€ ์ˆœ์„œ ๋ณด์žฅ์˜ ๋‹จ์œ„์ด๋‹ค.

๊ฐ ํŒŒํ‹ฐ์…˜์˜ ๋ฉ”์‹œ์ง€๋Š” ๋ฐœํ–‰๋˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ๊ตฌ๋…ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ํ•˜๋‚˜์˜ ํ† ํ”ฝ์ด ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ, ํ† ํ”ฝ ๋‹จ์œ„์˜ ๋ฉ”์‹œ์ง€ ์ˆœ์„œ๋Š” ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค.

์ด๋Š” ํŒŒํ‹ฐ์…˜ ๋‚ด๋ถ€์—์„œ์˜ ์ˆœ์„œ๋Š” ๋ณด์žฅ๋˜์ง€๋งŒ ํŒŒํ‹ฐ์…˜ ๊ฐ„์˜ ์ˆœ์„œ๋Š” ๋ณด์žฅ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

ํŒŒํ‹ฐ์…˜ ๋ณต์ œ

ํ•˜๋‚˜์˜ ํ† ํ”ฝ์€ ํ•˜๋‚˜ ์ด์ƒ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋‚˜์•„๊ฐ€ ์นดํ”„์นด๋Š” ํŒŒํ‹ฐ์…˜์˜ ๋ณต์ œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋Š” ์•ˆ์ •ํ™”๋˜๊ณ  ์žฅ์•  ์ˆ˜์šฉ๋„ ์ˆ˜์›”ํ•ด์ง„๋‹ค.

ํ•˜๋‚˜์˜ ํŒŒํ‹ฐ์…˜์€ 1๊ฐœ์˜ ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด์™€ ๊ทธ ์™ธ 0๊ฐœ ์ด์ƒ์˜ ํŒ”๋กœ์–ด ๋ ˆํ”Œ๋ฆฌ์นด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

ํ•˜๋‚˜์˜ ํ† ํ”ฝ์ด 1๊ฐœ ์ด์ƒ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ, ํ•˜๋‚˜์˜ ํŒŒํ‹ฐ์…˜์ด 1๊ฐœ ์ด์ƒ์˜ ๋ ˆํ”Œ๋ฆฌ์นด๋กœโ€ฆ

๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด๋Š” ํŒŒํ‹ฐ์…˜์˜ ๋ชจ๋“  ์“ฐ๊ธฐ, ์ฝ๊ธฐ ์ž‘์—…์„ ๋‹ด๋‹นํ•œ๋‹ค.

๋ฐ˜๋Œ€๋กœ ํŒ”๋กœ์–ด ๋ ˆํ”Œ๋ฆฌ์นด๋Š” ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด๋กœ ์“ฐ์ธ ๋ฉ”์‹œ์ง€๋“ค์„ ๊ทธ๋Œ€๋กœ ๋ณต์ œํ•˜๊ณ , ๋งŒ์•ฝ ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋ฆฌ๋”๋ฅผ ์Šน๊ณ„๋ฐ›๋Š”๋‹ค.

ํŒŒํ‹ฐ์…˜์˜ ๋ ˆํ”Œ๋ฆฌ์นด ์ˆ˜๋Š” ๋ณต์ œ ๊ณ„์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฒฐ์ •๋˜๋Š”๋ฐ, ๋งŒ์•ฝ ๋ณต์ œ ๊ณ„์ˆ˜๊ฐ€ 1์ด๋ผ๋ฉด ํŒŒํ‹ฐ์…˜์€ ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด๋กœ๋งŒ ๊ตฌ์„ฑ๋œ๋‹ค.

์ด ๋•Œ, ํŒŒํ‹ฐ์…˜๊ณผ ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด๋Š” ๋ณ„๊ฐœ์ธ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋™์ผํ•œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ ๋งํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํŒŒํ‹ฐ์…˜ = ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด

๋‚˜์•„๊ฐ€ ๋ณต์ œ ๊ณ„์ˆ˜๊ฐ€ 2 ์ด์ƒ์ด๋ผ๋ฉด ํ•ด๋‹น ํŒŒํ‹ฐ์…˜์€ 1๊ฐœ์˜ ๋ฆฌ๋” ๋ ˆํ”Œ๋ฆฌ์นด์™€ 1๊ฐœ ์ด์ƒ์˜ ํŒ”๋กœ์›Œ ๋ ˆํ”Œ๋ฆฌ์นด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์ด ๊ฒฝ์šฐ ๋ชจ๋“  ๋ ˆํ”Œ๋ฆฌ์นด๋“ค์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค์— ๊ตฌ์„ฑ๋œ๋‹ค.

๋งŒ์•ฝ ๊ฐ™์€ ํŒŒํ‹ฐ์…˜์˜ ๋ ˆํ”Œ๋ฆฌ์นด๊ฐ€ ๋™์ผํ•œ ๋ธŒ๋กœ์ปค์— ๊ตฌ์„ฑ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.


๋ธŒ๋กœ์ปค

https://mapr.com/ebooks/streaming-architecture/chapter-04-apache-kafka-overview.html

๋ธŒ๋กœ์ปค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์นดํ”„์นด ์„œ๋ฒ„๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

ํ”„๋กœ๋“€์„œ์™€ ์ปจ์Šˆ๋จธ๋Š” ๋ณ„๋„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐ˜๋ฉด ๋ธŒ๋กœ์ปค๋Š” ์นดํ”„๊ฐ€ ์ž์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋”ฐ๋ผ์„œ โ€˜์นดํ”„์นด๋ฅผ ๊ตฌ์„ฑํ•œ๋‹คโ€™ ํ˜น์€ โ€˜์นดํ”„์นด๋ฅผ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•œ๋‹คโ€™์—์„œ ์นดํ”„์นด๋Š” ๋ธŒ๋กœ์ปค๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

๋ธŒ๋กœ์ปค ๋‚ด๋ถ€์—๋Š” ์—ฌ๋Ÿฌ ํ† ํ”ฝ๋“ค์ด ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋Ÿฌํ•œ ํ† ํ”ฝ๋“ค์— ์˜ํ•ด ์ƒ์„ฑ๋œ ํŒŒํ‹ฐ์…˜๋“ค์ด ๋ณด๊ด€ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋ถ„์‚ฐ ์ €์žฅ์„ ํ•ด์ฃผ๊ฑฐ๋‚˜ ์žฅ์•  ๋ฐœ์ƒ ์‹œ, ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์นดํ”„์นด (๋ธŒ๋กœ์ปค) ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ

๋ธŒ๋กœ์ปค๋Š” ํ•œ ๋Œ€ ์ด์ƒ์˜ ๋…ธ๋“œ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผํ‚คํผ๊ฐ€ ๋“ฑ์žฅํ•œ๋‹ค.

์ฃผํ‚คํผ

์ฃผํ‚คํผ๋Š” ์•„ํŒŒ์น˜ ํ”„๋กœ์ ํŠธ์ค‘ ํ•˜๋‚˜๋กœ, ํ•˜๋‘ก ์—์ฝ” ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•œ๋‹ค.

์ฃผ ์—ญํ• ์€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , ํ•„์š”์‹œ์—๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๋งˆ์Šคํ„ฐ๋ฅผ ์„ ์ถœํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ์ฃผํ‚คํผ์—๋Š” ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์‹๋ณ„ ์ •๋ณด๋ถ€ํ„ฐ ํ˜„์žฌ ์‚ด์•„์žˆ๋Š” ๋ธŒ๋กœ์ปค ์ •๋ณด, ๋‚˜์•„๊ฐ€ ๊ถŒํ•œ ์ •๋ณด ๋“ฑ์ด ์ €์žฅ๋œ๋‹ค.

๋˜ํ•œ, ์นดํ”„์นด ๋ธŒ๋กœ์ปค๋“ค ์ค‘ ์ผ์ข…์˜ ์ง€ํœ˜์ž ์—ญํ• ์„ ํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ ๋ธŒ๋กœ์ปค๋ฅผ ๋ฝ‘๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•œ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ

์ค„์ค„์ด ์ค‘์š”ํ•œ ๊ฐœ๋…๋“ค์ด ๋‚˜์˜จ๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ฌ๋Ÿฌ ๋ธŒ๋กœ์ปค ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋‹ด๋‹นํ•˜๊ฒŒ ๋˜๋Š” ์—ญํ• ์ด๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ๋ธŒ๋กœ์ปค๊ฐ€ ์žฅ์•  ๋ฐœ์ƒ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ,

์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๋ธŒ๋กœ์ปค์˜ ํ† ํ”ฝ์— ์žˆ๋Š” ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์„ ๊ฐ™์€ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์˜ ์ •์ƒ ๋™์ž‘ํ•˜๋Š” ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค์—๊ฒŒ ํ† ํ”ฝ์˜ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜ ์ง€์œ„๋ฅผ ์žฌ๋ถ„๋ฐฐํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ด ๋•Œ, ์ปจํŠธ๋กค๋Ÿฌ์˜ ์—ญํ• ์„ ํ•˜๋Š” ๋ธŒ๋กœ์ปค์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ์˜ ์—ญํ• ์„ ํ•œ๋‹ค.

์ด ๋˜ํ•œ ์ฃผํ‚คํผ๊ฐ€ ํ• ๋‹นํ•ด ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

์ฃผํ‚คํผ๋Š” ๋””๋ ‰ํ„ฐ๋ฆฌ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ๊ด€๋ฆฌํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์นดํ”„์นด์˜ ๋ฉ”ํƒ€ ์ •๋ณด๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์ฃผํ‚คํผ ์—ฐ๊ฒฐ ์„ค์ •์—์„œ ์ง€์ •๋œ ๋””๋ ‰ํ† ๋ฆฌ ํ•˜์œ„์— ์ €์žฅ๋œ๋‹ค.

๋”ฐ๋ผ์„œ ๋™์ผํ•œ ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ฃผํ‚คํผ ์—ฐ๊ฒฐ ์„ค์ •์—์„œ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ํ•˜๋‚˜์˜ ์ฃผํ‚คํผ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋™์‹œ์— ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.

๋™์ผํ•œ ์ฃผํ‚คํผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฉ€ํ‹ฐ ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ์Šต. ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ๋งˆ๋‹ค ์„œ๋กœ ๋‹ค๋ฅธ ์ฃผํ‚คํผ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•œ๋‹ค.

์ž ์‹œ ์ •๋ฆฌโ€ฆ

  • ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋Š” ํ•˜๋‚˜ ์ด์ƒ์˜ ๋…ธ๋“œ(๋ธŒ๋กœ์ปค)๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • ํ•˜๋‚˜์˜ ์ฃผํ‚คํผ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์นดํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ๋Š” ๋ณดํ†ต ํ•œ ๋Œ€ ์ด์ƒ์˜ ์ฃผํ‚คํผ ํด๋Ÿฌ์Šคํ„ฐ์™€, ํ•œ ๋Œ€ ์ด์ƒ์˜ ๋ธŒ๋กœ์ปค๋กœ ๊ตฌ์„ฑ๋œ ๋ธŒ๋กœ์ปค ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

์นดํ”„์นด ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋ชจ๋“  ๋ธŒ๋กœ์ปค๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Peer-to-Peer(P2P)์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

์ด๋ ‡๊ฒŒ P2P๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ํด๋ผ์ด์–ธํŠธ์™€ ์นดํ”„์นด ๊ฐ„ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋‹ค๋งŒ ์—ผ๋‘ํ•ด์•ผ ํ•  ๊ฒƒ์€ ์‹ค์ œ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ  ์ €์žฅํ•˜๋Š” ๋‹จ์œ„์ธ ํŒŒํ‹ฐ์…˜์€ ๋ฆฌ๋”์™€ ํŒ”๋กœ์›Œ๋กœ ๋‚˜๋‰˜์–ด ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

ํ•˜๋‚˜์˜ ํ† ํ”ฝ์ด๋ผ๋„ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์˜ ์œ„์น˜์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๋ธŒ๋กœ์ปค๊ฐ€ ์š”์ฒญ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.

์ฝ”๋””๋„ค์ดํ„ฐ

์ฝ”๋””๋„ค์ดํ„ฐ(Coordinator)๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์—ฌ๋Ÿฌ ๋ธŒ๋กœ์ปค ์ค‘ ํ•˜๋‚˜์˜ ๋ธŒ๋กœ์ปค๊ฐ€ ์ฝ”๋””๋„ค์ดํ„ฐ์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

์ฝ”๋””๋„ค์ดํ„ฐ๋Š” ์ปจ์Šˆ๋จธ ๊ทธ๋ฃน์˜ ์ƒํƒœ๋ฅผ ์ฒดํฌํ•˜์—ฌ ์ปจ์Šˆ๋จธ ๊ทธ๋ฃน ๋‚ด์˜ ์ปจ์Šˆ๋จธ๊ฐ€ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๋งค์นญ๋œ ํŒŒํ‹ฐ์…˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจ์Š˜ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ, ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ์ปจ์Šˆ๋จธ์—๊ฒŒ ๋งค์นญ๋œ ํŒŒํ‹ฐ์…˜์„ ์ •์ƒ ๋™์ž‘ํ•˜๋Š” ์ปจ์Šˆ๋จธ์—๊ฒŒ ํ• ๋‹นํ•œ๋‹ค.

์ด ๋•Œ, ์ด ์žฌํ• ๋‹นํ•ด์ฃผ๋Š” ๋™์ž‘์„ Rebalance๋ผ๊ณ  ํ•œ๋‹ค.

์ปจ์Šˆ๋จธ๊ฐ€ ์ฃฝ์—ˆ์„ ๋•Œ ๋‹ค๋ฅธ ์ปจ์Šˆ๋จธ์—๊ฒŒ ์žฌํ• ๋‹นํ•ด์ฃผ๋Š” ์—ญํ•  : ์ฝ”๋””๋„ค์ดํ„ฐ

๋ธŒ๋กœ์ปค๊ฐ€ ์ฃฝ์—ˆ์„ ๋•Œ ๋‹ค๋ฅธ ๋ธŒ๋กœ์ปค์—๊ฒŒ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜ ์ง์œ„๋ฅผ ์žฌ๋ถ„๋ฐฐ ํ•˜๋Š” ์—ญํ• : ์ปจํŠธ๋กค๋Ÿฌ


ํ”„๋กœ๋“€์„œ

ํ”„๋กœ๋“€์„œ(Producer)๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์ƒ์‚ฐ(produce)ํ•ด์„œ ๋ธŒ๋กœ์ปค์˜ ํ† ํ”ฝ์œผ๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์„œ๋ฒ„ ๋ชจ๋‘๋ฅผ ํ”„๋กœ๋“€์„œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

ํ”„๋กœ๋“€์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นดํ”„์นด ๋ธŒ๋กœ์ปค์™€ ์ง์ ‘ ํ†ต์‹ ํ•œ๋‹ค.

์ปจ์Šˆ๋จธ

์ปจ์Šˆ๋จธ(Consumer)๋Š” ํ† ํ”ฝ์˜ ํŒŒํ‹ฐ์…˜์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ์†Œ๋น„(consume)ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์„œ๋ฒ„ ๋ชจ๋‘๋ฅผ ์ปจ์Šˆ๋จธ๋ผ ๋ถ€๋ฅธ๋‹ค.

์ปจ์Šˆ๋จธ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์š”์ฒญํ•  ๋•Œ ๋ฆฌ๋” ํŒŒํ‹ฐ์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นดํ”„์นด ๋ธŒ๋กœ์ปค์™€ ํ†ต์‹ ํ•œ๋‹ค.

ํ† ํ”ฝ์˜ ํŒŒํ‹ฐ์…˜์œผ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ€๊ธฐ ์œ„ํ•ด ์ปจ์Šˆ๋จธ๋ฅผ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ 2๊ฐ€์ง€๋กœ, ํ† ํ”ฝ์˜ ํŠน์ • ํŒŒํ‹ฐ์…˜๋งŒ ๊ตฌ๋…ํ•˜๋Š” ์ปจ์Šˆ๋จธ๋ฅผ ์šด์˜ํ•˜๋Š” ๊ฒƒ๊ณผ 1๊ฐœ ์ด์ƒ์˜ ์ปจ์Šˆ๋จธ๋กœ ์ด๋ฃจ์–ด์ง„ ์ปจ์Šˆ๋จธ ๊ทธ๋ฃน์„ ์šด์˜ํ•˜๋Š” ๊ฒƒ์ด ์žˆ๋‹ค.

Last updated