Skip to content

๐Ÿ“Š WebRTC Mesh โ€ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ

Taewon Kim edited this page Nov 12, 2024 · 1 revision

์™œ ํŠธ๋ž˜ํ”ฝ์„ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋˜์—ˆ์„๊นŒ์š”? ๐Ÿค”

์ €ํฌ๋Š” ์ตœ๋Œ€ 4๋ช…์ด ํ•จ๊ป˜ํ•˜๋Š” ์†Œ๊ทœ๋ชจ ๊ฒŒ์ž„ ๋ฐฉ์—์„œ ์Œ์„ฑ ํ†ตํ™”๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด WebRTC Mesh ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ฐฉ์‹์„ ์„ ํƒํ•œ ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ์†Œ๊ทœ๋ชจ ์ธ์›: ํ•œ ๊ฒŒ์ž„ ๋ฐฉ์˜ ์ธ์›์ด ์ตœ๋Œ€ 4๋ช…์œผ๋กœ ๋งค์šฐ ์ ์Šต๋‹ˆ๋‹ค.
  2. ์Œ์„ฑ ๋ฐ์ดํ„ฐ๋งŒ ์ „์†ก: ์˜์ƒ ์—†์ด ์Œ์„ฑ ๋ฐ์ดํ„ฐ๋งŒ ์ฃผ๊ณ ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์—ญํญ ๋ถ€๋‹ด์ด ๋น„๊ต์  ์ ์Šต๋‹ˆ๋‹ค.
  3. ์„œ๋ฒ„ ๋ถ€๋‹ด ์ตœ์†Œํ™”: ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ ์ž ํด๋ผ์ด์–ธํŠธ ์ธก์—์„œ ์•ฝ๊ฐ„์˜ ๋ถ€๋‹ด์„ ๊ฐ์ˆ˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋ถ€๋‹ดํ•ด์•ผ ํ•˜๋Š” ์—…๋กœ๋“œ์™€ ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ์ด ์–ด๋Š ์ •๋„์ธ์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•…ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก ๋„คํŠธ์›Œํฌ ๋ถ€๋‹ด์„ ์˜ˆ์ธกํ•˜๊ณ , ์„œ๋น„์Šค ํ’ˆ์งˆ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•จ์ž…๋‹ˆ๋‹ค. ๐Ÿ˜Š


ํŠธ๋ž˜ํ”ฝ ์ƒ์„ธ ๊ณ„์‚ฐ ๐Ÿงฎ

1. ์Œ์„ฑ ๋ฐ์ดํ„ฐ์˜ ๋น„ํŠธ ์ „์†ก๋ฅ  ๊ณ„์‚ฐ

์˜ค๋””์˜ค ์„ค์ •:

  • ์ฑ„๋„ ์ˆ˜: ๋ชจ๋…ธ (1์ฑ„๋„)
  • ์ƒ˜ํ”Œ ๋ ˆ์ดํŠธ: 16,000Hz
  • ์ƒ˜ํ”Œ ํฌ๊ธฐ: 16๋น„ํŠธ

์›์‹œ ์˜ค๋””์˜ค ๋น„ํŠธ ์ „์†ก๋ฅ :

๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
๋น„ํŠธ ์ „์†ก๋ฅ  (raw) ์ƒ˜ํ”Œ ๋ ˆ์ดํŠธ ร— ์ƒ˜ํ”Œ ํฌ๊ธฐ ร— ์ฑ„๋„ ์ˆ˜ 16,000 Hz ร— 16 bits ร— 1 = 256,000 bps

ํ•˜์ง€๋งŒ WebRTC๋Š” ์›์‹œ ์˜ค๋””์˜ค ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์ „์†กํ•˜์ง€ ์•Š๊ณ , Opus ์ฝ”๋ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค.

Opus ์ฝ”๋ฑ์˜ ์˜ˆ์ƒ ๋น„ํŠธ ์ „์†ก๋ฅ :

  • 16kHz ๋ชจ๋…ธ ์Œ์„ฑ์˜ ๊ฒฝ์šฐ ์•ฝ 24kbps๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

2. ํŒจํ‚ทํ™” ๋ฐ ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ ๊ณ ๋ ค

