์จ๋ผ์ธ ๊ฐ์
>PHP - ์ต์๊ธ
๐ PHP ์ต์๊ธ - 1์ฃผ์ฐจ: ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ (MSA) ๊ฐ์ - 02 MSA์ ์ฅ๋จ์
์ฃผ์ ํ๋ก๊ทธ๋จ ์คํ
- ํ์ : 10.0
- ๋ผ์ด์ ์ค: free
- ์ด์์ฒด์ :
- ํ์ผ ํฌ๊ธฐ: 0
ํผ๋๋ฐฑ ๋ฐ ๋ค์ด๋ก๋
- ์ฌ์ฉ์ ํ์ : 10.0
- ๋ค์ด๋ก๋ ์: 1
- ์กฐํ์: 54
์ ์กฐ์ฌ ๋ฐ ๋ฑ๋ก ์ ๋ณด
- ์ ์์ฌ: LUZENSOFT
- ๋ฑ๋ก์ผ: 2025-10-01 14:06:35
- ์ค๋ช
๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ (MSA)์ ํต์ฌ ์ฌ์กฐ๋ช
#๋ง์ดํฌ๋ก์๋น์ค_์ํคํ ์ฒ(#MSA) ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ณ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ค๋ก ๋ถํดํ์ฌ ๊ตฌ์ถํ๋ ๋ฐฉ์์ ๋๋ค. ์ง๋ ์๊ฐ์ #๋ชจ๋๋ฆฌ์_์ํคํ ์ฒ ์ ๋น๊ตํ๋ฉฐ ๊ทธ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์ดํดํ์ต๋๋ค. ์ด๋ฒ์๋ #MSA ์ ์ค์ง์ ์ธ #์ฅ์ ๊ณผ #๋จ์ ์ ๊น์ด ์๊ฒ ๋ถ์ํ์ฌ, ์ ๋ง์ ๊ธฐ์ ์ด MSA๋ฅผ ์ ํํ๊ณ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ทธ์ ๋ฐ๋ฅธ #๋ณต์ก์ฑ ์ ๋ฌด์์ธ์ง ์์๋ณด๊ฒ ์ต๋๋ค. ๐ง
1. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ์ฅ์ (Strengths)
MSA๊ฐ ํ๋ #๋๊ท๋ชจ_์์คํ ์ ํ์ค์ผ๋ก ์๋ฆฌ ์ก์ ํต์ฌ์ ์ธ ์ด์ ๋ค์ ๋๋ค.
1.1. ๋ ๋ฆฝ์ ์ธ ๋ฐฐํฌ ๋ฐ ํ์ฅ (Independent Deployment & Scaling)
๊ฐ ์๋น์ค๋ ๋ ๋ฆฝ๋ #๋ฐฐํฌ_๋จ์ ์ ๋๋ค.
๋ ๋ฆฝ์ ๋ฐฐํฌ: ์๋น์ค A๋ฅผ ์ ๋ฐ์ดํธํ ๋ ์๋น์ค B์ ์ด์์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ์ด๋ ๋ฐฐํฌ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ๊ณ , #๊ฐ๋ฐ_๋ฏผ์ฒฉ์ฑ ์ ๋์ ๋๋ค.
์ํ ํ์ฅ: ํน์ ์๋น์ค(์: ๊ฒฐ์ ์๋น์ค)์๋ง ํธ๋ํฝ์ด ์ง์ค๋ ๊ฒฝ์ฐ, ํด๋น ์๋น์ค๋ง ์ง์ค์ ์ผ๋ก #์ํ_ํ์ฅ ํ ์ ์์ต๋๋ค. ์ด๋ #๋ฆฌ์์ค_ํจ์จ์ฑ ์ ๊ทน๋ํํฉ๋๋ค. ๐
1.2. ๊ธฐ์ ์ ์ ์ฐ์ฑ ๋ฐ ๋ค์์ฑ (Technology Heterogeneity)
๊ฐ ์๋น์ค๋ ์์ ํ ๋ ๋ฆฝ๋ #๊ธฐ์ _์คํ ์ ๊ฐ์ง ์ ์์ต๋๋ค.
์ต์ ์ ๊ธฐ์ ์ ํ: ์ฑ๋ฅ์ด ์ค์ํ ์๋น์ค๋ Go๋ Java๋ฅผ, ๋น์ฆ๋์ค ๋ก์ง์ด ๋ณต์กํ ์๋น์ค๋ #PHP ๋ฅผ, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ MongoDB, Redis ๋ฑ ์๋น์ค์ ํน์ฑ์ ๋ง๋ #DB ๋ฅผ ์์ ๋กญ๊ฒ ์ ํํ ์ ์์ต๋๋ค.
๋ ๊ฑฐ์ ํํผ: ์ค๋๋ ๋ ๊ฑฐ์ ์ฝ๋๋ฅผ ํ ๋ฒ์ ๋ฐ๊พธ๋ ๋์ , ์ ์ง์ ์ผ๋ก #๋ง์ด๊ทธ๋ ์ด์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
1.3. ์ฅ์ ๊ฒฉ๋ฆฌ (Fault Isolation)
์๋น์ค ๊ฐ์ #๊ฒฐํฉ๋ ๊ฐ ๋ฎ๊ธฐ ๋๋ฌธ์, ํ ์๋น์ค์์ ๋ฐ์ํ ์ค๋ฅ๊ฐ ์ ์ฒด ์์คํ ์ผ๋ก ํผ์ ธ๋๊ฐ๋ #์ฅ์ _์ ํ ๋ฅผ ๋ง์ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ์ถ์ฒ ์์คํ ์๋น์ค์์ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ๋ฐ์ํด ๋ค์ด๋๋๋ผ๋, ์ฃผ๋ฌธ ์ฒ๋ฆฌ ์๋น์ค๋ ์ ์์ ์ผ๋ก ์๋ํ ์ ์์ต๋๋ค. ์ด๋ ์์คํ ์ #ํ๋ ฅ์ฑ(Resilience) ์ ๋์ ๋๋ค.
1.4. ๊ฐ๋ฐ ์๋์ ์กฐ์ง์ ํจ์จ์ฑ (Speed & Organizational Alignment)
์๊ณ ๋ ๋ฆฝ์ ์ธ ์ฝ๋๋ฅผ ์๊ท๋ชจ์ ํ์ด ์ ๋ดํ์ฌ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ด๋ฅผ #์ ์์ผ_๊ฐ๋ฐ ๊ณผ #DevOps ๋ฌธํ์ ๋ง๊ฒ ํจ์จ์ ์ผ๋ก ์ด์ํ ์ ์์ต๋๋ค.
์ฝ๋ ๋ฒ ์ด์ค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ ์ ๊ฐ๋ฐ์๊ฐ ๋น ๋ฅด๊ฒ ํ๋ก์ ํธ์ ์ ์ํ ์ ์์ต๋๋ค.
2. ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๋จ์ (Weaknesses)
MSA๊ฐ ์ฃผ๋ ๋ณต์ก์ฑ์ ๋์ ์ ๋ฐ๋์ ๊ณ ๋ คํด์ผ ํ ์ค์ํ ์์๋ค์ ๋๋ค.
2.1. ์ด์ ๋ฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ (Operational Complexity)
๋ชจ๋๋ฆฌ์์ด ํ๋์ ์๋ฒ๋ง ๊ด๋ฆฌํ๋ฉด ๋๋ ๋ฐ๋ฉด, MSA๋ ์์ญ ๋๋ ์๋ฐฑ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์๋น์ค๋ฅผ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
์ธํ๋ผ ๋ณต์ก์ฑ: ์๋น์ค ๋์ค์ปค๋ฒ๋ฆฌ, ๋ก๋ ๋ฐธ๋ฐ์ฑ, API ๊ฒ์ดํธ์จ์ด, #์ค์ผ์คํธ๋ ์ด์ _๋๊ตฌ(#Kubernetes) ๋ฑ ๋ณต์กํ #์ธํ๋ผ ๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์งํด์ผ ํฉ๋๋ค.
๋ชจ๋ํฐ๋ง ๋ฐ ๋ก๊น : ๋ถ์ฐ๋ ํ๊ฒฝ์์ #๋ก๊ทธ ๋ฅผ ํตํฉํ๊ณ , #ํธ๋์ญ์ ์ ์ถ์ ํ๋ฉฐ, ์ฑ๋ฅ์ ๋ชจ๋ํฐ๋งํ๋ #๋ถ์ฐ_์ถ์ _์์คํ ์ด ํ์์ ์ผ๋ก ์๊ตฌ๋ฉ๋๋ค.
2.2. ๋ถ์ฐ ํธ๋์ญ์ ์ ์ด๋ ค์ (Distributed Transactions)
๋น์ฆ๋์ค ๋ก์ง์ด ์ฌ๋ฌ ์๋น์ค์ ๊ฑธ์ณ ์ํ๋ ๋, ๋ฐ์ดํฐ์ #์ผ๊ด์ฑ ์ ์ ์งํ๋ ๊ฒ์ด ์ด๋ ต์ต๋๋ค.
์๋ฅผ ๋ค์ด, '์ฃผ๋ฌธ'๊ณผ '์ฌ๊ณ ๊ฐ์'๊ฐ ๋ ๊ฐ์ ๋ค๋ฅธ ์๋น์ค์์ ์ด๋ฃจ์ด์ง ๋, ํ๋์ ์์ ์ด ์คํจํ๋ฉด ๋ค๋ฅธ ์์ ๋ ๋กค๋ฐฑ๋์ด์ผ ํ๋๋ฐ, ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ๋ชจ๋๋ฆฌ์์ ๋จ์ผ DB ํธ๋์ญ์ ๋ณด๋ค ํจ์ฌ ๋ณต์กํฉ๋๋ค. (์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด #Saga_ํจํด ๋ฑ์ด ์ฌ์ฉ๋ฉ๋๋ค.)
2.3. ์๋น์ค ๊ฐ ํต์ ๋น์ฉ ๋ฐ ์ง์ฐ (Communication Overhead)
์๋น์ค ๊ฐ ํต์ ์ ์ฃผ๋ก HTTP/REST API๋ ๋ฉ์์ง ํ๋ฅผ ํตํด #๋คํธ์ํฌ ๋ฅผ ๊ฑฐ์น๊ฒ ๋ฉ๋๋ค.
์ด๋ ๋ชจ๋๋ฆฌ์์ ํจ์ ํธ์ถ์ ๋นํด ์๋์ ์ผ๋ก #์ง์ฐ_์๊ฐ(Latency) ์ด ๊ธธ์ด์ง๋ฉฐ, ๋ง์ ํต์ ์ค๋ฒํค๋(Overhead)๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
2.4. ๊ฐ๋ฐ ๋ฐ ํ ์คํธ ํ๊ฒฝ ๊ตฌ์ถ์ ๋ณต์ก์ฑ
๋ก์ปฌ ํ๊ฒฝ์์ ๊ฐ๋ฐ์ ํ๊ฑฐ๋ ํตํฉ ํ ์คํธ๋ฅผ ์งํํ ๋, ๊ด๋ จ ์๋น์ค ์ ์ฒด๋ฅผ ๋์ฐ๊ฑฐ๋ ๋ชจํน(Mocking)ํด์ผ ํ๋ฏ๋ก #๊ฐ๋ฐ_ํ๊ฒฝ ์ ๊ตฌ์ถํ๊ณ ์ ์งํ๋ ๊ฒ์ด ๋ณต์กํฉ๋๋ค.
๋ง์น๋ฉฐ
MSA๋ ๊ฐ๋ ฅํ #ํ์ฅ์ฑ ๊ณผ #์ ์ฐ์ฑ ์ ์ ๊ณตํ์ง๋ง, ์ด๋ ์๋นํ ์์ค์ #์ด์_๋ณต์ก์ฑ ์ ๋๊ฐ๋ก ์๊ตฌํฉ๋๋ค. ํ๋ก์ ํธ์ ๊ท๋ชจ์ ํ์ ์ญ๋์ด MSA์ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ ์ ์๋์ง ์ ์คํ๊ฒ ํ๊ฐํด์ผ ํฉ๋๋ค. ๋ชจ๋ ํ๋ก์ ํธ์ MSA๊ฐ ์ ๋ต์ ์๋๋ฉฐ, ๋ชจ๋๋ฆฌ์์ผ๋ก ์์ํ์ฌ ํ์ํ ๋ถ๋ถ๋ง ์ ์ง์ ์ผ๋ก ๋ง์ดํฌ๋ก์๋น์ค๋ก ์ ํํ๋ ์ ๋ต์ด ๊ถ์ฅ๋๊ธฐ๋ ํฉ๋๋ค. ๋ค์ ์๊ฐ์๋ MSA๋ฅผ ์ํ PHP ๊ธฐ์ ์คํ๊ณผ ํต์ ๋ฐฉ์์ ์์๋ณด๊ฒ ์ต๋๋ค.
์ ํ๋ธ/์ธ์คํ๊ทธ๋จ ์กฐํ ์ ํจ KT์์ดํผ, ์ผํ ํฌ๋กค๋ง, ์ง์ญ๋ณ ๋ค๋์ญ IP๋ณด์
https://xn--299ao67b9qbmsf04c.net/