CQRS Pattern
Last updated
Last updated
Command Query Responsibility Segregation
์ํํธ์จ์ด ์ํคํ ์ฒ ํจํด ์ค ํ๋
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํธ์์ฉ์ ๋ํ ํจํด
๋ช
๋ น
๊ณผ ์กฐํ
์ ์ฑ
์์ ๋ถ๋ฆฌํ๋ ์์น์ ๊ธฐ๋ฐ
์ฝ๊ธฐ(Query)์ ์ฐ๊ธฐ(Command) ๋ชจ๋ธ์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋ชฉํ
์กฐํ์ ๋ช ๋ น์ ํ๋์ ๋ชจ๋ธ์์ ์ฒ๋ฆฌ
๋ฐ์ดํฐ ๊ฒฝํฉ ๋ฐ์
๋ณต์ก๋ ์ฆ๊ฐ
๋ฐ์ดํฐ์ ๋ณ๊ฒฝ(๋ช ๋ น)๊ณผ ์กฐํ(์ฟผ๋ฆฌ)๋ฅผ ์๋ก ๋ค๋ฅธ ๋ชจ๋ธ๋ก ๋ถ๋ฆฌ ๋ฐ ์ฒ๋ฆฌ
๋ฐ์ดํฐ ๋ณ๊ฒฝ๊ณผ ์กฐํ ๊ฐ์ ์์กด์ฑ ๊ฐ์
์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํฅ์
๋ณต์กํ ๋๋ฉ์ธ ๋ชจ๋ธ์ด๋ ๋๊ท๋ชจ ์์คํ ์์ ์ ์ฉ
๋จ์ํ ์์คํ ์์๋ ์ค๋ฒ์์ง๋์ด๋ง
์์คํ ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์์ ์ ์๋ฏธ
๋ช ๋ น ๋ชจ๋ธ์ ๋ฐ์ดํฐ์ ๋ณ๊ฒฝ์ ์ฒ๋ฆฌํ๊ณ , ์ด๋ฒคํธ๋ฅผ ๋ฐ์์์ผ ์ํ ๋ณ๊ฒฝ์ ํต์งํ๋ค.
์์คํ ์ ์ํ๋ฅผ ์กฐํํ๋ ์์ ์ ์๋ฏธ
์ฟผ๋ฆฌ ๋ชจ๋ธ์ ์ฝ๊ธฐ ์ ์ฉ ๋ฐ์ดํฐ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์กฐํ
์์คํ ์์ ๋ฐ์ํ๋ ์ค์ํ ์ฌ๊ฑด์ด๋ ์ํ ๋ณ๊ฒฝ์ ๋ํ๋
๋ช ๋ น ๋ชจ๋ธ์์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ ์ด๋ฒคํธ๋ก ๊ธฐ๋ก
๋ช ๋ น์ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๋ด๋นํ๋ ๊ตฌ์ฑ ์์
๋ช ๋ น์ ๋ฐ์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๊ณ , ๊ทธ์ ๋ฐ๋ฅธ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํด
๋ฐ์ํ ์ด๋ฒคํธ์ ๋ํ ๋ก์ง์ ์ฒ๋ฆฌํ๋ ๊ตฌ์ฑ ์์
์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด ํด๋น ์ด๋ฒคํธ๋ฅผ ์์ ํ์ฌ ์ฟผ๋ฆฌ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธ