๐ฌweb application41 [DDD] Repository Pattern ์ด๋, ์ด๋ก ํธ ์ด ๊ธ์ ์ด๋ก ๊ณผ ์ค์ต, ๋ ํํธ๋ก ๋๋์ด์ ธ ์์ต๋๋ค. Repository Pattern ์ ๋ํด์, ์ด๋ก ํธ 2022. 8. 23. Event-Driven-Architecture ์ ๋ํ Overview ์ ์ฌ๋ฌ ๊ณ ๋ ค์ฌํญ๋ค ๋ชฉ์ฐจ Event ๋ Event Driven Architecture ๋ Event Driven Architecture ์ ๊ตฌํ ๋ชจ๋ธ Event-Driven-Architecture ์์ ๊ณ ๋ คํด์ผํ ๋ฌธ์ ๋ค Event ๋ Event ๋ ๋ฌด์์ผ๊น? Event ์ ๊ฐ๋ ์ ๊ฐ๋จํ๋ค. ์ด๋ฒคํธ๋ ๊ณผ๊ฑฐ์ ์ผ์ด๋ ์ด๋ ํ ์ฌ๊ฑด์ด๋ค. Event-Streaming-Platform ์์๋ ์ด๋ฌํ ์ด๋ฒคํธ๋ฅผ ํตํด์ ๋ถ์ฐ๋ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ณ ์ด๋ ํ side effect ๋ฅผ ์ผ์ผํค๊ฑฐ๋ ํน์ process ๋ฅผ trigger ํ๋ฉฐ ์ด๋จ ๋๋ ๋ฐ์ดํฐ๋ฅผ ๋๊ธฐํ๋ฅผ ํ๊ธฐ๋ ํ๋ค. ์ด๋ฌํ ์ด๋ฒคํธ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋ ์ฌ๋ฌ ์ด์ ๊ฐ ์๊ฒ ์ง๋ง ๊ฐ์ธ์ ์ผ๋ก ์๊ฐํ๋ ๊ฐ์ฅ ํฐ ์ด์ ๋ ๋ฐ๋ก ์์คํ ๊ฐ ๊ฐํ๊ฒ ๊ฒฐํฉ๋ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค. ์๋ฅผ ๋ค์ด์ ๋ค์๊ณผ ๊ฐ์.. 2022. 8. 22. CQRS ํจํด์ ๋ํ ์คํด ํ๊ธฐ ๋ชฉ์ฐจ ๋์ Query ์ Command ๋? CQRS ๋ CQRS ์ ์ฅ๋จ์ ๋์ ํ์ฌ ์์คํ ์ด ์ ํต์ ์ธ CRUD ์ ํ๋ฆฌ์ผ์ด์ ์์ Event ๊ธฐ๋ฐ์ ์์คํ ์ผ๋ก ๋ฐ๋์ด ๊ฐ๋ ๊ณผ์ ์ ํ์ ํฉ๋ฅ๋ฅผ ํ๊ฒ ๋์ด ๋์ ์ต๊ทผ ๊ฐ์ฅ ํฐ ๊ด์ฌ์ฌ๊ฐ ๋ฐ๋ก ์ด CQRS ์ด๋ค. ํ๋ถ ์์ ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ๊ณต๋ถํ๋ฉฐ ์ ๊น ์ ๊น ๋ดค๋ CQRS ๋ ์ด๋ฆ ๋ถํฐ ์์ํ๊ธฐ์ ๊ฒ์ ๋จน์๋ ๊ธฐ์ต์ด ๋๋ค. ํ์ง๋ง CQRS ์ ์๋ฆฌ ์์ฒด๋ ์ฌ์ค ๋๊ฒ ๊ฐ๋จํ๋ค Command ์ Query ๋ฅผ ๋ถ๋ฆฌํ์! Command ์ Query ๋ฅผ ๋จผ์ ์ ์ํ๊ณ ์ด์ผ๊ธฐ๋ฅผ ๊ณ์ ํด๋ณด์ Query ์ Command ๋? Query ์ Command ์ ๋ํด์ ์ด์ผ๊ธฐ ํ๊ธฐ ์ํด์๋ CQS ์ ๋ํด์ ๋จผ์ ์์๋ณผ ํ์๊ฐ ์๋ค. CQS ๋ Design By Contr.. 2022. 6. 11. [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. [Event-Driven-Architecture] Message Oriented Middleware๊ณผ Message Broker์ ์ฐจ์ด ๋ฐ ์๋ฆฌ ๋ชฉ์ฐจ ๋ฏธ๋ค์จ์ด๋? MOM ์ด๋? MOM ๊ตฌ์ฑ์์ MOM vs without MOM Messaging ์ 2๊ฐ์ง ๋ฐฉ์ PTP Messaging Pub/Sub Messaging Message Broker ๋ํ์ ์ธ MOM ์๋ฃจ์ ์ค๋์ ์์ฆ ๋ง์ ๋ถ์ผ์์ ์ฑํ๋์ด ์ฌ์ฉ๋๊ณ ์๋ Message Oriented Middleware ์ ๋ํด์ ์์๋ณด๋ ค ํ๋ค. Message Oriented Middleware, MOM ์ด๋ ํ๋์ ์ํํธ์จ์ด๋ ์๋ฃจ์ ๋ณด๋ค๋ ๋ ์์ ๊ฐ๋ ์ผ๋ก ์ํคํ ์ฒ ํจํด์ด๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ ํด๋นํ๋ค๊ณ ์๊ฐํ๋ค. ๋ฌผ๋ก MOM์ ์ํคํผ๋์์์๋ ์์ฉ ์ํํธ์จ์ด ๊ฐ์ ๋ฐ์ดํฐ ํต์ ์ ์ํ ์ํํธ์จ์ด๋ผ๊ณ ๋ถ๋ฅด์ง๋ง ์ฐ๋ฆฌ๋ ์กฐ๊ธ ๋ ํฐ ๊ฐ๋ ์์ ์ดํดํด๋ณด์. ์ด๋ฐ MOM ์ ์ดํดํ๊ธฐ ์ํด์๋ ์ฐ์ Middlew.. 2021. 5. 19. ์ด์ 1 2 3 4 5 6 7 ๋ค์