ํŒจํ‚ทํ™” ๊ฐ„๊ฒฉ:

  • ์ผ๋ฐ˜์ ์œผ๋กœ 20ms ํ”„๋ ˆ์ž„ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์ดˆ๋‹น 50๊ฐœ์˜ ํŒจํ‚ท์ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

ํŒจํ‚ท๋‹น ์˜ค๋””์˜ค ํŽ˜์ด๋กœ๋“œ ํฌ๊ธฐ:

๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
ํŽ˜์ด๋กœ๋“œ ํฌ๊ธฐ 24,000 bps รท 50 480 bits = 60 bytes

ํŒจํ‚ท๋‹น ๋„คํŠธ์›Œํฌ ์˜ค๋ฒ„ํ—ค๋“œ:

  • IP ํ—ค๋”: 20๋ฐ”์ดํŠธ (IPv4)
  • UDP ํ—ค๋”: 8๋ฐ”์ดํŠธ
  • RTP ํ—ค๋”: 12๋ฐ”์ดํŠธ
  • ์ด ์˜ค๋ฒ„ํ—ค๋“œ: 40๋ฐ”์ดํŠธ

ํŒจํ‚ท๋‹น ์ด ํฌ๊ธฐ:

๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
์ด ํŒจํ‚ท ํฌ๊ธฐ ์˜ค๋ฒ„ํ—ค๋“œ + ํŽ˜์ด๋กœ๋“œ 40 bytes + 60 bytes = 100 bytes

์ŠคํŠธ๋ฆผ๋‹น ์ด ๋น„ํŠธ ์ „์†ก๋ฅ :

๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
์ด ๋น„ํŠธ ์ „์†ก๋ฅ  100 bytes ร— 50 ร— 8 40,000 bps = 40 kbps

3. ์‚ฌ์šฉ์ž๋‹น ์—…๋กœ๋“œ ๋ฐ ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ

4๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฐ ์‚ฌ์šฉ์ž๋Š” ๋‹ค๋ฅธ 3๋ช…์—๊ฒŒ ์ž์‹ ์˜ ์Œ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ณ , ๋‹ค๋ฅธ 3๋ช…์œผ๋กœ๋ถ€ํ„ฐ ์Œ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•ฉ๋‹ˆ๋‹ค.

  • ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ:

    ๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
    ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ 40 kbps ร— (4 - 1) 120 kbps
  • ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ:

    ๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
    ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ 40 kbps ร— (4 - 1) 120 kbps

๋‹ค๋ฅธ ์„œ๋น„์Šค์™€์˜ ํŠธ๋ž˜ํ”ฝ ๋น„๊ต ๐Ÿ“ถ

์„œ๋น„์Šค ๋น„ํŠธ ์ „์†ก๋ฅ 
์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ 128kbps ~ 320kbps
์œ ํŠœ๋ธŒ ์‹œ์ฒญ
- HD (720p) 1 ~ 3Mbps
- FHD (1080p) 3 ~ 7Mbps
- QHD (1440p) 7 ~ 13Mbps
- 4K (2160p) 15 ~ 25Mbps

์ €ํฌ์˜ ์Œ์„ฑ ํ†ตํ™” ์„œ๋น„์Šค๋Š” ์‚ฌ์šฉ์ž๋‹น ์—…๋กœ๋“œ 120kbps, ๋‹ค์šด๋กœ๋“œ 120kbps ์ •๋„์˜ ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ๋น„์Šทํ•˜๊ฑฐ๋‚˜ ๋” ๋‚ฎ์€ ์ˆ˜์ค€์ด๋ฉฐ, ๊ณ ํ™”์งˆ ์˜์ƒ ์ŠคํŠธ๋ฆฌ๋ฐ์— ๋น„ํ•˜๋ฉด ๋งค์šฐ ์ ์€ ์–‘์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ธ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ํฐ ๋ถ€๋‹ด ์—†์ด ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽง


ํ•œ ๋ฐฉ์˜ ์ตœ๋Œ€ ์‚ฌ์šฉ์ž ์ˆ˜๋Š” ๋ช‡ ๋ช…๊นŒ์ง€ ๊ฐ€๋Šฅํ• ๊นŒ์š”? ๐Ÿค”

