์ž‘์€ ํŒŒ์ผ์„ ์œ„ํ•œ ์†Œํ˜• ์Šคํ† ๋ฆฌ์ง€ ์„œ๋ฒ„์ธ wZD 1.0.0์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ดˆํŒ wZD 1.0.0 - ์™ธ๋ถ€์—์„œ ๋ณด๋ฉด ์ผ๋ฐ˜ WebDAV ์„œ๋ฒ„์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ์ปดํŒฉํŠธํ•œ ํ˜•ํƒœ๋กœ ๋งŽ์€ ์–‘์˜ ํŒŒ์ผ์„ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •๋œ ๋ฒ„์ „์ด ์ €์žฅ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ณผํŠธDB. ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๋ฐฐํฌ์ž BSD ๋ผ์ด์„ผ์Šค์— ๋”ฐ๋ผ.

์„œ๋ฒ„ ๊ทธ๊ฒƒ์€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ „์ฒด ์ž ๊ธˆ ์ง€์›์„ ํ†ตํ•ด ์ผ๋ฐ˜ ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์ž‘์€ ํŒŒ์ผ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค. wZD ๊ฐœ๋ฐœ์ž๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋œ FS์˜ 250๋งŒ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋Š” ์•ฝ 15์–ต XNUMX๋งŒ ๊ฐœ์˜ ์ž‘์€ ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋ฌด์ŠคFS.

wZD๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋””๋ ‰ํ„ฐ๋ฆฌ ๋‚ด์šฉ์„ BoltDB ํ˜•์‹์˜ ์•„์นด์ด๋ธŒ๋กœ ์ด๋™(์•„์นด์ด๋ธŒ)ํ•œ ๋‹ค์Œ ์ด๋Ÿฌํ•œ ์•„์นด์ด๋ธŒ์—์„œ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ๋ฐฐํฌ(๋˜๋Š” PUT ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ์„ ์•„์นด์ด๋ธŒ์— ์ €์žฅ)ํ•  ์ˆ˜ ์žˆ์–ด FS์˜ ํŒŒ์ผ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ์ค„์ด๊ณ  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ €์žฅ์— ๋”ฐ๋ฅธ ์˜ค๋ฒ„ํ—ค๋“œ. ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ํŒŒ์ผ์€ Bolt ์•„์นด์ด๋ธŒ์™€ ๋ณ„๋„๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ inode ์ˆ˜ ์ œํ•œ์— ๋„๋‹ฌํ•˜์ง€ ์•Š๊ณ ๋„ ์ˆ˜๋งŽ์€ ์ž‘์€ ํŒŒ์ผ์˜ ์ €์žฅ์†Œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž‘์€ ํŒŒ์ผ์„ ์œ„ํ•œ ์†Œํ˜• ์Šคํ† ๋ฆฌ์ง€ ์„œ๋ฒ„์ธ wZD 1.0.0์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

์„œ๋ฒ„๋Š” ํ‚ค/๊ฐ’ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ(๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ์— ๋”ฐ๋ฅธ ์ƒค๋”ฉ ํฌํ•จ) ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋œ html ๋˜๋Š” json ๋ฌธ์„œ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•œ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ Bolt ์•„์นด์ด๋ธŒ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์—…๋กœ๋“œํ•˜๊ณ  ์“ฐ๋ฉด ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์ฝ๊ธฐ ์‹œ ์•ฝ 20~25%, ์“ฐ๊ธฐ ์‹œ 40~50% ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ํฌ๊ธฐ๊ฐ€ ์ž‘์„์ˆ˜๋ก ๋Œ€๊ธฐ ์‹œ๊ฐ„์˜ ์ฐจ์ด๋„ ์ž‘์•„์ง‘๋‹ˆ๋‹ค.

์ž‘์€ ํŒŒ์ผ์„ ์œ„ํ•œ ์†Œํ˜• ์Šคํ† ๋ฆฌ์ง€ ์„œ๋ฒ„์ธ wZD 1.0.0์˜ ์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค

์ฃผ์š” ๊ธฐํšŒ:

  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ;
  • ๋‚ด๊ฒฐํ•จ์„ฑ๊ณผ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋‹ค์ค‘ ์„œ๋ฒ„
  • ์‚ฌ์šฉ์ž ๋˜๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ตœ๋Œ€ ํˆฌ๋ช…์„ฑ
  • ์ง€์›๋˜๋Š” HTTP ๋ฉ”์†Œ๋“œ: GET, HEAD, PUT ๋ฐ DELETE;
  • ํด๋ผ์ด์–ธํŠธ์ธก ํ—ค๋”๋ฅผ ํ†ตํ•ด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ๋™์ž‘์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ๋„๋กœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ์ง€์›
  • ์“ฐ๊ธฐ/์ฝ๊ธฐ ์‹œ CRC ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์ง€์›
  • ์ตœ์†Œํ•œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„์™€ ์ตœ์ ์˜ ๋„คํŠธ์›Œํฌ ์„ฑ๋Šฅ ํŠœ๋‹์„ ์œ„ํ•œ ๋ฐ˜๋™์  ๋ฒ„ํผ
  • ์ง€์—ฐ๋œ ๋ฐ์ดํ„ฐ ํŒจํ‚น;
  • ๋˜ํ•œ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์•„์นด์ด๋ฒ„๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. wZA ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ผ์„ Bolt ์•„์นด์ด๋ธŒ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค์˜ ์ผ๋ถ€ ์ œํ•œ ์‚ฌํ•ญ: Multipart ์ง€์› ์•ˆ ํ•จ, POST ๋ฉ”์„œ๋“œ, HTTPS ํ”„๋กœํ† ์ฝœ, ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๋ฐ”์ธ๋”ฉ, ๋””๋ ‰ํ„ฐ๋ฆฌ ์žฌ๊ท€ ์‚ญ์ œ, WebDAV ๋˜๋Š” FUSE๋ฅผ ํ†ตํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๊ตฌ์กฐ ๋งˆ์šดํŠธ ์ง€์› โ€‹โ€‹์•ˆ ํ•จ, ํŒŒ์ผ์€ ํ•œ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ €์žฅ๋จ . ์ €์žฅ ํ˜•์‹์€ ์•„ํ‚คํ…์ฒ˜์— ๋”ฐ๋ผ ๋‹ค๋ฅด๋ฉฐ Little Endian๊ณผ Big Endian ์‹œ์Šคํ…œ ๊ฐ„์— ์ด์‹ ๊ฐ€๋Šฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. wZD ์„œ๋ฒ„๊ฐ€ HTTP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  nginx ๋ฐ haproxy์™€ ๊ฐ™์€ ์—ญ๋ฐฉํ–ฅ ํ”„๋ก์‹œ๋ฅผ ๊ฐ€์žฅํ•˜์—ฌ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€