CB Spider Architecture - cloud-barista/cb-spider GitHub Wiki
CB-Spider ๊ตฌ์กฐ
๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ํ๋ ์์ํฌ๋ ๊ทธ๋ฆผ 3์์ ๋ณด๋ ๋ฐ์ ๊ฐ์ด ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ธ๋ก, ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๋ธ๋ก, ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก ๋ฐ ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด ๊ด๋ฆฌ ๋ธ๋ก์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๋ธ๋ก๋ณ ์ ๊ณต ๊ธฐ๋ฅ ๋ฐ ์ฐ๊ด ๊ด๊ณ๋ ๋ค์๊ณผ ๊ฐ๋ค.
-
์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ธ๋ก ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ธ๋ก์ ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ํ๋ ์์ํฌ ์ฌ์ฉ์๊ฐ ํ๋ ์์ํฌ์ ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋๋ก ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ ์์ฉ ๊ฐ๋ฐ์ ์ํ ์ฌ์ฉ์ API(Application Programming Interface)์ ํฐ๋ฏธ๋ ํ๊ฒฝ์์ ํ์ฉ์ด ๊ฐ๋ฅํ CLI(Command Line Interface) ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ธ๋ก์ ์ฌ์ฉ์์ ์์ฒญ์ ๋ฐ๋ผ ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๋ธ๋ก ๋๋ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก์ ๋ด๋ถ ์ธํฐํ์ด์ค๋ฅผ ํธ์ถํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ๋ค.
-
๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๋ธ๋ก ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๋ธ๋ก์ ์ฌ์ฉ์๊ฐ ๋ฉํฐ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์๋ก ๋ค๋ฅธ ํด๋ผ์ฐ๋ ์ฐ๋ ์ ๋ณด๋ฅผ ํตํฉ ๊ด๋ฆฌํ์ฌ ๋ค์ํ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ฐ๊ฒฐํ ์ ์๋๋ก ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
โป ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ ๋ณด: ๋๋ผ์ด๋ฒ, ์ธ์ฆ, ์๋น์ค ๋ฆฌ์ (Region) ๋ฐ ์ง์ญ(Zone) ์ ๋ณด ๋ฑ ์ฐ๋ ์ ๋ณด ํตํฉ ๊ด๋ฆฌ ๋ธ๋ก์ ์ฌ์ฉ์๊ฐ ์ ์ถํ ์ฐ๋ ์ ๋ณด ์ ์ฅ ๊ด๋ฆฌ๋ฅผ ์ํด์ ํ๋ถ์ ํค-๊ฐ ์ ์ฅ์๋ฅผ ํ์ฉํ๋ฉฐ ์ฌ์ฉ์ ๋๋ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก ์์ฒญ ์์ ์ฐ๋ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.
-
๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก์ ํด๋ผ์ฐ๋๋ณ๋ก ์ ๊ณตํ๋ ์๋ก ๋ค๋ฅธ ๊ธฐ๋ฅ ๋ฐ ์ด์ข API๋ฅผ ๋์ผ ๊ธฐ๋ฅ ๋ฐ ๋จ์ผ API ํํ๋ก ์ ๊ณตํ๋ค. ๋จ์ผ API ๋ฐ ๊ณตํต ์ ์ด ๊ธฐ๋ฅ ์ ๊ณต์ ์ํด์ ํด๋ผ์ฐ๋ ๋๋ผ์ด๋ฒ ๊ณตํต ์ธํฐํ์ด์ค์ ์ด๋ฅผ ๊ตฌํํ ๋๋ผ์ด๋ฒ ๊ตฌ์กฐ๋ก ์ค๊ณ๋์์ผ๋ฉฐ, ๊ฐ๋ฐ๋ ํด๋ผ์ฐ๋ ๋๋ผ์ด๋ฒ๋ CB-Spider ์๋ธ์์คํ ๊ฐ๋ ์ค์ ๋์ ์ผ๋ก ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ ๋์ ํ๋ฌ๊ทธ์ธ ๋ฐฉ์์ ์ ๊ณตํ๋ค. ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก์ ์ฌ์ฉ์๊ฐ ์์ฒญํ ์์ ๋ฐ VM(๊ฐ์ ๋จธ์ )์ ๋ํ ์์ฑ ๋ฐ ์ ์ด ๋ช ๋ น ์ํ์ ์ํด์ ํด๋ผ์ฐ๋ ๋๋ผ์ด๋ฒ ๋ด๋ถ์์ ์ค์ ๋์ ํด๋ผ์ฐ๋ API๋ฅผ ํ์ฉํ์ฌ ๋ช ๋ น์ ์ํํ๋ค. ๋ํ, ์ด ๊ณผ์ ์์ ๋ฐ์๋๋ API ํธ์ถ ์ด๋ ฅ ์ ๋ณด๋ฅผ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด ๊ด๋ฆฌ ๋ธ๋ก์ด ํ์ฉํ ์ ์๋๋ก ๋ก๊ทธ ์ถ๋ ฅ์ ํตํด์ ์ ๊ณตํ๋ค.
-
๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด ๊ด๋ฆฌ ๋ธ๋ก ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๊ฒฐ ์ด๋ ฅ ์ ๋ณด ๊ด๋ฆฌ ๋ธ๋ก์ CB-Spider ์๋ธ์์คํ ์ ํตํ ๋ค์ํ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด๋ฅผ ์์งํ๊ณ ์ ๊ณตํ๋ค. ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด๋ ํด๋ผ์ฐ๋ ์ธํ๋ผ API ํธ์ถ์ ๋ํ ๋์ ํด๋ผ์ฐ๋์ ํธ์ถ ๋ฐ ๋์ ์ด๋ ฅ ์ ๋ณด์ด๋ฉฐ, ํธ์ถ ๋์ ์์, ํธ์ถ API, ์๋ต ์๋ ๋ฐ ์ค๋ฅ ๋ฉ์์ง ๋ฑ์ ํฌํจํ๋ค. ์ฌ์ฉ์๋ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด๋ฅผ ํ์ฉํ์ฌ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์๋น์ค ํ์ง ์์ธก ๋ฐ ํน์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ์์ ์ ํ ์ ์ ํ๋๋ฅผ ํฅ์ ์ํฌ ์ ์๋ค. ์ฐ๋ ์ด๋ ฅ ์ ๋ณด ๊ด๋ฆฌ ๋ธ๋ก์ ๊ณตํต ์ ์ด ๊ด๋ฆฌ ๋ธ๋ก์ผ๋ก๋ถํฐ API ํธ์ถ ๋ก๊ทธ๋ฅผ ์์งํ๋ฉฐ, ์์ง๋ ๋๊ท๋ชจ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด ์ ์ฅ ๊ด๋ฆฌ๋ฅผ ์ํด์ ํ๋ถ์ ์ธ๋ฑ์ค ์ ์ฅ์๋ฅผ ํ์ฉํ๋ค. ์ ์ฅ๋ ์ฐ๋ ์ด๋ ฅ ์ ๋ณด๋ ์ฌ์ฉ์ ๋๋ ํํ๋ ์์ํฌ ์์ฒญ ์์ ์ ๊ณตํ๋ค.
์๊ธฐ์ ๊ฐ์ ์ฌ์ฉ์ ๊ธฐ๋ฅ ๋ฐ ๋ธ๋ก ๊ธฐ๋ฅ ๋ฑ์ ์ ๊ณต์ ์ํ ๋ฉํฐ ํด๋ผ์ฐ๋ ์ธํ๋ผ ์ฐ๋ ํ๋ ์์ํฌ์ ์ ์ฒด ์์ธ ๊ตฌ์กฐ๋ ๊ทธ๋ฆผ 4์ ๊ฐ๋ค. ๋ธ๋ก๋ณ ์์ธ ๊ตฌ์กฐ ๋ฐ ์ธ๋ถ ๊ธฐ๋ฅ์ ์๋ธ์์คํ ๊ธฐ๋ฅ ์ ์ ์ฐธ๊ณ ํ๋ค.