-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
38 changed files
with
1,030 additions
and
607 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,345 @@ | ||
.. _enterprise: | ||
|
||
21์ฅ. 2-Tier ๊ตฌ์กฐ | ||
**************************** | ||
|
||
์ด ์ฅ์์๋ ๋๊ท๋ชจ ์๋น์ค์ ์ ํฉํ **2-Tier** ๊ตฌ์กฐ์ ๋ํด ์์ธํ ์ค๋ช ํ๋ค. | ||
๋๊ท๋ชจ ์๋น์ค๋ฅผ ์ดํดํ๊ธฐ ์ํด์๋ **HOT** & **COLD** ์ฝํ ์ธ ๋ฅผ ์ดํดํด์ผ ํ๋ค. | ||
|
||
- **HOT** - ์์ฃผ ์๋น์ค๋๋ฉฐ Peak ์์ ํธ๋ํฝ์ ๋๋ถ๋ถ์ ์ฐจ์งํ๋ค. | ||
- **COLD** - ๊ฐํ์ ์ผ๋ก ์๋น์ค๋์ง๋ง ์ ์ฅ๊ณต๊ฐ ๋๋ถ๋ถ์ ์ฐจ์งํ๋ค. (ํํ Long-tail์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.) | ||
|
||
๋๊ท๋ชจ E-Commerce๋ ๋์์ ์๋น์ค์ ๋ง๋ํ ๋ฐ์ดํฐ ํธ๋ํฝ์๋ **HOT** ๊ณผ **COLD** ๊ฐ ํผ์ฌ๋์ด ์์ผ๋ฉฐ ์ด๋ฅผ ์คํ ๋ฆฌ์ง๋ง์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ๋ฌธ์ ์ด๋ค. | ||
|
||
- ์คํ ๋ฆฌ์ง I/O ์ฑ๋ฅ์ ๋ณ๋ชฉ | ||
- ์คํ ๋ฆฌ์ง ๋ฐ ๋ฐฑ์๋ ์ฆ์ค๋น์ฉ | ||
- SPOP (Single Point Of Pain) | ||
- ๊ด๋ฆฌ | ||
|
||
์บ์๋ ์ด๋ฐ ๋ฌธ์ ์ ์์ฃผ ์ ํฉํ๋ค. | ||
์๋ณธ ์คํ ๋ฆฌ์ง ํ์ผ๋ถํฌ๊ฐ ๋ค์๊ณผ ๊ฐ๋ค๊ณ ์๋ฅผ ๋ค์ด ๋ณด์. | ||
|
||
.. figure:: img/enterprise27.png | ||
:align: center | ||
|
||
ํํ ๋จ์ ์บ์ฑ๋ง์ผ๋ก ์๋์ ๊ฐ์ด ํ์ผ์ N๋ฑ๋ถ์ผ๋ก ๋๋์ด ์๋น์คํ๋ ๋ชจ์ต์ ์์ํ๋ค. | ||
|
||
.. figure:: img/enterprise28.png | ||
:align: center | ||
|
||
ํ์ง๋ง ํ์ค์ ๋ก๋ ๋ฐธ๋ฐ์์ ๊ท ๋ฑ๋ถ์ฐ(Round Robin)์ ํตํด ๋ชจ๋ ๊ฐ์ ์ฝํ ์ธ ๋ฅผ ์๋น์คํ๊ฒ ๋๋ค. | ||
|
||
.. figure:: img/enterprise29.png | ||
:align: center | ||
|
||
์ด ๊ฒฝ์ฐ ์บ์ํจ๊ณผ๋ ๋งค์ฐ ์ ํ๋์ด ์คํ ๋ฆฌ์ง ๋ถํ๋ ์ค์ด๋ค์ง ์๋๋ค. | ||
|
||
.. note: | ||
Layer-7 ๋ก๋ ๋ฐธ๋ฐ์๋ก URL ๋ผ์ฐํ ์ ๊ตฌ์ฑํ์ฌ๋ ํน์ ์๋ฒ์ **HOT** ์ฝํ ์ธ ๊ฐ ์ง์ค๋ ๊ฒฝ์ฐ ํธ๋ํฝ ๋๋ฆผ ํ์์ด ๊ฐ์ ๋์ง ์๋๋ค. | ||
.. toctree:: | ||
:maxdepth: 2 | ||
|
||
|
||
.. _enterprise-conf: | ||
|
||
๊ตฌ์ฑ | ||
==================================== | ||
|
||
๋๊ท๋ชจ ์๋น์ค์์๋ ์บ์๋ฅผ 2-Tier ๊ตฌ์กฐ๋ก ๋๋ ๊ฒ์ด ํจ๊ณผ์ ์ด๋ค. | ||
|
||
.. figure:: img/enterprise30.png | ||
:align: center | ||
|
||
=================== ======================================= ================================= | ||
๊ตฌ๋ถ Parent Layer Child Layer | ||
=================== ======================================= ================================= | ||
์บ์ฑ๋์ COLD ์ฝํ ์ธ HOT ์ฝํ ์ธ | ||
์ญํ ์ฝํ ์ธ ๋ถ์ฐ์ ์ฅ, ์คํ ๋ฆฌ์ง ๋ถํ ์ ๊ฐ ์ฝํ ์ธ ๋ถ์ฐ | ||
์ฆ์ค์์ ์๋ณธ ์ฝํ ์ธ ์ฆ๊ฐ์์ ํธ๋ํฝ ์ฆ๊ฐ์์ | ||
=================== ======================================= ================================= | ||
|
||
STON์ ์ค์์ง์ค ์๋ฒ์์ด ๊ตฌ์กฐ์ ์ค์ ๋ง์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. | ||
|
||
|
||
**Parent Layer** ๋ ๋จ์ํ๊ฒ ์๋ณธ์๋ฒ์์ ์บ์ฑํ๋ฉด ๋๋ค. :: | ||
|
||
# vhosts.xml - <Vhosts> | ||
|
||
<Vhost Name="parent-1.example.com"> | ||
<Origin> | ||
<Address>storage.example.com</Address> | ||
</Origin> | ||
<Options> | ||
<IfRange Purge="ON">ON</IfRange> | ||
</Options> | ||
</Vhost> | ||
|
||
- :ref:`env-vhost-activeorigin` | ||
- :ref:`handling_http_requests_header_if_range` | ||
|
||
|
||
**Child Layer** ์์๋ **Parent Layer** ์ ์ฃผ์๋ก ์ฝํ ์ธ ๋ฅผ ๋ถ์ฐํ๋๋ก ์ค์ ํ๋ค. :: | ||
|
||
# vhosts.xml - <Vhosts> | ||
|
||
<Vhost Name="www.example.com"> | ||
<Origin> | ||
<Address>parent-1.example.com</Address> | ||
<Address>parent-2.example.com</Address> | ||
<Address>parent-3.example.com</Address> | ||
<Address>parent-4.example.com</Address> | ||
</Origin> | ||
<OriginOptions> | ||
<BalanceMode>Hash</BalanceMode> | ||
</OriginOptions> | ||
</Vhost> | ||
- :ref:`env-vhost-activeorigin` | ||
- :ref:`origin-balancemode` | ||
|
||
|
||
์ค์ ์ ๊ฐ๋จํ์ง๋ง ๋งค์ฐ ํจ๊ณผ์ ์ผ๋ก ๋์ํ๋ค. | ||
``<IfRange>`` ์ค์ ์ ๋ํด์๋ `๋ธ๋ญ์บ์ฑ๊ณผ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ`_ ์์ ์์ธํ ๋ค๋ฃฌ๋ค. | ||
|
||
|
||
|
||
.. _enterprise-block: | ||
|
||
๋ธ๋ญ์บ์ฑ๊ณผ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ | ||
==================================== | ||
|
||
์น๊ณผ ๊ฐ์ ๋ถ์ฐ ์์คํ ์์ ์๋ฒฝํ **๋ฌด๊ฒฐ์ฑ/์ ํฉ์ฑ** ์ ๋ณด์ฅํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ค์ด ์ผ์ด๋ค. | ||
ํนํ HTTP ํ๋กํ ์ฝ๋ง์ผ๋ก๋ ๋ฌธ์ ํด๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ค์ํ ๊ด์ ์ ์ ๊ทผ์ด ํจ๊ป ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. | ||
|
||
|
||
HTTP ํ๋กํ ์ฝ์ ``Range`` ํค๋๋ฅผ ํตํ ๋ธ๋ญ ๋ค์ด๋ก๋์ ์บ์ฑ ๋ฉ์ปค๋์ฆ์ ์ง์ํ๋ค. | ||
๋ฐ๋ผ์ ``Range`` ์์ฒญ์ ์ฌ์ฉํ๋ ์์คํ ์ด๋ผ๋ฉด ๋ฐ๋์ ๋ค์ 3๊ฐ์ง ์ฌํญ์ ์ค์ํด์ผ ๋ฌด๊ฒฐ์ฑ/์ ํฉ์ฑ์ ๋ณด์ฅํ ์ ์๋ค. | ||
|
||
- **Client** - ์ต์ข ํด๋ผ์ด์ธํธ ์ดํ๋ฆฌ์ผ์ด์ ์์์ ๋ฌด๊ฒฐ์ฑ ์ฒ๋ฆฌ ๋ฉ์ปค๋์ฆ | ||
- **Caching Layer** - ๊ณ์ธต ์บ์์์์ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ ๋ฉ์ปค๋์ฆ ๋ฐ ๊ตฌ์ฑ | ||
- **๊ด๋ฆฌ** - ์ปจํ ์ธ ์ค์ฌ๋ถํฐ ๋ฐ๊นฅ(Edge)์ชฝ์ผ๋ก์ Purge ํ๋ก์ฐ | ||
|
||
|
||
๋ธ๋ญ์บ์ฑ์ด ํ์ํ ์ด์ | ||
------------------------------------ | ||
|
||
๊ฒ์ ์ค์นํ์ผ์ฒ๋ผ GB๊ธ์ ๋์ฉ๋ ํ์ผ์ ์ ์กํ๋ ๊ฒฝ์ฐ ํ๋ฒ์ ๋ค์ด๋ก๋๋ก ํ์ผ์ ์์ฑํ๊ธฐ๋ ์ฝ์ง ์๋ค. | ||
์ด๋ฐ ๊ฒฝ์ฐ ํด๋ผ์ด์ธํธ๋ ์ด์ด๋ฐ๊ธฐ, ๋๋์ด ๋ฐ๊ธฐ ๋ฑ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํ์ผ์ ์์ฑ์ํค๊ธฐ ์ํด ๋ ธ๋ ฅํ๋ค. | ||
|
||
๋ง์ฝ ์บ์์๋ฒ๊ฐ ๋ธ๋ญ์บ์ฑ์ ์ง์ํ์ง ์๋๋ค๋ฉด, ์๋ ๊ทธ๋ฆผ์ฒ๋ผ ๋ง์ง๋ง ๋ถ๋ถ์ ๋ค์ด๋ก๋ํ๋ ค๋ ํด๋ผ์ด์ธํธ๋ ์ค๋ซ๋์ ๋๊ธฐํ๊ฒ ๋๋ค. | ||
|
||
.. figure:: img/enterprise1.png | ||
:align: center | ||
|
||
๋ธ๋ญ์บ์ฑ์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๊ทผ๋ณธ์ ์ผ๋ก ํด๊ฒฐํ์ฌ ๋น ๋ฅธ ๋ฐ์์ฑ์ ์ ๊ณตํ๋ค. | ||
|
||
.. figure:: img/enterprise2.png | ||
:align: center | ||
|
||
|
||
.. note: | ||
STON ์บ์ฑ์์ง์ ๋ธ๋ญ์บ์ฑ ๊ธฐ๋ฐ์ด๋ค. | ||
์ด์ด๋ฐ๊ธฐ์ ๋ฌด๊ฒฐ์ฑ | ||
------------------------------------ | ||
|
||
๋จ์ํ ์น์๋ฒ์ HTTP ํด๋ผ์ด์ธํธ์ 1:1 ๊ด๊ณ์์๋ ๋ฌด๊ฒฐ์ฑ์ด ๊นจ์ง ์ ์๋ค. | ||
๋ค์์ ํด๋ผ์ด์ธํธ์์ ๋ค์ด๋ก๋๋ฅผ ์ ์ ๋ฉ์ถ ์ํฉ์ ๊ฐ์ ํ๋ค. | ||
|
||
.. figure:: img/enterprise3.png | ||
:align: center | ||
|
||
์ด ์ํ์์ ์น์๋ฒ์ ํ์ผ์ด ๋ณ๊ฒฝ๋๊ณ ์ด์ด๋ฐ๊ธฐ๊ฐ ์งํ๋๋ฉด ๋ฌด๊ฒฐ์ฑ์ด ๊นจ์ง๋ค. | ||
|
||
.. figure:: img/enterprise4.png | ||
:align: center | ||
|
||
2๋๋ก ๊ตฌ์ฑ๋ ๋จ์ ๋ถ์ฐ ๋คํธ์ํฌ ํ๊ฒฝ์ผ์ง๋ ํผํ ์ ์๋ ๋ฌธ์ ๋ก ํ๋กํ ์ฝ/์ดํ๋ฆฌ์ผ์ด์ ๋ ๋ฒจ์์ ๋ค๋ฃจ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค. | ||
|
||
|
||
|
||
If-Range ํค๋์ ๋ฌด๊ฒฐ์ฑ | ||
------------------------------------ | ||
|
||
HTTP์์๋ `If-Range <https://developer.mozilla.org/ko/docs/Web/HTTP/Headers/If-Range>`_ ํค๋๋ฅผ ํตํด ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋๋ก ๊ถ๊ณ ํ๊ณ ์๋ค. | ||
์์ ๋ค๋ฃฌ ์ด์ด ๋ฐ๊ธฐ ์๋๋ฆฌ์ค์์ ํด๋ผ์ด์ธํธ๋ ``If-Range`` ํค๋๋ฅผ ๋ช ์ํ๋ฉด ์ข ๋ ์ ์ฐํ ๋์ฒ๊ฐ ๊ฐ๋ฅํ๋ค. | ||
|
||
**1. Client** - ``Range`` ์์ฒญ์ ``If-Range`` ํค๋๋ฅผ ๋ช ์ํ๋ค. | ||
|
||
**2. Server** - ``If-Range`` ํค๋๋ฅผ ํตํด ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๊ฐ ์์ฌ๋๋ฉด ``206 Partial Content`` ์๋ต ๋์ ``200 OK`` ๋ก ์ ์ฒด ํ์ผ์ ์ ์กํ๋ค. | ||
|
||
.. figure:: img/enterprise5.png | ||
:align: center | ||
|
||
**3. Client** - ํด๋ผ์ด์ธํธ๋ ์ด์ ํ์ผ์ ํ๊ธฐํ๋ค. ์น์๋ฒ์ ``200 OK`` ์๋ต ์ธ์ ์ผ๋ก ์ ๊ท ๋ค์ด๋ก๋๋ฅผ ์งํํ๋ค. | ||
|
||
.. figure:: img/enterprise6.png | ||
:align: center | ||
|
||
ํ์ค ๋ธ๋ผ์ฐ์ ์์๋ ``If-Range`` ํค๋ ์ง์ ์ํ๋ ๋ค์๊ณผ ๊ฐ๋ค. (2020๋ 4์ 16์ผ ๊ธฐ์ค) | ||
|
||
.. figure:: img/enterprise7.png | ||
:align: center | ||
|
||
์ด์ด๋ฐ๊ธฐ, ๋ถํ ๋ค์ด๋ก๋๋ฅผ ์ง์ํ๋ ์ ์ฉ ํด๋ผ์ด์ธํธ๋ผ๋ฉด ๋ฐ๋์ ``If-Range`` ์คํ์ ์ง์ํด์ผ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํ๋ค. | ||
|
||
.. note: | ||
STON์ v2.5.14 (2018.4.26) ๋ถํฐ ``If-Range`` ์คํ์ ์ง์ํ๋ค. | ||
๊ณ์ธต ์บ์๊ตฌ์กฐ์ ๋ฌธ์ | ||
------------------------------------ | ||
|
||
์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ์์๋ ๊ณ์ธต ์บ์๊ตฌ์กฐ๋ฅผ ํตํด ์ค์ผ์ผ๋ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. | ||
๊ฐ ๊ณ์ธต์ ์๋ก ๋ค๋ฅธ ๋ชฉ์ ์ ๊ฐ์ง๋ค. | ||
|
||
- **1์ฐจ/๋ถ๋ชจ ์บ์** - ์ปจํ ์ธ ๋ฅผ ๋ถ์ฐํ์ฌ ์ ์ฅํ๋ค. ๋ ํฐ ์ ์ฅ๊ณต๊ฐ์ ๊ฐ์ง๋ค. | ||
|
||
- **2์ฐจ/์์ ์บ์** - ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค. ๋ ๋น ๋ฅธ ์ฑ๋ฅ์ ๊ฐ์ง๋ค. | ||
|
||
.. figure:: img/enterprise8.png | ||
:align: center | ||
|
||
์บ์๋ ์ํธ๋ ๋ฆฝ์ ์ด๋ฏ๋ก 1์ฐจ/๋ถ๋ชจ ์บ์์์ ์ผ์์ ์ธ ์ปจํ ์ธ ๋ถ์ผ์น๊ฐ ๋ฐ์ํ ์ ์๋ค. | ||
|
||
.. figure:: img/enterprise9.png | ||
:align: center | ||
|
||
์ด ์ํ์์ 2์ฐจ/์์ ์บ์์์ ์ปจํ ์ธ ๊ฐฑ์ ์ด ๋ฐ์ํ ๊ฒฝ์ฐ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. | ||
|
||
.. figure:: img/enterprise10.png | ||
:align: center | ||
|
||
|
||
|
||
๊ณ์ธต ์บ์์ If-Range์ ํ๊ณ | ||
------------------------------------ | ||
|
||
``If-Range`` ํค๋๋ ์ปจํ ์ธ ์๋น์์ธ ์๋์ ์ ์์๋ง ์๋ฒฝํ ๋์ํ๋ค. | ||
์๋ ๊ทธ๋ฆผ์ 2์ฐจ/์์ ์บ์์์ ์ด์ด๋ฐ๊ธฐ๋ฅผ ์งํํ๋ ์ํฉ์ด๋ค. | ||
|
||
.. figure:: img/enterprise11.png | ||
:align: center | ||
|
||
์ด ๋ Child #1์ ํด๋น ์ปจํ ์ธ ๋ฅผ ํ๊ธฐํ๋ค. | ||
|
||
.. figure:: img/enterprise12.png | ||
:align: center | ||
|
||
ํ๊ธฐ๊ฐ ์ด๋ฃจ์ด์ง๋๋ผ๋ ๋ค์ ์ฌ๊ฐ๋๋ ์ํฉ์์ 1์ฐจ/๋ถ๋ชจ ์บ์์ ์ปจํ ์ธ ๋ถ์ผ์น ๋ฌธ์ ๋ก ์ํฉ์ ํด๊ฒฐ๋์ง ์๋๋ค. | ||
|
||
.. figure:: img/enterprise13.png | ||
:align: center | ||
|
||
์ด์ข๊ฒ ์ปจํ ์ธ ๊ฐ ์์ฑ๋ ์๋ ์์ง๋ง ๋ฌดํ ๋ฃจํ์ ๋น ์ง ์๋ ์๋ค. | ||
|
||
|
||
|
||
Zero TTL (Time To Live) | ||
------------------------------------ | ||
|
||
๊ทผ๋ณธ์ ์ธ ์์ธ์ 1์ฐจ/๋ถ๋ชจ ์บ์์ ์ปจํ ์ธ ๋ถ์ผ์น ๋๋ฌธ์ด๋ค. | ||
์ด ์ํ๊ฐ ์ ์ง๋๋ ์ด์ ๋ 1์ฐจ/๋ถ๋ชจ ์บ์๊ฐ TTL(Time To Live) ๋์ ์๋ณธ์๋ฒ์ ๊ฐฑ์ ์ ํ์ธํ์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. | ||
๋ค์ ๊ทน๋จ์ ์ธ ๊ฒ์ฒ๋ผ ๋ค๋ฆด์ง๋ ๋ชจ๋ฅด์ง๋ง 1์ฐจ/๋ถ๋ชจ ์บ์์ TTL์ 0์ด๋ก ์ค์ ํ๋ฉด ์๋ต ์ ์๋ณธ์๋ฒ์ ๋ณ๊ฒฝ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์๋ค. | ||
|
||
.. figure:: img/enterprise14.png | ||
:align: center | ||
|
||
TTL์ด 0์ธ ๊ฒฝ์ฐ 1์ฐจ/๋ถ๋ชจ ์บ์์ ์๋ณธ์๋ฒ๊ฐ์ 1 ํธ๋์ญ์ ๋์๋ง ์ปจํ ์ธ ๊ฐ ์ ํจํ๋ค. | ||
์ฆ ํธ๋์ญ์ ์ด ๋๋จ๊ณผ ๋์์ ์ปจํ ์ธ ๋ ์ฆ์ ๋ง๋ฃ๋๋ค. | ||
์ดํ ๋ค์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์๋ ๋ฐ๋์ ์๋ณธ ๊ฐฑ์ ์ฌ๋ถ๋ฅผ ํ์ธํด์ผ ํ๋ค. | ||
์ด ๋ฐฉ์์ ์ต๋ ๋จ์ ์ ์๋ณธ ์์ฒญ์ด ๋งค์ฐ ๋ง์์ง๋ค๋ ์ ์ด๋ค. | ||
|
||
.. figure:: img/enterprise15.png | ||
:align: center | ||
|
||
์ ์ ํ ์งง์ TTL์ ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ์ ๋น๋๋ฅผ ๋ฎ์ถ๋ฉฐ ์๋ณธ ๋ถํ๋ฅผ ์ค์ธ๋ค. | ||
๊ด๋ฆฌ์๋ ์ปจํ ์ธ ์ ์ ๋(Freshness)์ TTL ์ฌ์ด์ Trade-off ๊ด๊ณ๋ฅผ ์ ํํ ์ดํดํ๊ณ ์ค์ ํด์ผ ํ๋ค. | ||
|
||
|
||
|
||
๋ถ์ฐ ๊ณ์ธต๊ณผ STON์ Eventual Consistency | ||
------------------------------------ | ||
|
||
์์ ๋ ผ์๋ ๋ชจ๋ ๋ฌธ์ ๋ค์ ๋น๋จ ๋ถ์ฐ ์บ์์๋ง ๊ตญํ๋ ๋ฌธ์ ๋ ์๋๋ค. | ||
๊ณ์ธต ์บ์๋ ๋ถ์ฐ ์์คํ ์ ํ ์ข ๋ฅ์ด๋ฏ๋ก ๋ถ์ฐ ์์คํ ์ ์ ํฉ์ฑ/๋ฌด๊ฒฐ์ฑ ์ฒ๋ฆฌ ๋ชจ๋ธ์ ์ฐธ์กฐํ๋ ๊ฒ์ด ๋ฐ๋์งํ๋ค. | ||
STON์ ``If-Range`` ํค๋๋ฅผ ํตํด ์ต์ข ์ ํฉ์ฑ(Eventual Consistency) ๋ชจ๋ธ์ ๊ตฌํํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. | ||
๋ฌธ์ ์ํฉ์ ๋ค์ 2๊ฐ์ง์ด๋ค. | ||
|
||
.. figure:: img/enterprise16.png | ||
:align: center | ||
|
||
์ ๊ทธ๋ฆผ์ ๋นจ๊ฐ์ ์์ฒญ์ด ๋ฐ์ํ๋ ์๊ฐ ๋ฌด๊ฒฐ์ฑ์ด ๊นจ์ง๋ค. 2๊ฐ์ง ์ํฉ์ ๋๋์ด ์ดํดํด์ผ ํ๋ค. | ||
|
||
|
||
๋จผ์ โ ๋ฒ ์ํฉ์ ๋ํด ์์๋ณด์. 2์ฐจ/์์ ์บ์๊ฐ 1์ฐจ/๋ถ๋ชจ ์บ์์ Range ์์ฒญ์ ๋ณด๋ผ ๋ If-Range ๋ฅผ ๋ช ์ํ๋ค. | ||
|
||
.. figure:: img/enterprise17.png | ||
:align: center | ||
|
||
1์ฐจ/๋ถ๋ชจ ์บ์๋ 2์ฐจ/์์ ์บ์๊ฐ ๋ณด๋ด๋ ``If-Range`` ๋ฅผ ๊ฒ์ฌํด ์์ ๋ณด๋ค ์ต์ ์ ์ปจํ ์ธ ๋ฅผ ์์ ํ๊ณ ์๋ค๋ฉด ์ค์ค๋ก๋ฅผ ํ๊ธฐํ๋ค. | ||
์ด๋ 2์ฐจ/์์ ์บ์๋ฅผ ์ ๋ขฐํ ์ ์๋ค๊ณ ํ๋จ๋ ๋๋ง ํ ์ ์๋ ์ค์ ์ด๋ค. | ||
|
||
.. figure:: img/enterprise18.png | ||
:align: center | ||
|
||
1์ฐจ/๋ถ๋ชจ ์บ์๋ ์๋ณธ ์๋ฒ๋ก๋ถํฐ ์ต์ ์ปจํ ์ธ ๋ก ๊ฐฑ์ ํ๋ค. | ||
|
||
.. figure:: img/enterprise19.png | ||
:align: center | ||
|
||
2์ฐจ/์์ ์บ์๋ 1์ฐจ/๋ถ๋ชจ ์บ์๋ก๋ถํฐ ์ฌ๋ฐ๋ฅธ ์๋ต์ ๋ฐ๊ฒ ๋๋ค. | ||
|
||
.. figure:: img/enterprise20.png | ||
:align: center | ||
|
||
โก๋ฒ ์ํฉ์ ๋ณด๋ค ์ง๊ด์ ์ด๋ค. | ||
2์ฐจ/์์ ์บ์๊ฐ 1์ฐจ/๋ถ๋ชจ ์บ์์ ``Range`` ์์ฒญ์ ๋ณด๋ผ ๋ ``If-Range`` ํค๋๋ฅผ ๋ช ์ํ๋ค. | ||
|
||
.. figure:: img/enterprise21.png | ||
:align: center | ||
|
||
1์ฐจ/๋ถ๋ชจ ์บ์๋ 2์ฐจ/์์ ์บ์๊ฐ ๋ณด๋ด๋ ``If-Range`` ๋ฅผ ๊ฒ์ฌํด ์์ ์ด ์ต์ ์ ์ปจํ ์ธ ๋ฅผ ์์ ํ๊ณ ์๋ค๋ฉด ``200 OK`` ๋ก ์๋ตํ๋ค. | ||
|
||
.. figure:: img/enterprise22.png | ||
:align: center | ||
|
||
2์ฐจ/์์ ์บ์๋ ``If-Range`` ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๊ฐ ํ์ธ๋ ๊ฐ์ฒด๋ฅผ ํ๊ธฐํ๊ณ ํด๋ผ์ด์ธํธ ๋ค์ด๋ก๋๋ฅผ ์คํจ ์ํจ๋ค. | ||
1์ฐจ/๋ถ๋ชจ ์บ์๊ฐ ๋ณด๋ธ ``200 OK`` ์๋ต ์ธ์ ์ ํตํด ์๋ก์ด ์ปจํ ์ธ ์บ์ฑ์ ์์ํ๋ค. | ||
|
||
.. figure:: img/enterprise23.png | ||
:align: center | ||
|
||
2์ฐจ/์์ ์บ์๋ ์ต์ ์ปจํ ์ธ ๋ฅผ ์บ์ฑํ๊ฒ ๋๋ค. ์ดํ ๋ชจ๋ ํด๋ผ์ด์ธํธ๋ ์ต์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณต ๋ฐ๋๋ค. | ||
|
||
.. figure:: img/enterprise24.png | ||
:align: center | ||
|
||
.. note: | ||
STON์ v2.7.3 (2020.3.25) ๋ถํฐ ๊ด๋ จ ๋์์ ์ง์ํ๋ค. | ||
Purge ์ ์ฑ | ||
------------------------------------ | ||
|
||
์ด์์ ๋ฌธ์ ์๋ ๋ณ๋๋ก ์๋ณธ ์ปจํ ์ธ ๋ณ๊ฒฝ ์์ ์ ๊ฐ์ฅ ๋ช ํํ ๊ด๋ฆฌ๋ฐฉ๋ฒ์ Purge์ด๋ค. | ||
๋จ ๊ณ์ธต Purge์์๋ ์ฃผ์ํ ์ ์ด ์๋ค. | ||
๋ฐ๋์ 1์ฐจ/๋ถ๋ชจ ์บ์์๋ฒ๋ถํฐ Purge๋ฅผ ์งํํด ์ฃผ์ด์ผ ํ๋ค. | ||
|
||
.. figure:: img/enterprise25.png | ||
:align: center | ||
|
||
๋ง์ฝ 2์ฐจ/์์ ์บ์๋ถํฐ Purgeํ ๊ฒฝ์ฐ 2์ฐจ/์์ ์ปจํ ์ธ ๋ฅผ ๊ฐฑ์ ์์ ์ 1์ฐจ/๋ถ๋ชจ ์บ์์ ์ปจํ ์ธ ๊ฐฑ์ ์ ๋ณด์ฅํ ์ ์์ด ๋ฌด๊ฒฐ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ค. | ||
|
||
.. figure:: img/enterprise26.png | ||
:align: center |
Oops, something went wrong.