์นํ vs ํด๋ง: ์ฌ๋ฐ๋ฅธ ํตํฉ ์ ๊ทผ ๋ฐฉ์ ์ ํ
์นํ ๋ ํด๋ง: ์ง์ฐ, ์คํจ, ์๋ ์ ํ์ ์ด๋ค ์ํฅ์ ์ฃผ๋์ง ๋ฐฐ์ฐ๊ณ , ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํ ์ํ๋ก ์ ์งํ๋ ์ฌ์๋ ๋ฐ ์ฌ์คํ ํจํด์ ์์๋ณด์ธ์.

์ฐ๋ฆฌ๊ฐ ๋๊ธฐํ๋ฅผ ํตํด ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๋ ๋ฌด์์ธ๊ฐ์?
๋๊ธฐํ(sync)๋ โ์ ๋ฐ์ดํธ๊ฐ ๋น ๋ฅด๊ฒ ๋ณด์ด๊ฒ ํ๋คโ์ฒ๋ผ ๋ค๋ฆฌ์ง๋ง, ์ค์ ๋ชฉํ๋ ๋ ์ด๋ ต์ต๋๋ค: ๋ฉ์์ง๊ฐ ๋ฆ๊ฒ ์ค๊ฑฐ๋ ์ค๋ณต๋๊ฑฐ๋ ๋๋ฝ๋๋๋ผ๋ ๋ ์์คํ ์ด ๋์ผํ ์ฌ์ค์ ๋์ํ๋๋ก ๋ง๋๋ ๊ฒ์ ๋๋ค.
์นํ ๊ณผ ํด๋ง์ ์ฐจ์ด๋ ๋ณ๊ฒฝ ์ฌ์ค์ ์ด๋ป๊ฒ ์๊ฒ ๋๋์ง์ ์์ต๋๋ค.
์นํ ์ ํธ์์ ๋๋ค. ์์คํ A๊ฐ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด(์: โ์ฒญ๊ตฌ์ ๊ฒฐ์ ๋จโ) ๋น์ ์ ์๋ํฌ์ธํธ๋ก ํธ์ถํฉ๋๋ค. ํด๋ง์ ํ์ ๋๋ค. ๋น์ ์ ์์คํ ์ด ์ผ์ ์ ๋ฐ๋ผ ์์คํ A์ "์ง๋๋ฒ ์ดํ์ ์๋ก ์๊ธด ๊ฒ ์๋์?"๋ผ๊ณ ๋ฌป์ต๋๋ค.
์์คํ ์ ๋๊ธฐํํ๋ ค๋ฉด ๋ณดํต ์ด๋ฒคํธ์ ์ํ ๋ ๋ค ์ถ์ ํด์ผ ํฉ๋๋ค. ์ด๋ฒคํธ๋ ๋ฌด์จ ์ผ์ด ์์๋์ง ์๋ ค์ฃผ๊ณ , ์ํ๋ ํ์ฌ ๋ ์ฝ๋๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง๋ฅผ ์๋ ค์ค๋๋ค. ํ์ด๋ฐ์ด ์ค์ํฉ๋๋ค. ํตํฉ์ ๊ฑฐ์ ์๋ฒฝํ ์์๋ก ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. "์ ๋ฐ์ดํธ" ์ด๋ฒคํธ๊ฐ "์์ฑ"๋ณด๋ค ๋จผ์ ๋์ฐฉํ๊ฑฐ๋, ๋ ๋ฒ ๋์ฐฉํ๊ฑฐ๋, ์์ ๋์ฐฉํ์ง ์์ ์ ์์ต๋๋ค.
๋ชฉํ๋ ๋จ์ง ์ต์ ์ฑ๋ง์ด ์๋๋ผ ์ ํํ ๋ฐ์ดํฐ์ ๋๋ค. "์ ํํ๋ค"๋ ๊ฒ์ ๋ณ๊ฒฝ์ ๋์น์ง ์๊ณ , ๊ฐ์ ๋ณ๊ฒฝ์ ๋ ๋ฒ ์ ์ฉํ์ง ์์ผ๋ฉฐ, ๋ค์ดํ์ ํ ์๋ ์ ๋ฆฌ ์์ด ๋ณต๊ตฌํ ์ ์๊ณ , ๋ฌด์์ ์ธ์ ์ฒ๋ฆฌํ๋์ง ์ฆ๋ช ํ ์ ์๋ค๋ ๋ป์ ๋๋ค.
์ค์ฉ์ ์ธ ์: ๊ฒฐ์ ์ ๊ณต์๊ฐ "payment_succeeded" ๊ฐ์ ์นํ ์ ๋ณด๋ ๋๋ค. ๋น์ ์ ์ฑ์ ์ฃผ๋ฌธ์ ๋ง๋ค๊ณ ๊ฒฐ์ ์๋ฃ๋ก ํ์ํฉ๋๋ค. ๋ง์ฝ ์นํ ์๋ํฌ์ธํธ๊ฐ ์ ์ ๋ค์ด๋๋ฉด ํด๋น ์ด๋ฒคํธ๋ฅผ ๋ณด์ง ๋ชปํ ์ ์์ต๋๋ค. "์ด์ ์ดํ์ ์ ๋ฐ์ดํธ๋ ๊ฒฐ์ "๋ฅผ ๋ฌป๋ ํด๋ง ์์ ์ ์ด๋ฐ ๊ฐ๊ทน์ ์กฐ์ ํด ์ฃผ๋ฌธ ์ํ๋ฅผ ์์ ํ ์ ์์ต๋๋ค.
๋๋ถ๋ถ์ ์ค์ ํตํฉ์ ๋ ๋ค ์ฌ์ฉํฉ๋๋ค: ์๋๋ฅผ ์ํด ์นํ , ๋ฐฑํ๊ณผ ๊ฒ์ฆ์ ์ํด ํด๋ง. ๋ฐฉ๋ฒ ์์ฒด๋ณด๋ค ์ค์ํ ๊ฒ์ ๊ทธ ๋ฐฉ๋ฒ์ ๋๋ฌ์ผ ์์ ์ฅ์น์ ๋๋ค.
์ง์ฐ ์๊ฐ๊ณผ ์ต์ ์ฑ: ์ ๋ฐ์ดํธ๋ ์ค์ ๋ก ์ผ๋ง๋ ๋นจ๋ฆฌ ๋์ฐฉํ๋๊ฐ
์ฌ๋๋ค์ด ์นํ vs ํด๋ง์ ๋น๊ตํ ๋ ๋ณดํต ํ ๊ฐ์ง๋ฅผ ๋งํฉ๋๋ค: ๋ค๋ฅธ ๊ณณ์ ๋ณ๊ฒฝ์ ๋น์ ์ ์ฑ์ด ์ผ๋ง๋ ๋นจ๋ฆฌ ์์์ฐจ๋ฆฌ๋๋. ์ต์ ์ฑ์ ๋จ์ํ ์ต์ ์ด ์๋๋๋ค. ๊ณ ๊ฐ ์ง์ ๊ฑด์, ์ค๋ณต ์์ , ์ฌ์ฉ์๊ฐ ๋ณด์ด๋ ์ ๋ณด๋ฅผ ์ ๋ขฐํ๋์ง์ ์ํฅ์ ์ค๋๋ค.
ํด๋ง์ ์ค์ผ์ค์ ๋ง์ถฐ ๋ฌป๊ธฐ ๋๋ฌธ์ ๋ณธ์ง์ ์ผ๋ก ์ง์ฐ์ด ์์ต๋๋ค. 5๋ถ๋ง๋ค ํด๋งํ๋ฉด ์ ๋ฐ์ดํธ๋ ๋ช ์ด ํ๋ถํฐ ๊ฑฐ์ 5๋ถ ๋ค๊น์ง ๋์ฐฉํ ์ ์๊ณ , ์ฌ๊ธฐ์ API ์๋ต ์๊ฐ์ด ๋ํด์ง๋๋ค. ํด๋ง์ ๋ ์์ฃผ ํ๋ฉด ์ต์ ์ฑ์ ์ข์์ง์ง๋ง, API ํธ์ถ๊ณผ ๋น์ฉ์ด ๋๊ณ ์๋ ์ ํ์ ๊ฑธ๋ฆด ํ๋ฅ ์ด ์ปค์ง๋๋ค.
์นํ ์ ์ ๊ณต์๊ฐ ์ด๋ฒคํธ๋ฅผ ์ฆ์ ํธ์ํ๊ธฐ ๋๋ฌธ์ ๊ฑฐ์ ์ค์๊ฐ์ฒ๋ผ ๋๊ปด์ง ์ ์์ต๋๋ค. ํ์ง๋ง ์ฆ์์ฑ์ด๋ ๋ณด์ฅ์ด ์๋ ๊ฒ์ ์๋๋๋ค. ์ ๊ณต์๋ ์ด๋ฒคํธ๋ฅผ ๋ฐฐ์น๋ก ๋ณด๋ด๊ฑฐ๋ ๋์ค์ ์ฌ์๋ํ๊ฑฐ๋ ์ ๋ฌ์ ์ผ์์ค์งํ ์ ์์ต๋๋ค. ๋น์ ์ ์์คํ ๋ํ ์ง์ฐ์ ์ถ๊ฐํ ์ ์์ต๋๋ค(ํ ๋ฐฑ๋ก๊ทธ, DB ๋ฝ, ๋ฐฐํฌ ๋ฑ). ๋ ์ ํํ ๊ธฐ๋์น๋: ์ํ๊ฐ ์ ์์ด๋ฉด ๋น ๋ฅด๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฒฐ๊ตญ ์ผ๊ด์ฑ์ ์ด๋ฃจ๋ ์ ๋์ ๋๋ค.
ํธ๋ํฝ ํํ๋ ์ค์ํฉ๋๋ค. ํด๋ง์ ์ผ์ ํ๊ณ ์์ธก ๊ฐ๋ฅํ ๋ถํ๋ฅผ ์ค๋๋ค. ์นํ ์ ๋ฒ์คํฐํฉ๋๋ค: ๋ฐ์ ์๊ฐ์ ๋ถ๋น ์๋ฐฑ ๊ฐ์ ์ด๋ฒคํธ๊ฐ ์ค๊ณ , ๊ทธ๋ค์์ ์๋ฌด๊ฒ๋ ์์ ์ ์์ต๋๋ค. ์นํ ์ ์์ฉํ๋ค๋ฉด ์คํ์ดํฌ๋ฅผ ๊ฐ์ ํ๊ณ ์ด๋ฒคํธ๋ฅผ ํ์ ๋ฃ์ด ์ ์ด๋ ์๋๋ก ์ฒ๋ฆฌํ ๊ณํ์ ์ธ์ฐ์ธ์.
์ค๊ณ ์ ์ ๋ชฉํ ์ต์ ์ฑ ์ฐฝ(window)์ ์ ํ์ธ์:
- ๋ช ์ด: ์ฌ์ฉ์ ์๋ฆผ, ์ฑํ , ๊ฒฐ์ ์ํ
- ๋ช ๋ถ: ์ง์ ๋๊ตฌ, ๊ด๋ฆฌ์ ๋ทฐ, ๊ฐ๋ฒผ์ด ๋ณด๊ณ
- ๋ช ์๊ฐ: ์ผ๊ฐ ์ ํฉ, ์ฐ์ ์์ ๋ฎ์ ๋ถ์
์์ ํ์ด ์ ๋ฆฌ๋๋ฅผ 1๋ถ ์ด๋ด์ ๋ด์ผ ํ๋ค๋ฉด ์นํ ์ด ๊ทธ ์๊ตฌ๋ฅผ ์ถฉ์กฑํฉ๋๋ค. ๋ช ์๊ฐ ๊ฐ๊ฒฉ์ ์์ ํด๋ง์ ๋์น ์ด๋ฒคํธ๋ฅผ ์ก๊ณ ์ต์ข ์ํ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ด์ ํ๊ฒฝ์์ ์ค์ ๋ก ๋ณด๊ฒ ๋ ์คํจ ๋ชจ๋
๋๋ถ๋ถ์ ํตํฉ ์คํจ๋ ์ง๋ฃจํ๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ๋ฐ์ํฉ๋๋ค. ๋๋ผ์ด ๊ฑด ๋ญ๊ฐ๊ฐ ๊ณ ์ฅ๋๋ค๋ ์ฌ์ค ์์ฒด๊ฐ ์๋๋ผ, ์กฐ์ฉํ ๊ณ ์ฅ๋๋ค๋ ์ ์ ๋๋ค. ์๋ ๋ ผ์์ ์ฝ์ง๋ง, ์ ๋ขฐ์ฑ ํ๋ณด๊ฐ ์ง์ง ์์ ์ ๋๋ค.
ํด๋ง ์คํจ๋ ๋ณดํต "์ ๋ฐ์ดํธ๋ฅผ ๋ณด์ง ๋ชปํ๋ค"์ฒ๋ผ ๋ณด์ ๋๋ค. ํ์์์์ผ๋ก ์์ฒญ์ด ์ค๊ฐ์ ๋๊ธธ ์ ์๊ณ , HTTP 200๋ง ๊ฒ์ฌํ๊ณ ๋ณธ๋ฌธ ๊ฒ์ฆ์ ํ์ง ์์ผ๋ฉด ๋ถ๋ถ ์๋ต์ด ์ฌ์ฉ ํต๊ณผํ ์ ์์ต๋๋ค. ํ์ด์ง๋ค์ด์ ๊ท์น ๋ณ๊ฒฝ๋ ํํฉ๋๋ค: API๊ฐ ์ ๋ ฌ ์์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ํ์ด์ง ๊ท์น์ ๋ฐ๊พธ๊ฑฐ๋ ํ์ด์ง ๋ฒํธ์์ ์ปค์ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ๋ฉด ํญ๋ชฉ์ ๊ฑด๋๋ฐ๊ฑฐ๋ ๋ค์ ์ฝ๊ฒ ๋ฉ๋๋ค. ๋ ํํ ์ค์๋ ๋ก์ปฌ ํด๋ญ์ ์ฌ์ฉํด "updated_since"๋ฅผ ํํฐ๋งํ๋ค๊ฐ ์๊ณ๊ฐ ๋ง์ง ์๊ฑฐ๋ ์ ๊ณต์๊ฐ ๋ค๋ฅธ ํ์์คํฌํ ํ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ฐ์ดํธ๋ฅผ ๋์น๋ ๊ฒฝ์ฐ์ ๋๋ค.
์นํ ์ ๋ค๋ฅด๊ฒ ์คํจํฉ๋๋ค. ์ ๋ฌ์ ๋ณดํต "์ ์ด๋ ํ ๋ฒ(at least once)"์ด๋ฏ๋ก ์ ๊ณต์๋ ๋คํธ์ํฌ ์ค๋ฅ ์ ์ฌ์๋ํ๊ณ ๋น์ ์ ์ค๋ณต์ ๋ณด๊ฒ ๋ฉ๋๋ค. ์๋ํฌ์ธํธ๊ฐ 10๋ถ ๋์ ๋ค์ด๋๋ฉด ๋์ค์ ์ค๋๋ ์ด๋ฒคํธ๊ฐ ๋ฒ์คํธ๋ก ์ฌ ์ ์์ต๋๋ค. ์๋ช ๊ฒ์ฆ ๋ฌธ์ ๋ ์์ฃผ ๋ฐ์ํฉ๋๋ค: ์ํฌ๋ฆฟ์ด ๊ต์ฒด๋๊ฑฐ๋ ์๋ชป๋ ์์ ํ์ด๋ก๋๋ฅผ ๊ฒ์ฆํ๊ฑฐ๋ ํ๋ก์๊ฐ ํค๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด ์ ํจํ ์ด๋ฒคํธ๊ฐ ์๋ชป๋ ๊ฒ์ผ๋ก ๋ณด์ผ ์ ์์ต๋๋ค.
์์ชฝ ๋ฐฉ์์์ ๊ณตํต์ ์ธ ์คํจ ๋ชจ๋๋ ์ค๋ณต๊ณผ ์์ ๋ค์์์ ๋๋ค. ๋์ผํ ์ด๋ฒคํธ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ฐ๊ฑฐ๋, ๋ฆ๊ฒ ๋์ฐฉํ๊ฑฐ๋, ์์๊ฐ ๋ฐ๋์ด ๋์ฐฉํ๊ณ , ์์ํ๋ ํ๋๊ฐ ์๋ ํ์ด๋ก๋๋ฅผ ๋ฐ๋ ๊ฒ์ ๊ฐ์ ํ์ธ์.
๊ฑฐ์ ์ ๋ "์ ํํ ํ ๋ฒ(exactly once)"์ ์ป์ง ๋ชปํฉ๋๋ค. "์ ์ด๋ ํ ๋ฒ"์ ๊ฐ์ ํ๊ณ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๋๋ก ์ค๊ณํ์ธ์. ์์ด๋ดํฌํด์(idempotency) ํค(์ด๋ฒคํธ ID ๋๋ ์ ๊ณต์ ์ค๋ธ์ ํธ ๋ฒ์ )๋ฅผ ์ ์ฅํด ์ค๋ณต์ ๋ฌด์ํ๊ณ , ์ ์ฅ๋ ๊ฒ๋ณด๋ค ์ต์ ์ธ ๊ฒฝ์ฐ์๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ ์ฉํ์ธ์. ๋ํ ๋ฐ์ ๊ฒ๊ณผ ์ฒ๋ฆฌํ ๊ฒ์ ๊ธฐ๋กํด ์ถ์ ๊ณผ ์ฌ์คํ์ด ๊ฐ๋ฅํ๋๋ก ํ์ธ์.
์์จ ์ ํ๊ณผ ๋น์ฉ: API ์ฌ์ฉ๋์ ํต์ ํ๊ธฐ
์์จ ์ ํ(rate limits)์ ์นํ vs ํด๋ง ๋ ผ์์ด ์ด๋ก ์์ ์์ฐ๊ณผ ์ ๋ขฐ์ฑ ๋ฌธ์ ๋ก ๋ฐ๋๋ ์ง์ ์ ๋๋ค. ์ถ๊ฐ ์์ฒญ๋ง๋ค ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ค๊ณ , ์ ๊ณต์์์ ๊ด๊ณ์ ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
ํด๋ง์ ์๋ฌด๊ฒ๋ ๋ฐ๋์ง ์์์ ๋๋ ํ์ธํ๋ ๋น์ฉ์ด ๋ค๊ธฐ ๋๋ฌธ์ ํ ๋น๋์ ๋นจ๋ฆฌ ์๋ชจํฉ๋๋ค. ํนํ ์ ํ์ด ์ฌ์ฉ์๋ณ ๋๋ ํ ํฐ๋ณ์ผ ๋ ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค: ๊ณ ๊ฐ 1,000๋ช ์ด ๋งค๋ถ ํด๋งํ๋ฉด ๊ฐ ๊ณ ๊ฐ์ "์ ํ๋ํ๋" ๊ฒ์ฒ๋ผ ๋ณด์ฌ๋ ์ ์ฒด๋ก๋ ๊ณต๊ฒฉ์ฒ๋ผ ๋ณด์ผ ์ ์์ต๋๋ค. ํด๋ง์ ๋ํ ํธ์ถ์ด ๊ณฑํด์ง๊ธฐ ์ฝ์ต๋๋ค(๋ชฉ๋ก ์๋ํฌ์ธํธ๋ฅผ ํธ์ถํ ๋ค ๊ฐ ํญ๋ชฉ์ ์์ธ๋ฅผ ๊ฐ์ ธ์ค๋ ์), ๊ทธ๋์ ์๊ธฐ์น ์๊ฒ ํ๋์ ๊ฑธ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
์นํ ์ ๋ณดํต API ํธ์ถ์ ์ค์ด์ง๋ง ๋ฒ์คํธ ์๋ ฅ์ ๋ง๋ญ๋๋ค. ์ ๊ณต์๊ฐ ์ค๋จ ํ ๋๋์ผ๋ก ์ด๋ฒคํธ๋ฅผ ์ ๋ฌํ๊ฑฐ๋, ๋๋ ์์ ์ด๋ ์ ํ ์ถ์๋ก ์ธํด ์์ฒ ๊ฑด์ ์ด๋ฒคํธ๋ฅผ ํ๊บผ๋ฒ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ผ๋ถ๋ 429๋ก ํธ๋ํฝ์ ์ ํํ๊ณ ์ผ๋ถ๋ ๊ณต๊ฒฉ์ ์ผ๋ก ์ฌ์๋ํ๋ฉฐ, ์ผ๋ถ๋ ์๋ํฌ์ธํธ๊ฐ ๋๋ฆฌ๋ฉด ์ด๋ฒคํธ๋ฅผ ๋ฒ๋ฆฝ๋๋ค. ๋น์ ์ชฝ์ ์ญ์๋ ฅ(backpressure)์ ์ค๋นํด์ผ ํฉ๋๋ค: ๋น ๋ฅด๊ฒ ์๋ฝํ๊ณ , ์์ ์ ํ์ ๋ฃ๊ณ , ์์ ํ ์๋๋ก ์ฒ๋ฆฌํ์ธ์.
ํธํ์ฑ๊ณผ ์ ํ์ฑ์ ์์ง ์์ผ๋ฉด์ ํธ์ถ์ ์ค์ด๋ ค๋ฉด ๋ช ๊ฐ์ง ์ค์ฉ ํจํด์ ์ง์คํ์ธ์:
- "updated since" ํ์์คํฌํ๋ ๋ณ๊ฒฝ ํ ํฐ์ ์ด์ฉํ ์ฆ๋ถ ๋๊ธฐํ
- ์๋ฒ ์ธก ํํฐ๋ง(ํ์ํ ์ด๋ฒคํธ ํ์ ๋ง ๊ตฌ๋ )
- ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ฐฐ์น ์ฒ๋ฆฌ(์์ธ ์กฐํ๋ฅผ ์ฒญํฌ ๋จ์๋ก, ์ฐ๊ธฐ๋ ๋ฌถ์ด์)
- ์์ ์ ์ธ ์ฐธ์กฐ ๋ฐ์ดํฐ ์บ์ฑ(ํ๋, ์ํ ๋ชฉ๋ก, ์ฌ์ฉ์ ํ๋กํ)
- "์ค์๊ฐ"๊ณผ "๋ฆฌํฌํ " ์๊ตฌ ๋ถ๋ฆฌ(๋น ๋ฅธ ๊ฒฝ๋ก vs ์ผ๊ฐ ์์ )
ํผํฌ๋ฅผ ๋ฏธ๋ฆฌ ๊ณํํ์ธ์. ์ ์ฉ ๋ฐฑํ ๋ชจ๋๋ฅผ ๋ง๋ค์ด ๋๋ฆฌ๊ฒ ์คํํ๊ณ ์ฟผํฐ๋ฅผ ์กด์คํ๋ฉฐ ์ผ์ ์ค์ง ๋ฐ ์ฌ๊ฐ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ์ธ์.
์ฌ๋ฐ๋ฅธ ์ ๊ทผ๋ฒ ์ ํ: ๊ฐ๋จํ ์์ฌ๊ฒฐ์ ๊ฐ์ด๋
์นํ vs ํด๋ง ์ ํ์ ๋ณดํต ์ด๋ ๊ฒ ๊ท๊ฒฐ๋ฉ๋๋ค: ์๋๊ฐ ํ์ํ๊ฐ, ์๋๋ฉด ๊ณต๊ธ์๊ฐ ์ ๋ขฐํ ์ ์์ ๋์๋ ๊ฐ๋จํ๊ณ ์์ธก ๊ฐ๋ฅํ ๋ฐฉ์์ด ํ์ํ๊ฐ?
์ 3์๊ฐ ์นํ ์ ์ ๊ณตํ์ง ์๊ฑฐ๋ ์ํฌํ๋ก๊ฐ ์ง์ฐ์ ํ์ฉํ ์ ์์ผ๋ฉด ํด๋ง์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ ๋์ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ํ API์ ๋ช ํํ "updated since" ํํฐ๊ฐ ์๊ณ ํ๋ฃจ๋ ์๊ฐ ๋จ์ ๋๊ธฐํ๋ง ํ์ํ๋ฉด ํด๋ง์ด ์ดํดํ๊ธฐ ์ฝ์ต๋๋ค.
์๊ฐ์ด ์ค์ํ๋ฉด ์นํ ์ด ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ ๋ซ์ต๋๋ค: "์ ์ฃผ๋ฌธ ์์ ", "๊ฒฐ์ ์คํจ", "ํฐ์ผ ํ ๋น" ๊ฐ์ ๊ฒฝ์ฐ์ ๋๋ค. ์นํ ์ ๋ถํ์ํ API ํธ์ถ์ ์ค์ด๊ณ ์ฆ์ ์์ ์ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
์ ํ์ฑ์ด ์ค์ํ ๊ฒฝ์ฐ ์ค์ฉ ๊ท์น์ ๋ ๋ค ์ฐ๋ ๊ฒ์ ๋๋ค. ์นํ ์ผ๋ก ์๋๋ฅผ ํ๋ณดํ๊ณ ํด๋ง์ผ๋ก ๋์น ๊ฒ์ ์ ๋ฆฌํ์ธ์. ์๋ฅผ ๋ค์ด, ์นํ ์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ๋ค 15๋ถ(๋๋ ๋ช ์๊ฐ)๋ง๋ค ์์ฝ ํด๋ง์ ์คํํด ๋๋ฝ๋ ์ด๋ฒคํธ๋ ์ผ์์ ์ฅ์ ๋ก ์ธํ ๊ฐ๊ทน์ ํ์ธํฉ๋๋ค.
๊ฐ๋จ ๊ฐ์ด๋:
- ์ง์ฐ์ด ๋ช ๋ถ์ด๋ผ๋ ๊ด์ฐฎ๋ค๋ฉด ํด๋ง์ผ๋ก ์์ํ์ธ์.
- ๋ช ์ด ๋ด์ ์ ๋ฐ์ดํธ๊ฐ ๋ณด์ฌ์ผ ํ๋ค๋ฉด ์นํ ์ผ๋ก ์์ํ์ธ์.
- ๊ณต๊ธ์๊ฐ ๋ถ์์ ํ๊ฑฐ๋ ์ด๋ฒคํธ๊ฐ ์ค์ํ๋ฉด ์นํ +ํด๋ง์ ๊ณํํ์ธ์.
- API๊ฐ ๊ฐํ๊ฒ ์๋ ์ ํ๋์ด ์๋ค๋ฉด ์นํ ๊ณผ ๊ฐ๋ฒผ์ด ํด๋ง์ ์ ํธํ์ธ์.
- ๋ฐ์ดํฐ ์์ด ๋ง์ผ๋ฉด ์ฆ์ ์ ์ฒด ํด๋ง์ ํผํ์ธ์.
๊ฒฐ์ ํ๊ธฐ ์ ์ ๊ณต๊ธ์์๊ฒ ๋ช ๊ฐ์ง ์ง๋ฌธ์ ํ๊ณ ๋ช ํํ ๋ต์ ๋ฐ์ผ์ธ์:
- ์ด๋ค ์ด๋ฒคํธ ํ์ ์ด ์๊ณ , ์์ฑ/์ ๋ฐ์ดํธ/์ญ์ ๊ฐ ๋ชจ๋ ํฌํจ๋๋?
- ์นํ ์ ์ฌ์๋ํ๋, ์ฌ์๋ ๊ธฐ๊ฐ์ ์ผ๋ง๋ ๋๋?
- ์ด๋ฒคํธ๋ฅผ ์ฌ์(replay)ํ๊ฑฐ๋ ์๊ฐ ๋ฒ์๋ณ๋ก ์ด๋ฒคํธ ๊ธฐ๋ก์ ๊ฐ์ ธ์ฌ ์ ์๋?
- ์นํ ์์ฒญ์ ์๋ช ํด ์ธ์ฆ์ ๊ฒ์ฆํ ์ ์๋?
- ํจ์จ์ ์ธ ํด๋ง์ ์ํ "updated since" ์ฟผ๋ฆฌ๋ฅผ ์ง์ํ๋?
๋จ๊ณ๋ณ: ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ง๋๋ ๋๊ธฐํ ์ค๊ณํ๊ธฐ
"์ฌ๋ฐ๋ฅธ(correct)" ๋๊ธฐํ๋ ๋จ์ํ "๋ฐ์ดํฐ๊ฐ ๋ณด์ด๋ ๊ฒ"์ด ์๋๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ ์ฝ๋๊ฐ ์ผ์นํ๊ณ ์ต์ ๋ณ๊ฒฝ์ด ์ฐ์ ํ๋ฉฐ ๋ฌธ์ ๊ฐ ์๊ฒผ์ ๋ ๋ฌด์์ด ์ธ์ ์ผ์ด๋ฌ๋์ง ์ฆ๋ช ํ ์ ์์ด์ผ ํฉ๋๋ค.
ํ ์คํธํ๊ณ ๋ชจ๋ํฐ๋งํ ์ ์๋ ๊ณํ์ผ๋ก ์์ํ์ธ์:
- ์ง์ค์ ์ถ์ฒ(source of truth)์ ๊ท์น ์ ์. ๊ฐ ํ๋๋ฅผ ์ด๋ ์์คํ ์ด ์์ ํ๋์ง ์ ํ์ธ์. ์: CRM์ ๊ณ ๊ฐ ์ด๋ฆ์ ์์ ํ๊ณ ์ฒญ๊ตฌ ๋๊ตฌ๋ ๊ตฌ๋ ์ํ๋ฅผ ์์ ํ๋ค. ๋ฌด์์ด "์ถฉ๋ถํ ์ต์ "์ธ์ง(์: "5๋ถ ์ด๋ด")์ ํ์ฉ ๊ฐ๋ฅํ ์ค๋ฅ๋ฅผ ์ ํ์ธ์.
- ์์ ์ ์ธ ์๋ณ์ ์ ํ. ์๋ํํฐ์ ๊ณ ์ ID๋ฅผ ๋ด๋ถ ID ์์ ์ ์ฅํ์ธ์. ์ด๋ฉ์ผ์ด๋ ์ด๋ฆ ๊ฐ์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๊ฐ์ผ๋ก ํค๋ฅผ ์ฐ์ง ๋ง์ธ์. ๊ฐ๋ฅํ๋ฉด ๋ฒ์ ์ด๋ "updated_at" ํ์์คํฌํ๋ฅผ ์ ์ฅํด ๋ ์ต์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์งํ์ธ์.
- ์ด๊ธฐ ๊ฐ์ ธ์ค๊ธฐ์ ์ดํ ์ฆ๋ถ ์ ๋ฐ์ดํธ ๊ณํ. ์ฒซ ๊ฐ์ ธ์ค๊ธฐ๋ ์ฒดํฌํฌ์ธํธ๋ฅผ ๋ ๋ณ๋ ์์ ์ผ๋ก ์ทจ๊ธํด ์ฌ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ์ธ์. ๊ทธ ๋ค์์๋ ์ด๋ฒคํธ๋ "since" ์ฟผ๋ฆฌ ๋ฑ์ผ๋ก ๋ณ๊ฒฝ๋ง ์ฒ๋ฆฌํ๊ณ "๋ง์ง๋ง ์ฑ๊ณต ๋๊ธฐํ ์๊ฐ" ๊ฐ์ ์ปค์๋ฅผ ๊ธฐ๋กํ์ธ์.
- ์ญ์ ์ ๋ณํฉ์ ์๋์ ์ผ๋ก ์ฒ๋ฆฌ. ์ญ์ ์ ๋ ์ฝ๋๋ฅผ ์ญ์ ํ ์ง, ๋ณด๊ด(archive)ํ ์ง, ๋นํ์ฑ ํ์ํ ์ง ๊ฒฐ์ ํ์ธ์. ๋ณํฉ์ ๊ฒฝ์ฐ ์ด๋ค ID๊ฐ ์ด์๋จ์์ง ์ ํ๊ณ ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ์ธ์.
- ๋ชจ๋ํฐ๋ง ์ ํธ ์ค์ . ๋๊ธฐํ ์ง์ฐ(sync lag), ์คํจํ ํธ์ถ, ๋ฉ์ถ ํ๋ฅผ ์ถ์ ํ์ธ์. ๋ฌด์ธ๊ฐ ์ถฉ์กฑํ์ง ๋ชปํ ๋(์: ์ง์ฐ ์๊ณ๊ฐ ์ด๊ณผ) ๊ฒฝ๊ณ ํ๋๋ก ํ์ธ์.
๊ตฌํํ ๋ ์ด๋ฐ ์ ํ๋ค์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ์์ ์ผ๋ก ๋จ๊ธฐ์ธ์: ์ธ๋ถ ID, ํ์์คํฌํ, ์ํ ํ๋, ๋๊ธฐํ ์ฒดํฌํฌ์ธํธ ์ ์ฅ์. ์ด ๊ตฌ์กฐ๊ฐ ์ค์ ํ๊ฒฝ์ด ๋ณต์กํด์ ธ๋ ๋๊ธฐํ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์งํ๊ฒ ํฉ๋๋ค.
์์ด๋ดํฌํด์์ ์์: ์ ๋ขฐํ ์ ์๋ ํตํฉ์ ํต์ฌ
์นํ ๊ณผ ํด๋ง ํตํฉ์ ์ค๋ ๋ง๋ค๋ค ๋ณด๋ฉด ํ๋์ ๊ท์น์ด ๋ฐ๋ณต๋ฉ๋๋ค: ์ค๋ณต, ์ฌ์๋, ์์ ๋ค์์์ ๋ณด๊ฒ ๋ฉ๋๋ค. ๋์ผํ ๋ฉ์์ง๋ฅผ ์์ ํ๊ฒ ์ฌ์ฒ๋ฆฌํ ์ ์์ผ๋ฉด ์์คํ ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ด๊ธ๋ฉ๋๋ค.
์์ด๋ดํฌํด์(idempotency)๋ "๊ฐ์ ์ ๋ ฅ์ ๊ฐ์ ๊ฒฐ๊ณผ"๋ฅผ ์๋ฏธํฉ๋๋ค. ๋ค์ด์ค๋ ๋ชจ๋ ์ด๋ฒคํธ๋ฅผ "๋ค์ ์ฌ ์ ์๋ค"๊ณ ๊ฐ์ ํ๊ณ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์์ ํ๊ฒ ์ค๊ณํ์ธ์. ์ผ๋ฐ์ ์ธ ํจํด์: ์ค๋ณต ์ ๊ฑฐ ํค๋ฅผ ๊ณ์ฐํ๊ณ ์ด๋ฏธ ์ฒ๋ฆฌํ๋์ง ํ์ธํ ๋ค ๋ณ๊ฒฝ์ ์ ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ค๋ณต ํค์๋ ํธ๋ ์ด๋์คํ๊ฐ ์์ต๋๋ค. ์ ๊ณต์๊ฐ ์ด๋ฒคํธ ID๋ฅผ ์ฃผ๋ฉด ๊ทธ๊ฒ ์ต์ ์ ๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ฐ์ฒด ๋ฒ์ (์ฆ๊ฐํ๋ ๋ฆฌ๋น์ )์ ์ฐ๊ฑฐ๋, 10๋ถ ๋จ์์ฒ๋ผ ํ์์คํฌํ ์๋์ฐ๋ก ๋ฐ๋ณต์ ๋ฌด์ํ๋ ๊ฒ์ ๋ฆ์ ๋์ฐฉ ์ด๋ฒคํธ ๋๋ฌธ์ ์ทจ์ฝํฉ๋๋ค.
์์๋ ๋ค๋ฅธ ์ ๋ฐ์ ๋๋ค. ์ ์ญ์ ์ธ ์ ๋ ฌ์ ๋๋ฌผ๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด๋ณ ์ ๋ ฌ์ ๋ชฉํ๋ก ํ์ธ์. ํฐ์ผ, ์ฒญ๊ตฌ์, ๊ณ ๊ฐ ๋ฑ ๋จ์ผ ๊ฐ์ฒด์ ๋ํ ์ ๋ฐ์ดํธ๋ ์ ์ฅ๋ ๊ฒ๋ณด๋ค ๋ฒ์ ์ด ์ต์ ์ผ ๋๋ง ์ ์ฉํ์ธ์. ๋ฒ์ ์ด ์๋ค๋ฉด ์ต์ updated_at๊ฐ ์น๋ฆฌํ๋ค๋ ๋ช ํํ ๊ท์น์ ์ฐ๊ณ , ์๊ณ ์ค์ฐจ(clock skew)๊ฐ ์ฌ์ ํ ์ฃ์ง ์ผ์ด์ค๋ฅผ ๋ง๋ค ์ ์๋ค๋ ์ ์ ์์ฉํ์ธ์.
๋ณต๊ตฌ์ ์ฌ์คํ์ ์ถ์ธก ์์ด ํ ์ ์๋๋ก ์ถฉ๋ถํ ์ ์ฅํ์ธ์:
- ๊ฐ์ฒด๋ณ "๋ง์ง๋ง ๋ณธ ๋ฒ์ " ๋๋ updated_at
- ํด๋ง ์์ ์ ๋ง์ง๋ง ์ฒ๋ฆฌ๋ ์ปค์ ๋๋ ์ฒดํฌํฌ์ธํธ
- ์ฒ๋ฆฌ๋ ์ด๋ฒคํธ ID ํ ์ด๋ธ(๋น ๋ฅด๊ฒ ์ปค์ง๋ฉด ๋ณด์กด ์ ์ฑ ์ ์ฉ)
- ์งง์ ๊ธฐ๊ฐ ๋์์ ์์ ํ์ด๋ก๋(raw payload) ์ ์ฅ, ์์ ์ฌ์คํ์ ์ฌ์ฉ
์: Stripe ๊ฒฐ์ ์นํ ์ด ๋ ๋ฒ ๋์ฐฉํ๊ณ , ๊ทธ ๋ค์ "paid" ์ ๋ฐ์ดํธ๊ฐ "created" ์ด๋ฒคํธ๋ณด๋ค ๋จผ์ ๋์ฐฉํ ๊ฒฝ์ฐ, ์ธ๋ณด์ด์ค์ ์ต์ ์ํ ๋ฒ์ ์ ์ ์ฅํ๊ณ ์ค๋๋ ์ ๋ฐ์ดํธ๋ ๋ฌด์ํ๋ฉด ์ ํํ ์ํ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
๋ฌต์์ ๋ฐ์ดํฐ ์ดํ์ ๋ง๋ ์ฌ์๋์ ์ฌ์คํ ํจํด
๋๋ถ๋ถ์ ํตํฉ์ ์กฐ์ฉํ ์คํจํฉ๋๋ค. ์นํ ์ด ๋ฆ๊ฒ ๋์ฐฉํ๊ฑฐ๋ ํด๋ง ์์ ์ด ํ๋์ ๊ฑธ๋ฆฌ๊ฑฐ๋ ์ฑ์ด ์ ์ฅ ์ค ํ์์์์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ฌ์๋์ ์ฌ์คํ ์์ด๋ ์์คํ ์ด ์์ํ ์ด๊ธ๋ ๊ณ ๊ฐ ๋ถ๋ง์ผ๋ก ๋๋ฌ๋ฉ๋๋ค.
์นํ ์ฌ์๋: ๋น ๋ฅด๊ฒ ์๋ฝํ๊ณ ์์ ํ๊ฒ ์ฒ๋ฆฌํ์ธ์
์ ๊ณต์๋ ๋ณดํต ๋น์ ์ด ๋น ๋ฅด๊ฒ ์ฑ๊ณต(2xx) ์ฝ๋๋ฅผ ๋ฐํํ์ง ์์ผ๋ฉด ์ฌ์๋ํฉ๋๋ค. ์นํ ์์ฒญ์ ๋ฌด๊ฑฐ์ด ์์ ์ ํ๋ ์ฅ์๋ก ๋ณด์ง ๋ง๊ณ ์ ๋ฌ ์๋ฆผ(delivery notification)์ผ๋ก ์ทจ๊ธํ์ธ์.
์ค์ฉ์ ์ธ ์นํ ํจํด:
- ๊ธฐ๋ณธ ๊ฒ์ฆ(์๋ช , ์คํค๋ง, ํ์์คํฌํ) ํ ๋น ๋ฅด๊ฒ 2xx๋ก ์๋ตํ์ธ์.
- ๊ณ ์ ID๋ก ์ด๋ฒคํธ๋ฅผ ์ ์ฅํ๊ณ ์ํ๋ฅผ ๋ณด๋ฅ(pending)๋ก ํ์ํ์ธ์.
- ์์ปค์์ ๋น๋๊ธฐ ์ฒ๋ฆฌํ๊ณ ์๋ ํ์๋ฅผ ์ถ์ ํ์ธ์.
- ์ผ์์ ์ค๋ฅ๋ ๋์ค์ ์ฌ์๋ํ๊ณ , ์๊ตฌ ์ค๋ฅ๋ ์ค๋จํ๊ณ ์๋ฆผ์ ๋ณด๋ ๋๋ค.
- ์๋ชป๋ ๋ฐ์ดํฐ๋ 4xx๋ก, ์ค์ ์๋ฒ ๋ฌธ์ ๋ง 5xx๋ก ์๋ตํ์ธ์.
์ด ์ ๊ทผ์ ํํ ํจ์ ์ ํผํฉ๋๋ค: "์นํ ์ ๋ฐ์๋ค"๊ฐ ๊ณง "๋ฐ์ดํฐ๊ฐ ๋๊ธฐํ๋์๋ค"๋ ์ฐฉ๊ฐ์ ๋๋ค.
ํด๋ง ์ฌ์๋: API์ ๊ณต์ํ๊ฒ ํ๋ํ์ธ์
ํด๋ง์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์คํจํฉ๋๋ค. ์งง์ ์ค๋จ ํ ๋ชจ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์๋ํ๋ฉด ํ๊บผ๋ฒ์ ๋ชฐ๋ ค๋ค์ด ํ๋๋ฅผ ์ ํ์ํต๋๋ค. ์ง์ ๋ฐฑ์คํ(exponential backoff)์ ์งํฐ(jitter)๋ฅผ ์ฌ์ฉํ๊ณ , ์ ์ฒด๋ฅผ ๋ค์ ์ค์บํ์ง ์๋๋ก "since" ์ปค์๋ฅผ ์ ์งํ์ธ์.
์ง๊ธ ์ฒ๋ฆฌํ ์ ์๋ ํญ๋ชฉ์ ๋ฐ๋๋ ํฐ ํ(๋๋ ํ ์ด๋ธ)์ ๋ฃ์ด ์์ธ์ ๊ธฐ๋กํ์ธ์. ๊ทธ๋ฌ๋ฉด ๋ฌด์์ด ์์ค๋์๋์ง ์ถ์ธกํ์ง ์๊ณ ์์ ํ๊ฒ ๊ฒ์ฌํ๊ณ ์ฌ์คํํ ์ ์์ต๋๋ค.
์ฌ์คํ์ ๋์น ์ด๋ฒคํธ๋ฅผ ์น์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ๋จํ ์ฌ์คํ ์ ๋ต:
- ์๊ฐ ์ฐฝ(์: ์ง๋ 24์๊ฐ)์ด๋ ์ํฅ๋ฐ์ ๋ ์ฝ๋ ์งํฉ์ ์ ํํฉ๋๋ค.
- ์ ๊ณต์๋ก๋ถํฐ ํ์ฌ ์ํ๋ฅผ ๋ค์ ๊ฐ์ ธ์ต๋๋ค.
- ๋ค์ ์ ์ฉํ ๋๋ ์์ด๋ดํฌํด์๋ฅผ ์ง์ผ ๋ถ์ผ์น๋ฅผ ์์ ํฉ๋๋ค.
- ๋ฌด์์ด ์ ๋ณ๊ฒฝ๋์๋์ง ๊ธฐ๋กํฉ๋๋ค.
์: ์ฒญ๊ตฌ ์ ๊ณต์์ "invoice.paid" ์นํ ์ด ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ 30์ด ๋์ ๋ฝ๋์ด ์์๋ค๋ฉด ํด๋น ์ด๋ฒคํธ๋ฅผ ๋ฐ๋๋ ํฐ์ ๋ฃ๊ณ , ์ธ๋ณด์ด์ค์ ๊ฒฐ์ ์ํ๋ฅผ ๋ค์ ๊ฐ์ ธ์ ๋ ์ฝ๋๋ฅผ ๊ฐฑ์ ํ๋ฉด ๋ฉ๋๋ค.
์์ฃผ ํ๋ ์ค์์ ํํผ ๋ฐฉ๋ฒ
๋๋ถ๋ถ์ ๋๊ธฐํ ๋ฒ๊ทธ๋ "ํฐ ์ํคํ ์ฒ" ๋ฌธ์ ๊ฐ ์๋๋๋ค. ์์ ๊ฐ์ ๋ค์ด ์์ฌ ์กฐ์ฉํ ์ดํ, ์ค๋ณต ๋ ์ฝ๋, ๋๋ ๋๋ฝ ์ ๋ฐ์ดํธ๋ฅผ ๋ง๋ญ๋๋ค.
์์ฃผ ๋ณด์ด๋ ์ค์๋ค:
- ์ฆ๋ถ ํํฐ ์์ด ๋๋ฌด ์ฆ์ ํด๋ง. ์ปค์(updated_at, ์ด๋ฒคํธ ID, ํ์ด์ง ํ ํฐ)๋ฅผ ์ถ์ ํ๊ณ ๋ง์ง๋ง ์ฑ๊ณต ์คํ ์ดํ์ ๋ณ๊ฒฝ๋ง ์์ฒญํ์ธ์.
- ์นํ ์ ๋ณด์ฅ๋ ์ ๋ฌ๋ก ์ทจ๊ธ. ์ต๊ทผ ์ด๋ ฅ(์: ์ง๋ 24-72์๊ฐ)์ ์ฌํ์ธํ๋ ๋ฐฑํ ์์ ์ ์ ์งํ์ธ์.
- ์ค๋ณต์ ๋ฌด์. ๋ชจ๋ ์ฐ๊ธฐ๋ ์์ด๋ดํฌํดํธํ๊ฒ ๋ง๋์ธ์. ์ ๊ณต์ ์ด๋ฒคํธ ID(๋๋ ์์ ์ ์ธ ์ธ๋ถ ID)๋ฅผ ์ ์ฅํ๊ณ ๋์ผ ๋ณ๊ฒฝ์ ๋ ๋ฒ ์ ์ฉํ์ง ๋ง์ธ์.
- ๊ฒ์ฆ ์์ด ์นํ ์์ฉ. ์ ๊ณต์๊ฐ ์ ๊ณตํ๋ ์๋ช ํ ํฐ์ด๋ ๊ฒ์ฆ ๋ฐฉ๋ฒ์ ๊ฒ์ฆํ์ธ์.
- ๋๊ธฐํ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํ์ง ์์. ์ง์ฐ, ๋ฐฑ๋ก๊ทธ ํฌ๊ธฐ, ๋ง์ง๋ง ์ฑ๊ณต ์คํ ์๊ฐ, ์ค๋ฅ์จ์ ์ถ์ ํ์ธ์. ์ง์ฐ์ด ์๊ณ๊ฐ์ ๋์ผ๋ฉด ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋ด์ธ์.
๋ง์ "์นํ vs ํด๋ง" ๋ ผ์์ ์๋ชป๋ ํฌ์ธํธ๋ฅผ ๋ด ๋๋ค: ์ ๋ขฐ์ฑ์ ์ด๋ ๋ฐฉ๋ฒ ์ฃผ๋ณ์ ๋์ธ ์์ ์ฅ์น์์ ์ต๋๋ค. ๊ฒฐ์ ์นํ ์ด ๋ ๋ฒ ์ค๊ฑฐ๋ ๋ฆ๊ฒ ์ค๋ฉด, ์นํ ๋ง์ผ๋ก ๋ ์ฝ๋๋ฅผ ์ง์ ๋ง๋ค๊ณ ์์ด๋ดํฌํด์๋ฅผ ๊ณ ๋ คํ์ง ์์ผ๋ฉด ๊ณ ๊ฐ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ ๋ฒ ๋ณด๋ด๊ฑฐ๋ ๊ณผ๊ธํ ์ ์์ต๋๋ค.
๊ฑด๊ฐํ ํตํฉ์ ์ํ ๋น ๋ฅธ ์ ๊ฒํ
์ผ์ ์ ๊ฒ ํญ๋ชฉ์ ์นํ ์ด๋ ํด๋ง์ด๋ ๋น์ทํฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ต์ ์ธ์ง, ์ค๋ฅ๊ฐ ์์ด๊ณ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๊น๋ํ๊ฒ ๋ณต๊ตฌํ ์ ์๋์ง๋ฅผ ์๊ณ ์ถ์ต๋๋ค.
๋ช ๋ถ ์์ ํ ์ ์๋ ๋น ๋ฅธ ์ฒดํฌ๋ฆฌ์คํธ:
- ์ต์ ์ฑ: "๋ง์ง๋ง ์ด๋ฒคํธ ์์ " ๋๋ "๋ง์ง๋ง ํด ์๋ฃ"๋ฅผ ๊ธฐ๋ ์ง์ฐ๊ณผ ๋น๊ตํ์ธ์.
- ์คํจ: ์ฌ์๋๊ฐ ๊ณ์ ์ฆ๊ฐํ๊ฑฐ๋ ์ค๋ซ๋์ ์์ง์ด์ง ์๋ ์์ ์ด ์๋์ง ํ์ธํ์ธ์. ์ค๋ฅ ์์ "๋ง์ง๋ง ์ฑ๊ณต" ํ์์คํฌํ๋ฅผ ์์ผ๋ก ๋ณด์ธ์.
- ์ฟผํฐ: ์ฌ์ฉํ API ํธ์ถ ์์ ๋จ์ ํธ์ถ ์๋ฅผ ํ์ธํ์ธ์. ํ๋์ ๊ฐ๊น๋ค๋ฉด ํด๋ง์ ๋ฆ์ถ๊ณ ์์ฒญ์ ๋ฐฐ์นํ์ธ์.
- ์ ํ์ฑ: ์์คํ ๊ฐ ํฉ๊ณ๋ฅผ ์ํ๋ง(์: "์ค๋ ์ฃผ๋ฌธ ์")ํ๊ณ ์ต๊ทผ ๋ ์ฝ๋ ๋ช ๊ฑด์ ์ ๊ฒํ์ธ์.
- ๋ณต๊ตฌ ์ค๋น์ฑ: ์ค๋ณต์ด๋ ๋๋ฝ ์์ด ์ต๊ทผ ์ฐฝ์ ์์ ํ๊ฒ ์ฌ์ฒ๋ฆฌํ ์ ์๋์ง ํ์ธํ์ธ์.
์ ์ฉํ ์ต๊ด์ ๋ฐ์ ๊ธฐ๊ฐ์ ํต์ ๋ ๋ฐฉ์์ผ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ์ฌ์คํํ์ฌ ๊ฒฐ๊ณผ๊ฐ ํ๋ก๋์ ๊ณผ ์ผ์นํ๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
์์: ํ์ค์ ์ธ ์ํฌํ๋ก๋ฅผ ์ํด ์นํ ๊ณผ ํด๋ง ํผํฉํ๊ธฐ
์๊ท๋ชจ SaaS ํ์ด CRM(์ฐ๋ฝ์ฒ์ ๋), Stripe ๊ฒฐ์ (์ฒญ๊ตฌ์ ํ๋ถ), ์ง์ ๋๊ตฌ(ํฐ์ผ ์ํ) ์ธ ์์คํ ์ ๋๊ธฐํํด์ผ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด์ธ์.
์ด๋ค์ ๋น ๋ฅธ ๋ฐ์์ด ํ์ํ ํญ๋ชฉ์ ๋ํด ์นํ ์ฐ์ ์ค์ ์ ์ฌ์ฉํฉ๋๋ค. CRM ์ด๋ฒคํธ๋ ๊ณ ๊ฐ ๋ ์ฝ๋๋ฅผ ๊ฐฑ์ ํ๊ณ ๋ด๋ถ ์์ ์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค. Stripe ์นํ ์ ์ธ๋ณด์ด์ค๋ฅผ ์์ฑํ๊ณ ๊ฒฐ์ ํ ๊ธฐ๋ฅ์ ์ ๊ธ ํด์ ํ๋ฉฐ ์คํจํ ๊ฒฐ์ ์ ๊ณ์ ์ ์ฐ์ฒด๋ก ํ์ํฉ๋๋ค. ์ง์ ๋๊ตฌ๋ ๊ฐ๋ฅํ๋ฉด ์นํ ์ ์ฌ์ฉํ์ง๋ง, ํฐ์ผ ์ํ๊ฐ ๋๋์ผ๋ก ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฏ๋ก ์์ฝ ํด๋ง๋ ์ ์งํฉ๋๋ค.
๊ทธ๋ค์ ํด๋ง์ ๋ฉ์ธ ์์ง์ด ์๋ ์์ ๋ง์ผ๋ก ์ทจ๊ธํฉ๋๋ค. ๋งค์ผ ๋ฐค ์ ํฉ ์์ ์ด ์ง๋ 24์๊ฐ์ ๋ณ๊ฒฝ์ ๋์ด์ ์ฑ์ ์ ์ฅ๋ ๊ฒ๊ณผ ๋น๊ตํฉ๋๋ค.
ํ์ค์์ ์ฅ์ ๊ฐ ๋ฐ์ํด ์นํ ์๋ํฌ์ธํธ๊ฐ ๋ฐฐํฌ ์ค 20๋ถ๊ฐ ๋ค์ด๋์์ต๋๋ค.
- CRM๊ณผ Stripe๋ ์ผ์ ๊ธฐ๊ฐ ์ฌ์๋ํฉ๋๋ค.
- ์ผ๋ถ ์ด๋ฒคํธ๋ ๋ฆ๊ฒ ๋์ฐฉํ๊ณ ์ผ๋ถ๋ ์์๊ฐ ๋ฐ๋๋ฉฐ ์ผ๋ถ๋ ๋ง๋ฃ๋ ์ ์์ต๋๋ค.
- ์ ํฉ ํด๋ง์ ๊ฐ๊ทน(๋๋ฝ๋ ์ด๋ฒคํธ ID๋ ๋ถ์ผ์น ํฉ๊ณ)์ ๊ฐ์งํ๊ณ ๋๋ฝ๋ ๋ณ๊ฒฝ์ ๋ฐฑํํฉ๋๋ค.
๊ทธ๋ค์ด ๋ก๊ทธ์ ๋จ๊ธฐ๋ ํญ๋ชฉ: ์์ ํ ์ด๋ฒคํธ ID, ์ ๊ณต์ ํ์์คํฌํ, ๋ด๋ถ ๋ ์ฝ๋ ID, ์ต์ข ๊ฒฐ๊ณผ(์์ฑ, ์ ๋ฐ์ดํธ, ๋ฌด์). ๊ฒฝ๊ณ ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๋ ์กฐ๊ฑด: ๋ฐ๋ณต๋๋ ์นํ ์คํจ, ์ฌ์๋ ๊ธ์ฆ, ๋๋ ์ ํฉ์์ ์์ ์๊ณ๊ฐ ์ด์์ ๋๋ฝ ๋ฐ๊ฒฌ ๋ฑ์ ๋๋ค.
๋ค์ ๋จ๊ณ: ๊ตฌํํ๊ณ , ๋ชจ๋ํฐ๋งํ๊ณ , ๋ฐ๋ณตํ์ธ์
๋๋ถ๋ถ์ ํ์ ๋ํ ์ค์ฉ์ ์ธ ๊ธฐ๋ณธ์ ๋จ์ํฉ๋๋ค: ์ฆ์์ฑ์ ์ํด ์นํ ์ ์ฌ์ฉํ๊ณ ์ ํฉ์ ์ํด ์์ ํด๋ง ์์ ์ ์ ์งํ์ธ์. ์นํ ์ ๋ณ๊ฒฝ์ ๋น ๋ฅด๊ฒ ์ ๋ฌํ๊ณ , ํด๋ง์ ์ฅ์ ๋ ์๋ชป๋ ๊ตฌ๋ , ์ ๊ณต์๊ฐ ๊ฐ๋ ์ด๋ฒคํธ๋ฅผ ๋์น ๋ ๋์น ๋ถ๋ถ์ ๋ณด์ํฉ๋๋ค.
๋จผ์ ๋น ๋ฅด๊ฒ ๋ง๋ค๊ธฐ๋ณด๋ค ์ฌ๋ฐ๋ฅด๊ฒ ๋ง๋๋ ๊ฒ์ ์ฐ์ ํ์ธ์. ๋ค์ด์ค๋ ๋ชจ๋ ๋ณ๊ฒฝ์ ์ฌ๋ฌ ๋ฒ ์์ ํ๊ฒ ์ ์ฉํ ์ ์๊ฒ ์ฒ๋ฆฌํ์ธ์.
์ฒ์ ํ ์ธ ๊ฐ์ง ์์ :
- ๊ณต๊ธ์์ ์ด๋ฒคํธ์ ํ๋๋ฅผ ๋ด๋ถ ๋ชจ๋ธ์ ๋งคํํ๊ณ , "์ญ์ ", "ํ๋ถ", "์ํ ๋ณ๊ฒฝ"์ด ๋น์ ์๊ฒ ๋ฌด์์ ์๋ฏธํ๋์ง ์ ์ํ์ธ์.
- ์ฒ์๋ถํฐ ์์ด๋ดํฌํด์๋ฅผ ์ค๊ณํ์ธ์: ์ธ๋ถ ์ด๋ฒคํธ ID๋ ๋ฒ์ ์ ์ ์ฅํ๊ณ ๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ์ค๋ณต ์ฌ์คํํด๋ ๋ฌธ์ ๊ฐ ์๊ฒ ๋ง๋์ธ์.
- ์๋์ ์ธ ์ฌ์คํ์ ์ถ๊ฐํ์ธ์: "๋ง์ง๋ง์ผ๋ก ๋ณธ ์ดํ" ์ปค์๋ ์๊ฐ ์ฐฝ ํด๋ง์ ์ ์งํ๊ณ , ๋ฌธ์ ๊ฐ ์๊ธฐ๋ฉด ๋ฒ์๋ฅผ ๋ค์ ์คํํ ์ ์๋ ๊ด๋ฆฌ์ ๋๊ตฌ๋ฅผ ๋ง๋์ธ์.
์คํ ํ์๋ ๋ชจ๋ํฐ๋ง์ด ๊ณ์ ์๋ํ๊ฒ ํฉ๋๋ค. ์นํ ์ ๋ฌ๋ฅ , ์์ธ๋ณ ์คํจ(ํ์์์, 4xx, 5xx), ์ ํฉ ํด์ด ์ผ๋ง๋ ๋ค์ฒ์ ธ ์๋์ง ์ถ์ ํ์ธ์. "์ด๋ฒคํธ๊ฐ ์ ํ ์์ ๋์ง ์์"๊ณผ "์ด๋ฒคํธ๊ฐ ๋๋ฌด ๋ง์ด ์์ ๋จ" ๋ชจ๋ ๊ฒฝ๊ณ ํ๋๋ก ํ์ธ์.
๋ง์ฝ ์ฒ์๋ถํฐ ์์ ํ ๋ฐฑ์๋๋ฅผ ์ง์ ์์ฑํ์ง ์๊ณ ์๊ฐ์ ๋๊ตฌ๋ก ๋น ๋ฅด๊ฒ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด, AppMaster (appmaster.io)๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง, ์นํ ์๋ํฌ์ธํธ ์์ฑ, ์ฌ์๋/์ฌ์คํ ํ๋ฆ์ ์๊ฐ์ ์ผ๋ก ๋์์ธํ ์ ์๋ ๋ ธ์ฝ๋ ์ต์ ์ ๋๋ค. ํ์ํ ๋ ์ค์ ์์ค ์ฝ๋๋ฅผ ์์ฑํด ๋ฐฐํฌ๋ ๊ฐ๋ฅํฉ๋๋ค.