Mesh ๋ฐฉ์‹์—์„œ๋Š” ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๋ชจ๋“  ์‚ฌ์šฉ์ž์™€ ์ง์ ‘ P2P ์—ฐ๊ฒฐ์„ ๋งบ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๊ฐ ์‚ฌ์šฉ์ž์˜ ํŠธ๋ž˜ํ”ฝ ๋ถ€๋‹ด์€ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

1. ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€ ํŒจํ„ด

  • ๊ฐ ์‚ฌ์šฉ์ž์˜ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ์€ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ์ˆ˜์— ๋น„๋ก€ํ•ฉ๋‹ˆ๋‹ค.

  • ์ฆ‰, n๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ์„ ๋•Œ, ๊ฐ ์‚ฌ์šฉ์ž์˜ ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ์€:

    ์‹ ์„ค๋ช…
    ํŠธ๋ž˜ํ”ฝ = ์ŠคํŠธ๋ฆผ๋‹น ๋น„ํŠธ ์ „์†ก๋ฅ  ร— (n - 1) ์‚ฌ์šฉ์ž ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ ์ฆ๊ฐ€

2. ์‚ฌ์šฉ์ž ์ˆ˜์— ๋”ฐ๋ฅธ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ

์‚ฌ์šฉ์ž ์ˆ˜ (n) ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ (kbps) ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ (kbps)
2 40 40
3 80 80
4 120 120
5 160 160
6 200 200
7 240 240
8 280 280
9 320 320
10 360 360

3. ์ตœ๋Œ€ ์‚ฌ์šฉ์ž ์ˆ˜ ๊ฒฐ์ •

  • ํด๋ผ์ด์–ธํŠธ ์ธก ๋ถ€๋‹ด์„ ๊ณ ๋ คํ•˜์—ฌ, ํ•œ ๋ฐฉ์˜ ์ตœ๋Œ€ ์‚ฌ์šฉ์ž ์ˆ˜๋Š” 10๋ช… ์ดํ•˜๊ฐ€ ์ ์ ˆํ•ฉ๋‹ˆ๋‹ค.
  • 10๋ช…์ผ ๊ฒฝ์šฐ, ๊ฐ ์‚ฌ์šฉ์ž๋Š” ์—…๋กœ๋“œ/๋‹ค์šด๋กœ๋“œ 360kbps๋ฅผ ๋ถ€๋‹ดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์—ฌ์ „ํžˆ ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ์ˆ˜์ค€์ด๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜ ๋น ๋ฅธ ๊ฒŒ์ž„ ์ง„ํ–‰์„ ์œ„ํ•ด ์ €ํฌ๋Š” ์ตœ๋Œ€ 4๋ช…์œผ๋กœ ์ œํ•œํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์™œ ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์„๊นŒ์š”? ๐Ÿ–ฅ๏ธ

ํŠธ๋ž˜ํ”ฝ์ด ์ ๋‹ค๋ฉด ์„œ๋ฒ„์—์„œ SFU ๋ฐฉ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•ด๋„ ๋˜์ง€ ์•Š์„๊นŒ ์ƒ๊ฐํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ Mesh ๋ฐฉ์‹์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค:

1. SFU ๋ฐฉ์‹์—์„œ์˜ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ

SFU ๋ฐฉ์‹์—์„œ๋Š” ์„œ๋ฒ„๊ฐ€ ๋ชจ๋“  ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆผ์„ ์ค‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „์ฒด ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ์„œ๋ฒ„์˜ ํŠธ๋ž˜ํ”ฝ ๋ถ€๋‹ด์ด ์ปค์ง‘๋‹ˆ๋‹ค.

  • ๋ฐฉ์˜ ํฌ๊ธฐ: 4๋ช… (ํ•œ ๋ฐฉ์˜ ์ตœ๋Œ€ ์ธ์›)
  • ์ŠคํŠธ๋ฆผ๋‹น ๋น„ํŠธ ์ „์†ก๋ฅ : 40kbps
  • ๋ฐฉ์˜ ์ˆ˜ (R): ์ „์ฒด ์‚ฌ์šฉ์ž ์ˆ˜(U)๋ฅผ 4๋กœ ๋‚˜๋ˆˆ ๊ฐ’

