๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ

๐Ÿ”ฌapplication/- System architecture5

cache 101 - Spring Cache ์— ๋Œ€ํ•˜์—ฌ (feat. ์บ์‹œ๋กœ todo list ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์ž) cache 101 ์‹œ๋ฆฌ์ฆˆ๋Š” web application ์„ ๊ฐœ๋ฐœํ•˜๋ฉฐ ๋งˆ์ฃผํ•˜๋Š” cache ์— ๋Œ€ํ•ด ํ•„์š”ํ•œ ์ง€์‹๊ณผ ๋„๊ตฌ๋“ค์˜ ์‚ฌ์šฉ๋ฒ•์„ ํ•™์Šตํ•˜๋Š” ์‹œ๋ฆฌ์ฆˆ์ž…๋‹ˆ๋‹ค. 1. Cache ์— ๋Œ€ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ ์˜ ์ˆœ์„œ๋Œ€๋กœ ๊ธ€์„ ์ฝ์œผ์‹œ๋ฉด ํ•™์Šต์— ๋” ๋งŽ์€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ Spring ์—์„œ ์ œ๊ณตํ•˜๋Š” Cache ์— ๋Œ€ํ•ด์„œ ์ด์•ผ๊ธฐ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค Spring ์—์„œ๋Š” Cache ์— ๋Œ€ํ•˜์—ฌ Spring Transaction ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋†’์€ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•œ๋‹ค @Transactional // spring transaction support public Todo create() {} @Cacheable // spring cache support public Todo create() {} Spring ์—์„œ๋Š” ์ด๋ฅผ Cache Abstr.. 2024. 3. 13.
cache 101 - ์บ์‹œ์— ๋Œ€ํ•œ ๊ฑฐ์˜ ๋ชจ๋“  ๊ฒƒ ์ด๋ฒˆ์—๋Š” cache ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. cache ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด computer science ์—์„œ ์ •๋ง ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ์‚ฌ์šฉ๋˜๊ณ , ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜์ง€๋งŒ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ์ดํ•ด๋„๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋‚˜๋Š” cache ์— ๋Œ€ํ•ด์„œ web application layer ์˜ ๋ฌธ๋งฅ์—์„œ ์„ค๋ช…์„ ํ•  ๊ฒƒ์ด๊ณ , software cache ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ฃผ๋กœ ํ•  ๊ฒƒ์ด๋‹ค. hardware cache ์™€ ๋” low level ์˜ cache ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ์ด ๊ธ€์€ ์ ํ•ฉํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค. TL;DR ์ด๋ฒˆ ๊ธ€์˜ ํ•ต์‹ฌ์„ ์š”์•ฝํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค 1. ์บ์‹œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€ cache: ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ๋ฏธ๋ž˜์— ํ•ด๋‹น ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์š”์ฒญ์„ ๋” ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” hardware ํ˜น์€ software cache ์˜ ์ข…๋ฅ˜ h/w ca.. 2024. 2. 1.
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.
[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.