๐ฌweb application/- distributed system11 [distributed system] CAP ์ด๋ก ๊ณผ PACELC ์ ๋ํ ์ด์ผ๊ธฐ ๋ชฉ์ฐจ TL;DR ๋ถ์ฐ ์์คํ ์ 3 ๊ฐ์ง Gaurantee CAP ์ด๋ก CP ์์คํ AP ์์คํ CAP ์์คํ ์ด ์กด์ฌํ์ง ์๋ ์ด์ CAP ์ด๋ก ์ ํ๊ณ PACELC ์ด๋ก TL;DR ์ด๋ฒ ๊ธ์ ํต์ฌ์ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. CAP ์ด๋ก ํํฐ์ ์ด ํญ์ ๋ฐ์ํ ์ ๋ฐ์ ์๋ ๋ถ์ฐ ์์คํ ์์ C, A ์ค ํ๋๋ง ์ ํํ ์ ์์์ ์๋ฏธํ๋ ์ด๋ก Consistency Availability Partition Tolerance CAP ์ด๋ก ์ ํ๊ณ ์๋ฒฝํ CP, AP ์์คํ ์ ์กด์ฌํ์ง ์๋๋ค ๋๋ถ๋ถ์ ๋ถ์ฐ ์์คํ ์ CP ์ AP ์ฌ์ด ์ด๋์ฏค์ด๋ค PACELC ์ด๋ก partition ์ํฉ๊ณผ ์๋(else) ์ํฉ์ผ๋ก ๋๋๊ณ ๊ฐ๊ฐ trade off ์ ์ ๊ธ์๋ฅผ ๋ด ์ด๋ก ํํฐ์ partition ์ํฉ์ผ ๊ฒฝ์ฐ Avaliabilt.. 2023. 11. 12. [Distributed Tracing] Zipkin ๊ณผ Spring Cloud Sleuth ์ ๋ํด์ ๋ณธ ๊ธ์ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์๋ฆฌ์ฆ๋ก ์ด๋ก ๊ณผ ์ค์ต์ด ํจ๊ป ํฌํจ๋ ์๋ฆฌ์ฆ์ ๋๋ค. ์๋ ๋ชฉ์ฐจ์ ํ์๋ ๊ธ์ ๋ชจ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ต๋๋ค. ๋ชฉ์ฐจ Distributed Tracing, ๋ถ์ฐ ์ถ์ ์ด๋? Spring Cloud Sleuth ์ Zipkin Sleuth ๋ก Http ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต Sleuth ๋ก Messaging ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต ์ค์ต์ ๋ํ ์์ค์ฝ๋๋ฅผ ํ์ธํ์๊ณ ์ถ๋ค๋ฉด ์ค์ต github์์ ํ์ธํ์ค ์ ์์ต๋๋ค. Zipkin ์ ๋ํด์ Zipkin ์ ํธ์ํฐ์์ ๊ฐ๋ฐํ๊ณ ์ฌ์ฉํ Distributed Tracing Tool ์ด๋ค Zipkin ์์๋ ์ง๋ ์๊ฐ ์์๋ ์ด์ผ๊ธฐํ์๋ Dapper ๋ฅผ ์ด์ฉํ์ฌ ๋ถ์ฐ ํ๊ฒฝ์์ ๋ฉ์์ง๋ฅผ ์ถ์ ํ๋ค. Zipkin ์์๋ Tracer ์ ํจ๊ปํด์ผ ํ๋ค.. 2022. 5. 1. [Distributed Tracing] ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์ด๋ ๋ฌด์์ธ๊ฐ [Distributed Tracing] ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์ด๋ ๋ฌด์์ธ๊ฐ ๋ณธ ๊ธ์ ๋ง์ดํฌ๋ก์๋น์ค์ ๋ถ์ฐ ์ถ์ ์๋ฆฌ์ฆ๋ก ์ด๋ก ๊ณผ ์ค์ต์ด ํจ๊ป ํฌํจ๋ ์๋ฆฌ์ฆ์ ๋๋ค. ์๋ ๋ชฉ์ฐจ์ ํ์๋ ๊ธ์ ๋ชจ๋ ์ฐธ๊ณ ํ๋ฉด ์ข์ต๋๋ค. ๋ชฉ์ฐจ Distributed Tracing, ๋ถ์ฐ ์ถ์ ์ด๋? Spring Cloud Sleuth ์ Zipkin Sleuth ๋ก Http ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต Sleuth ๋ก Messaging ํ๊ฒฝ์ ๋ถ์ฐ ์ถ์ ์ค์ต ์ค์ต์ ๋ํ ์์ค์ฝ๋๋ฅผ ํ์ธํ์๊ณ ์ถ๋ค๋ฉด ์ค์ต github์์ ํ์ธํ์ค ์ ์์ต๋๋ค. ๋ถ์ฐ ์ถ์ ์ด ์ ํ์ํ๊ฐ? ์ด์ ์ ์น ์๋น์ค๋ 3-tier ์ํคํ ์ฒ์ 2-tier ์ํคํ ์ฒ๊ฐ ์ฃผ๋ฅผ ์ด๋ฃจ์์๋ค. ํ์ง๋ง ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ๊ฐ ์ธ์์ ๋์ค๊ณ ์ด๋ฅผ ์๋ํ๊ณ ์ฑ๊ณตํ๋ ๊ธฐ์ ์ ์ฌ๋ก๊ฐ .. 2022. 5. 1. ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต (2) [OpenFeign vs Rest Template] - ๊ฐ๊ฐ์ ๋น๊ต ์ด ๊ธ์ 2๊ฐ์ ๊ธ๋ก ๋๋์ด์ ธ ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต [OpenFeign vs Rest Template] - ์๋น์ค ๊ตฌํ ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต [OpenFeign vs Rest Template] - ๊ฐ๊ฐ์ ๋น๊ต ํด๋น ๊ธ์์ ๋์ค๋ ์ค์ต ๋ด์ฉ์ Spring Cloud๋ฅผ ์ด์ฉํ MSA ๊ตฌ์ฑ์ ์ ๋ฐ์ ์ธ ์ดํด๊ฐ ํ์ํ ๋ด์ฉ์ ๋๋ค. ์ค์ต์ Eureka + Gateway + Microservices (2)๋ฅผ ์ด์ฉํ ํ๊ฒฝ์ผ๋ก ํด๋น ๊ธ์์๋ Eureka์ Gateway ์ค์ ์ ๋ํด์๋ ์ธ๊ธํ์ง ์ง๋ง ๋ง์ฝ Eureka๋ Gateway์ ์ดํด๊ฐ ๋ถ์กฑํ์ ๋ถ๋ค์ด๋ ๋ ์์๋ณด๊ณ ์ค์ต ํ๊ฒฝ์ ๋ฐ๋ผ ํด๋ณด๊ณ ์ถ์ ์ฌ๋์ ์๋์ ์ค์ต ๊ณผ์ ์ ์กด์ฌํ๋ UR.. 2021. 4. 29. ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต (1) [OpenFeign vs Rest Template] - ์๋น์ค ๊ตฌํ ์ด ๊ธ์ 2๊ฐ์ ๊ธ๋ก ๋๋์ด์ ธ ์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต [OpenFeign vs Rest Template] - ์๋น์ค ๊ตฌํ ๋ง์ดํฌ๋ก์๋น์ค์์ ์๋น์ค๊ฐ ํต์ ์ ์ํ 2๊ฐ์ง ๋ฐฉ๋ฒ ๋น๊ต [OpenFeign vs Rest Template] - ๊ฐ๊ฐ์ ๋น๊ต ํด๋น ๊ธ์์ ๋์ค๋ ์ค์ต ๋ด์ฉ์ Spring Cloud๋ฅผ ์ด์ฉํ MSA ๊ตฌ์ฑ์ ์ ๋ฐ์ ์ธ ์ดํด๊ฐ ํ์ํ ๋ด์ฉ์ ๋๋ค. ์ค์ต์ Eureka + Gateway + Microservices (2)๋ฅผ ์ด์ฉํ ํ๊ฒฝ์ผ๋ก ํด๋น ๊ธ์์๋ Eureka์ Gateway ์ค์ ์ ๋ํด์๋ ์ธ๊ธํ์ง ์ง๋ง ๋ง์ฝ Eureka๋ Gateway์ ์ดํด๊ฐ ๋ถ์กฑํ์ ๋ถ๋ค์ด๋ ๋ ์์๋ณด๊ณ ์ค์ต ํ๊ฒฝ์ ๋ฐ๋ผ ํด๋ณด๊ณ ์ถ์ ์ฌ๋์ ์๋์ ์ค์ต ๊ณผ์ ์ ์กด์ฌํ๋ UR.. 2021. 4. 29. [๋ง์ดํฌ๋ก์๋น์ค] MSA์ ํต์ฌ ๊ตฌ์ฑ ์์ - Message Queueing ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด์๋ ๊ธฐ์ ์ ์ผ๋ก ๋ง์ ์ด๋ ค์์ด ์๋ฐ๋๋ค. ์๋์ ์ฌ์ง๋ง ๋ณด๋๋ผ๋ ํ๋์ ์๋น์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด์ ์์ผ์ ํ ๊ธฐ์ ๋ค์ด ๊ต์ฅํ ๋ง๋ค. ์ค๋์ ์ฌ๊ธฐ์ ๋์จ ๊ธฐ์ ๋ค์ ํน์ง๊ณผ ์ด๋ค ์ญํ ์ ์ํํ๋์ง์ ๋ํด์ ์์๋ณด๋ ค ํ๋ค. CNCF๊ฐ ์ ์ํ ํ์ค MSA ๊ตฌ์ฑ ์์ CNCF๋ ์ง๋ Cloud Native Architecture ์์๋ ์ ๊น ์ธ๊ธํ Cloud Native Computing Foundation ๋จ์ฒด์ด๋ค. CNCF ์์ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ง์ํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ตฌ์ฑ ์์๋ค์ ๋ค์๊ณผ ๊ฐ์ด ๋๋๋ค. API Gateway ํจํด ๋ธ๋ก๊ทธ ์ค๋ช ๋ฐ๋ก๊ฐ๊ธฐ Service Mesh ๋ธ๋ก๊ทธ ์ค๋ช ๋ฐ๋ก๊ฐ๊ธฐ Container Runtime ๋ธ๋ก๊ทธ ์ค๋ช ๋ฐ๋ก๊ฐ๊ธฐ CI / CD ๋ธ๋ก๊ทธ ์ค๋ช ๋ฐ๋ก๊ฐ๊ธฐ M.. 2021. 4. 14. ์ด์ 1 2 ๋ค์