๋ฐฉ๋‹น ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ:

  • ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ (์„œ๋ฒ„ ์ˆ˜์‹ ):

    ๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
    ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ˆ˜ ร— ์ŠคํŠธ๋ฆผ๋‹น ๋น„ํŠธ ์ „์†ก๋ฅ  4 ร— 40 kbps = 160 kbps
  • ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ (์„œ๋ฒ„ ์†ก์‹ ):

    ๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
    ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ˆ˜ ร— (์‚ฌ์šฉ์ž ์ˆ˜ - 1) ร— ์ŠคํŠธ๋ฆผ๋‹น ๋น„ํŠธ ์ „์†ก๋ฅ  4 ร— 3 ร— 40 kbps = 480 kbps
  • ๋ฐฉ๋‹น ์ด ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ:

    ๊ณ„์‚ฐ ๋‹จ๊ณ„ ์‹ ๊ฒฐ๊ณผ
    ๋ฐฉ๋‹น ์ด ํŠธ๋ž˜ํ”ฝ ์—…๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ + ๋‹ค์šด๋กœ๋“œ ํŠธ๋ž˜ํ”ฝ 160 kbps + 480 kbps = 640 kbps

2. ์ „์ฒด ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ

  • ์ „์ฒด ์‚ฌ์šฉ์ž ์ˆ˜ (U): 1,000๋ช…, 10,000๋ช…, 100,000๋ช…, 1,000,000๋ช…

์ด ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ:

์ „์ฒด ์‚ฌ์šฉ์ž ์ˆ˜ (U) ๊ณ„์‚ฐ ์‹ ์ด ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ
1,000๋ช… 160 kbps ร— 1,000 160,000 kbps = 160 Mbps
10,000๋ช… 160 kbps ร— 10,000 1,600,000 kbps = 1.6 Gbps
100,000๋ช… 160 kbps ร— 100,000 16,000,000 kbps = 16 Gbps
1,000,000๋ช… 160 kbps ร— 1,000,000 160,000,000 kbps = 160 Gbps

3. ๊ฒฐ๊ณผ ํ•ด์„

  • ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ์€ ์‚ฌ์šฉ์ž ์ˆ˜์— ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ ๋ช…์˜ ์‚ฌ์šฉ์ž๋งŒ ๋˜์–ด๋„ ์„œ๋ฒ„๋Š” 1.6Gbps์˜ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์„œ๋ฒ„ ์ธํ”„๋ผ์™€ ๋น„์šฉ ์ธก๋ฉด์—์„œ ์ ์ง€ ์•Š์€ ๋ถ€๋‹ด์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๋˜ํ•œ, ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์™ธ์—๋„ CPU์™€ RAM ์‚ฌ์šฉ๋ฅ ๋„ ๋น„๋ก€ํ•˜์—ฌ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

4. Mesh ๋ฐฉ์‹์˜ ์žฅ์ 

  • ํด๋ผ์ด์–ธํŠธ ์ธก ํŠธ๋ž˜ํ”ฝ์€ ๋ฐฉ์˜ ํฌ๊ธฐ์—๋งŒ ์˜์กดํ•˜๋ฉฐ, ์ „์ฒด ์‚ฌ์šฉ์ž ์ˆ˜์™€ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ๋ถ€๋‹ด ์ตœ์†Œํ™”: ์„œ๋ฒ„๋Š” ์‹œ๊ทธ๋„๋ง๊ณผ ์ตœ์†Œํ•œ์˜ ํ†ต์‹ ๋งŒ ์ฒ˜๋ฆฌํ•˜์—ฌ, ๋Œ€๊ทœ๋ชจ ์‚ฌ์šฉ์ž๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก  ๐ŸŽฏ

