์๋ฒ
wZD๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ ํฐ๋ฆฌ ๋ด์ฉ์ BoltDB ํ์์ ์์นด์ด๋ธ๋ก ์ด๋(์์นด์ด๋ธ)ํ ๋ค์ ์ด๋ฌํ ์์นด์ด๋ธ์์ ์ด๋ฌํ ํ์ผ์ ๋ฐฐํฌ(๋๋ PUT ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ํ์ผ์ ์์นด์ด๋ธ์ ์ ์ฅ)ํ ์ ์์ด FS์ ํ์ผ ์๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ๋ฉํ๋ฐ์ดํฐ ์ ์ฅ์ ๋ฐ๋ฅธ ์ค๋ฒํค๋. ๋์ฉ๋ ํ์ผ ์ฒ๋ฆฌ์ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด ์ด๋ฌํ ํ์ผ์ Bolt ์์นด์ด๋ธ์ ๋ณ๋๋ก ์ ์ฅํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ํ์ผ ์์คํ ์ inode ์ ์ ํ์ ๋๋ฌํ์ง ์๊ณ ๋ ์๋ง์ ์์ ํ์ผ์ ์ ์ฅ์๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์๋ฒ๋ ํค/๊ฐ ํ์์ ๋ฐ์ดํฐ(๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ์ ๋ฐ๋ฅธ ์ค๋ฉ ํฌํจ) ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฏธ๋ฆฌ ์์ฑ๋ html ๋๋ json ๋ฌธ์๋ฅผ ๋ฐฐํฌํ๊ธฐ ์ํ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ์ฑ๋ฅ ์ธก๋ฉด์์ Bolt ์์นด์ด๋ธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ ๋ก๋ํ๊ณ ์ฐ๋ฉด ๋๊ธฐ ์๊ฐ์ด ์ฝ๊ธฐ ์ ์ฝ 20~25%, ์ฐ๊ธฐ ์ 40~50% ์ฆ๊ฐํฉ๋๋ค. ํ์ผ ํฌ๊ธฐ๊ฐ ์์์๋ก ๋๊ธฐ ์๊ฐ์ ์ฐจ์ด๋ ์์์ง๋๋ค.
์ฃผ์
- ๋ฉํฐ์ค๋ ๋ฉ;
- ๋ด๊ฒฐํจ์ฑ๊ณผ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ ๊ณตํ๋ ๋ค์ค ์๋ฒ
- ์ฌ์ฉ์ ๋๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ต๋ ํฌ๋ช ์ฑ
- ์ง์๋๋ HTTP ๋ฉ์๋: GET, HEAD, PUT ๋ฐ DELETE;
- ํด๋ผ์ด์ธํธ์ธก ํค๋๋ฅผ ํตํด ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๋์์ ๊ด๋ฆฌํฉ๋๋ค.
- ๊ณ ๋๋ก ๊ตฌ์ฑ ๊ฐ๋ฅํ ๊ฐ์ ํธ์คํธ ์ง์
- ์ฐ๊ธฐ/์ฝ๊ธฐ ์ CRC ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ง์
- ์ต์ํ์ ๋ฉ๋ชจ๋ฆฌ ์๋น์ ์ต์ ์ ๋คํธ์ํฌ ์ฑ๋ฅ ํ๋์ ์ํ ๋ฐ๋์ ๋ฒํผ
- ์ง์ฐ๋ ๋ฐ์ดํฐ ํจํน;
- ๋ํ ๋ฉํฐ์ค๋ ๋ ์์นด์ด๋ฒ๋ ์ ๊ณต๋ฉ๋๋ค.
wZA ์๋น์ค๋ฅผ ์ค๋จํ์ง ์๊ณ ํ์ผ์ Bolt ์์นด์ด๋ธ๋ก ์ด๋ํฉ๋๋ค.
ํ์ฌ ๋ฆด๋ฆฌ์ค์ ์ผ๋ถ ์ ํ ์ฌํญ: Multipart ์ง์ ์ ํจ, POST ๋ฉ์๋, HTTPS ํ๋กํ ์ฝ, ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐ์ธ๋ฉ, ๋๋ ํฐ๋ฆฌ ์ฌ๊ท ์ญ์ , WebDAV ๋๋ FUSE๋ฅผ ํตํด ํ์ผ ์์คํ ์ ๊ตฌ์กฐ ๋ง์ดํธ ์ง์ โโ์ ํจ, ํ์ผ์ ํ ์์คํ ์ฌ์ฉ์์๊ฒ ์ ์ฅ๋จ . ์ ์ฅ ํ์์ ์ํคํ ์ฒ์ ๋ฐ๋ผ ๋ค๋ฅด๋ฉฐ Little Endian๊ณผ Big Endian ์์คํ ๊ฐ์ ์ด์ ๊ฐ๋ฅํ์ง ์์ต๋๋ค. wZD ์๋ฒ๊ฐ HTTP ํ๋กํ ์ฝ์ ๋ํ ์ง์์ ๊ตฌํํ๋ค๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ nginx ๋ฐ haproxy์ ๊ฐ์ ์ญ๋ฐฉํฅ ํ๋ก์๋ฅผ ๊ฐ์ฅํ์ฌ ์คํํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
์ถ์ฒ : opennet.ru