Apigee Hybrid ๋ฐฑ์ ๋ฐ ๋ณต์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ํ์ด๋ธ๋ฆฌ๋ ๋ฐ์ดํฐ ๋ฐฑ์ ์ ๋ง๋ค๊ณ ์ฌํด ๋ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ด์ ์์ ์ค๋ ์ท์ผ๋ก ๋ณต์ํ ์ ์์ต๋๋ค. ๋ฐฑ์ ๊ฐ์ฉ์ฑ๊ณผ ๋ณด๊ด์ ๊ฐ๋ฐ์๊ฐ ์ ๊ณตํ๋ ๋ฐฑ์ ์ธํ๋ผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
Apigee Hybrid์ ์ผ๋ฐ์ ์ธ ์ค์น๋ ๋ค์ ๊ตฌ์ฑ์์๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- MART(๊ด๋ฆฌ์ ์๋น์ค)
- ์ปจํธ๋กค๋ฌ ๋ฐ ๊ฐ์์(Kubernetes ๊ฐ์ฒด ๊ด๋ฆฌ)
- Istio(์ธ๊ทธ๋ ์ค ๊ด๋ฆฌ)
- ๋ฐํ์, ๋๊ธฐํ, UDCA(ํ๊ฒฝ๋น ํ๋)
- ์๊ฒฉ ๋ถ์(๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น )
- ์ธ์ฆ์ ๊ด๋ฆฌ์(์ธ์ฆ์ ๊ด๋ฆฌ)
- Datastore(Cassandra ๋ฐ Redis ๋ฐ์ดํฐ๋ฒ ์ด์ค)
Cassandra๋ฅผ ์ ์ธํ ๋ชจ๋ ๊ตฌ์ฑ์์๋ ์คํ ์ดํธ๋ฆฌ์ค(Stateless)์ด๋ฉฐ ์ด๋ ํ ๋ฐ์ดํฐ๋ ์ ์ง๋์ง ์์ต๋๋ค. ์ด๋ฌํ ๊ตฌ์ฑ์์์๋ ๋ฐฑ์ ๋ฐ ๋ณต์์ด ํ์ํ์ง ์์ต๋๋ค. ๋ณต๊ตฌ ์ค์๋ ๊ธฐ์กด ์ฌ์ ์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑ์์๋ฅผ ๋ค์ ์ค์นํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
Cassandra๋ฅผ ๋ฐฑ์ ํ๋ ์ด์
๋ฐฑ์ ์ ์ฌํด ์๋๋ฆฌ์ค์ ๋๋นํ ์ ์๋ ์ค์ํ ๋ณดํธ ์๋จ์ ๋๋ค. ๊ฐ ๋ฐฑ์ ์ ๋ฐฑ์ ์ด ์์ฑ๋ ๋ ์กด์ฌํ๋ Cassandra ๋ฐ์ดํฐ์ ์ผ๊ด๋ ์ค๋ ์ท ์ญํ ์ ํฉ๋๋ค. Cassandra ๋ฐ์ดํฐ ์ธ์๋ ์ด ์ค๋ ์ท์๋ Cassandra ํด๋ฌ์คํฐ ๋ด์ ์คํค๋ง์ ๋ฉํ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ฌํด๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฐฑ์ ์ ์ฌ์ฉํ๋ฉด ํ์ด๋ธ๋ฆฌ๋ ์ธ์คํด์ค๋ฅผ ์ด์ ์๋ ์ํ๋ก ๋ณต์ํ ์ ์์ต๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ์ธ์คํด์ค์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋จ์ผ ๋ฐฑ์ ์ธํธ์ ํ๋ ์ด์์ ๋ฐฑ์ ํ์ผ์ด ํฌํจ๋ ์ ์์ต๋๋ค.
Cassandra ๋ฐฑ์ ์ ๋ํด ์์์ผ ํ ์ฌํญ
Cassandra๋ ๊ฐ ๋ฆฌ์ ๋๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋ฐ์ดํฐ ๋ณต์ฌ๋ณธ์ด ์ต์ 3๊ฐ ์ด์ ์๋๋ก ๊ตฌ์ฑ๋ ๋ณต์ ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋๋ค. Cassandra๋ ์คํธ๋ฆฌ๋ฐ ๋ณต์ ๋ฐ ์ฝ๊ธฐ ๋ณต๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ์์ ์ ๊ฐ ๋ฆฌ์ ๋๋ ๋ฐ์ดํฐ ์ผํฐ์ ๋ฐ์ดํฐ ๋ณต์ ๋ณธ์ ์ ์งํฉ๋๋ค.
ํ์ด๋ธ๋ฆฌ๋์์ Cassandra ๋ฐฑ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉ ์ค์ ๋์ง ์์ต๋๋ค. ์น๋ช ์ ์ธ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ดํฐ๊ฐ ์์ค๋ ๊ฒฝ์ฐ์ ๋๋นํ์ฌ Cassandra ๋ฐฑ์ ์ ์ฌ์ฉ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. Cassandra ๋ฐฑ์ ์ ์ฌํด ๋ณต๊ตฌ ์ ์ฌ์ฉํ๊ธฐ ์ํ ๊ฒ์ด๋ฉฐ ์ค์๋ก ์ญ์ ํ์ฌ ์์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ๊ธฐ ์ํ ๊ฒ์ด ์๋๋๋ค.
๋ฐฑ์
์ overrides.yaml
ํ์ผ์ ์ค์ ๋ ์ผ์ ์ ๋ฐ๋ผ ์์ฑ๋ฉ๋๋ค. ๋ฐฑ์
์ผ์ ์ด ํ์ด๋ธ๋ฆฌ๋ ํด๋ฌ์คํฐ์ ์ ์ฉ๋๋ฉด ์ผ์ ์ ๋ฐ๋ผ Kubernetes ๋ฐฑ์
์์
์ด ์คํ๋ฉ๋๋ค.
์ด ์์
์ ํ์ด๋ธ๋ฆฌ๋ ํด๋ฌ์คํฐ์ ๊ฐ Cassandra ๋
ธ๋์์ ๋
ธ๋์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ , ๋ฐ์ดํฐ์ ๋ณด๊ด ํ์ผ์ ๋ง๋ค๊ณ , Cloud Storage ๋๋ ์๊ฒฉ ์๋ฒ์ ๋๋ ํฐ๋ฆฌ๋ก ๋ณด๊ด ํ์ผ์ ๋ณด๋ด๋ ๋ฐฑ์
์คํฌ๋ฆฝํธ๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
๋ฐฑ์ ๋๋ ํญ๋ชฉ
ํ์ด๋ธ๋ฆฌ๋ ์์ฝ ๋ฐฑ์ ์ ๋ฐฑ์ ์ Apigee์ Cassandra์ ์ ์ฅ๋ ์ง์ ๋ฐํ์ ๋ฐ์ดํฐ์ ์ ์ฒด ๋ฐฑ์ ์ ๋๋ค. ๋ฐฑ์ ์๊ฐ ์ดํ์๋ ๋ฐฑ์ ์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ์์ต๋๋ค. ์์ฝ ๋ฐฑ์ ์ ๋ค์ ํญ๋ชฉ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
- ์ฌ์ฉ์ ์คํค๋ง๋ฅผ ํฌํจํ Cassandra ์คํค๋ง(Apigee ํค์คํ์ด์ค ์ ์)
- ํด๋ฌ์คํฐ์ Cassandra ๋ ธ๋๋น Cassandra ํํฐ์ ํ ํฐ ์ ๋ณด์ ๋๋ค.
- Cassandra ๋ฐ์ดํฐ์ ์ค๋ ์ท
๋ฐฑ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ์์น
๋ฐฑ์ ๋ฐ์ดํฐ ์์น๋ ๋ฐฑ์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. Apigee Hybrid์์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฑ์ ๋ฐฉ๋ฒ์ ์ง์ํฉ๋๋ค.
- Cloud Storage์์ ๋ฐฑ์ : ๋ฐฑ์ ์ Google Cloud ํ๋ก์ ํธ์ ๊ตฌ์ฑ๋ Cloud Storage ๋ฒํท์ ์ ์ฅ๋ฉ๋๋ค.
- ์๊ฒฉ ์๋ฒ์์ ๋ฐฑ์ : ๋ฐฑ์ ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ํ ์๊ฒฉ ์๋ฒ์ ๋๋ ํฐ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.
๋ฐ์ดํฐ ๋ณดํธ ๋ฐฉ๋ฒ
๋ฐฑ์ ์ Cloud Storage๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐฑ์ ๋ฐ์ดํฐ๊ฐ ์ํธํ๋ฉ๋๋ค. ๋ฐฑ์ ์ด Cloud Storage์ ์์ผ๋ฉด ๋ฐฑ์ ๋ฐ์ดํฐ๋ ์๊ฒฉ ์๋ฒ๋ก ์ ์ก๋๋ ์ค์ ์ํธํ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ์ก ํ์๋ ๋ฐฑ์ ๋ฐ์ดํฐ๊ฐ ์๊ฒฉ ์๋ฒ์์ ์ํธํ๋์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
๋ฐฑ์ ์ ์ํํ๋ ๋ฐฉ๋ฒ
๋ฐฑ์
์ cron
์์
์ผ๋ก ์์ฝํด์ผ ํฉ๋๋ค. cronjob์ ๊ฐ๋ฐ์๊ฐ ๊ตฌ์ฑํ overrides.yaml
ํ์ผ์์ ๊ตฌ์ฑ์ ์ฝ์ต๋๋ค. ๋ณต๊ตฌ ํ๋ก์ธ์ค ์ค์ ๋ค์ ์ฌ์ฉํ ์ ์๋๋ก overrides.yaml
ํ์ผ์ ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ค์ ์น์ ์์๋ Cloud Storage ๋ฐ ์๊ฒฉ ์๋ฒ์์ ๋ฐฑ์ ์ ์์ฝํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ํฉ๋๋ค.