์ €ํฌ๋Š” ์†Œ๊ทœ๋ชจ ์ธ์›์ด ์ฐธ์—ฌํ•˜๋Š” ์Œ์„ฑ ํ†ตํ™” ์„œ๋น„์Šค์—์„œ WebRTC Mesh ๋ฐฉ์‹์„ ์„ ํƒํ•จ์œผ๋กœ์จ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ•ด์น˜์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ๋ถ€๋‹ด์„ ์ค„์ด๋Š” ํšจ์œจ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ ์ธก: ๋ถ€๋‹ดํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์ด ์Œ์•… ์ŠคํŠธ๋ฆฌ๋ฐ ์ˆ˜์ค€์œผ๋กœ ๋‚ฎ์•„, ์ผ๋ฐ˜์ ์ธ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ์—์„œ ์›ํ™œํ•œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ์ธก: ํŠธ๋ž˜ํ”ฝ ๋ถ€๋‹ด์ด ์ตœ์†Œํ™”๋˜์–ด, ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ์— ์ ‘์†ํ•˜๋”๋ผ๋„ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šค ์ œ๊ณต์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ๋Š” ์พŒ์ ํ•œ ์Œ์„ฑ ํ†ตํ™” ํ™˜๊ฒฝ์„, ์„œ๋น„์Šค ์ธก๋ฉด์—์„œ๋Š” ์ ์€ ๋น„์šฉ์œผ๋กœ ์•ˆ์ •์„ฑ ๋†’์€ ์„œ๋ฒ„ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ˜Š

์•ˆ๋…•! ํด๋กœ๋ฐ”ํŒŒํŠธ๋ผ

ํŒ€ ๋ฌธํ™”

๐Ÿค Ground Rule

ํ˜‘์—… ๋ฐฉ์‹

๐Ÿ”’ Convention
๐ŸŒณ Git Branch ์ „๋žต

๊ฐœ๋ฐœ ๋ฌธ์„œ

๐Ÿ› ๏ธ AGT - Automatic Git & Github Tool
๐Ÿ“Š WebRTC Mesh โ€ ํŠธ๋ž˜ํ”ฝ ๊ณ„์‚ฐ
๐ŸŽข WebRTC Mesh - ํ—˜๋‚œํ•œ ์—ฌ์ •
๐Ÿ’ฌ WebRTC๋ฅผ ์•Œ์•„๋ณด์ž
๐Ÿ“ฎ SSE(Server Sent Events)
๐Ÿ“– SSE Pagination
โณ Socket ํ†ต์‹ ์—์„œ ๋น„๋™๊ธฐ ์ž‘์—… ์ˆœ์„œ ๋ณด์žฅ ๋ฐฉ๋ฒ•
๐Ÿ“ก Redis pub/sub๋ฅผ ํ™œ์šฉํ•œ SSE ์ ์šฉ๊ธฐ
๐Ÿ—๏ธ Naver Cloud Platform์„ ํ™œ์šฉํ•œ ๋ฐฐํฌ ์ „๋žต
โš”๏ธ๐Ÿš€ ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ: ๋‹จ์ผ ์ธ์Šคํ„ด์Šค VS NKS
๐Ÿšดโ€โ™€๏ธ Redis๋กœ ๊ฒŒ์ž„๋ฐฉ ๊ด€๋ฆฌ ์ตœ์ ํ™”: ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ์„ฑ๋Šฅ ๊ฐœ์„ 

ํšŒ์˜๋ก

๐Ÿ“† ํšŒ์˜๋ก ์บ˜๋ฆฐ๋”
๐Ÿ–ค ๋ฐ์ผ๋ฆฌ ์Šคํฌ๋Ÿผ ํ…œํ”Œ๋ฆฟ
๐Ÿ–ค ํšŒ๊ณ  ํ…œํ”Œ๋ฆฟ

๋ฉ˜ํ† ๋ง

0๏ธโƒฃ 0์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์ผ์ง€
1๏ธโƒฃ 1์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์ผ์ง€
2๏ธโƒฃ 2์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์ผ์ง€
3๏ธโƒฃ 3์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์ผ์ง€
4๏ธโƒฃ 4์ฃผ์ฐจ ๋ฉ˜ํ† ๋ง ์ผ์ง€

๋ฐœํ‘œ

0๏ธโƒฃ 0์ฃผ์ฐจ ๋ฐœํ‘œ
1๏ธโƒฃ 1์ฃผ์ฐจ ๋ฐœํ‘œ
2๏ธโƒฃ 2์ฃผ์ฐจ ๋ฐœํ‘œ
3๏ธโƒฃ 3์ฃผ์ฐจ ๋ฐœํ‘œ
4๏ธโƒฃ 4์ฃผ์ฐจ ๋ฐœํ‘œ
5๏ธโƒฃ ์ตœ์ข… ๋ฐœํ‘œ

Clone this wiki locally