- Spring Boot์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์คํธ๋ฆฌ๋ฐํ์ฌ ์ฌ์ฉ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค.๐
- ๊ธฐ์กด ๋ฐฉ์์ ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๋ก๋ ํ ์๋ตํ์ฌ ๋ก๋ฉ ์๊ฐ์ด ๊ธธ์ด์ง๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.๐
- ์คํธ๋ฆฌ๋ฐ ๋ฐฉ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒญํฌ ๋จ์๋ก ์ ์กํ์ฌ ์ฆ๊ฐ์ ์ธ ์๋ต์ฑ์ ์ ๊ณตํฉ๋๋ค.โก
- StreamingResponseBody๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ์คํธ๋ฆฌ๋ฐ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๐ค
- text/event-stream์ Content-Type์ผ๋ก ์ค์ ํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์คํธ๋ฆผ์ผ๋ก ์ธ์ํ๋๋ก ํฉ๋๋ค. โ๏ธ
- Outputstream์ JSON ํํ๋ก ๋ฐ์ดํฐ๋ฅผ writeํ๊ณ flushํ์ฌ ํด๋ผ์ด์ธํธ์ ์ ์กํฉ๋๋ค. ๐พ
- ์ค์๊ฐ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ๋ฅผ ์ํด ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ์คํธ๋ฆฌ๋ฐํ ์ ์์ต๋๋ค. โฐ
- Spring Reactive๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ๋ฐ ๋ ผ๋ธ๋กํน ๋ฐฉ์์ผ๋ก ์คํธ๋ฆฌ๋ฐ์ ๊ตฌํํ ์ ์์ต๋๋ค. ๐
- WebFlux ์์กด์ฑ์ ์ถ๊ฐํ๊ณ Flux๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์คํธ๋ฆผ์ ์ฒ๋ฆฌํฉ๋๋ค. ๐
- produces ์์ฑ์ ์ฌ์ฉํ์ฌ text/event-stream์ ๋ช ์ํด์ผ ํฉ๋๋ค. ๐ข
- Spring MVC์์๋ StreamingResponseBody๋ฅผ, ๊ณ ์ฑ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ Spring Reactive๋ฅผ ์ ํํฉ๋๋ค. โ
- ๋์ฉ๋ ํ์ผ ๋ค์ด๋ก๋, ์งํ๋ฅ ํ์, ์ค์๊ฐ ๋์๋ณด๋ ๋ฑ์ ์คํธ๋ฆฌ๋ฐ์ ์ ์ฉํ ์ ์์ต๋๋ค. ๐
- ์คํธ๋ฆฌ๋ฐ์ ๋น ๋ฅธ ์๋ต, ๋ฎ์ ์๋ฒ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋ฐ์ด๋ ํ์ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค. ๐
- Spring Reactive๋ ๋ง์ ๋์ ์ฌ์ฉ์, ์ค์๊ฐ ๋์๋ณด๋์ ์ ํฉํฉ๋๋ค. ๐จโ๐ป
- Spring MVC ๊ธฐ๋ฐ์์๋ StreamingResponseBody๊ฐ ์ ํฉํฉ๋๋ค. ๐