SSE3 SSE ์ ์ฉ (3) - SSE ์ ์ฉ ์ ์ด์ ์ฒ๋ฆฌ 1. Event Share ์ด์ ์ฒ๋ฆฌ (๋์ ์ ์ ๊ณ ๋ ค)์ด์ - ์ฌ๋ฌ๊ฐ์ ํญ์ ๋์๋จ์ ๋ Emitter Subscribe Response๋ ๋ค OK๊ณ Event๊ฐ ์ ๋๋ก ์์ฑ์์ง๋ง ๊ฐ์ฅ ์ต๊ทผ์ ์์ฑ๋ ํญ๋ง event data ์ ํ ์ดํธ๊ฐ ๋จ ์์ธ - API์์ ๋์ผ ์ด๋ฒคํธ๊ฐ ์๋ ๋ค์ ์์ฑ๋ ๋์ผ ํค์ ์ด๋ฒคํธ๋ก ๋ฎ์ด ์ฐ๊ธฐ๊ฐ ๋์ด์ ธ๋ฒ๋ฆผ - = API์์ concurrentHashMap์ emitter ๋ด๊ณ ์๋๋ฐ ๋์ผ key๋ก ์ ๊ฒ์ผ๋ก ์์ด์ณ์ ธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ - emitter๋ ๊ณต์ ์๋จ - ์ด๋ฒคํธ ๊ตฌ๋ ์ด ํ์ํ ๋๋ง๋ค ์ฌ๋ฌ๊ฐ emitter๋ฅผ uuid ์ถ๊ฐ ๋ฐ idPrefix์ ์ฉํด์ Broadcast ์ idPrefix ํ์ ๊ฒ๋ค ๋ชจ๋ ์ ๋ฐ์ดํธ ๋๋๋ก ๋ณ๊ฒฝ 2. ์ธ์ฆ์ด์ - event subscribe์ .. 2024. 8. 19. SSE ์ ์ฉ (2) - ์ด์คํ๋ฅผ ์ ์ฉํด๋ณด์ ํ์์ฑ- ์ ๊ท ๊ตฌ์ถ ์คํ ์ด์ง ๋๋ถ๋ถ API 2๋ -> ์ค์ผ์ผ๋ง ์ด์ ๊ณ ๋ฏผ์ด ํ์- ํ์ฌ ๊ฐ๊ฐ API์ Subscribe, broadcast๊ฐ ์์ผ๋ฉด ์ด๋ฒคํธ ๋ฐ์ํ ์ชฝ์ ์๋ต ๋๋ฝ ๊ฐ๋ฅ์ฑ์ด ์์. ๊ตฌํ ๋ฐฉ๋ฒ- MQ๋ฅผ ์ด์ฉ - ๊ธฐ์กด์ ์ฌ์ฉ์ค์ธ ๋ฆฌ์์ค - Redis๋ Kafka๋ฅผ ๋ง์ด ์ฌ์ฉํ๋, ํ์ฌ ์ํฉ์์ SSE๋๋ฌธ์ ์ธํ๋ผ ์ถ๊ฐ๋ ๋ถ๊ฐํ ์ํฉ - ๋ค์ค ๋ก๊ทธ์ธ ์ด๋ ๊ฒ ์ฌํ๊น์ง ํ์ํ์ง ์์ (๋จ์ผ ๊ธฐ๊ธฐ ๋ก๊ทธ์ธ ํ๊ฒฝ) - ๊ตฌํ์ ์ด๊ฒ์ ๊ฒ ๋ณด๋ MQ๋ก ์ถฉ๋ถํ๊ฒ ๋์ ๊ฐ๋ฅํ ๊ฒ ๊ฐ์- Subscribe๋ ์ด๋ ์๋ฒ์์ ๋ฐ์ํด๋ ์๊ด์ด ์์, ๋ฐ๋ผ์ API๋ก ์งํ, Broadcast๋ MQ๋ก ์ ์ฉ- ์ด๋ฒคํธ ๋ฐ์ ์ ์ด๋ฒคํธ ID Prefix๋ฅผ ํ์ธํ์ฌ ๊ตฌ๋ ์ค์ธ ๋ชจ๋ ์๋ฒ์ ๋งคํ๋๋ ๋ชจ๋ ์ด๋ฒคํธ๋ฅผ ๋์์ Br.. 2024. 8. 19. SSE ์ ์ฉ (1) - SSE๋ฅผ ์ ์ฉํด๋ณด์ ๊ฐ๋ ๋ฐฐ์น ๋์ ์๋ฃ ์์ ๋ง๋ค ํ๋ฉด์ update๋ฅผ ํด์ค์ ์ฌ์ฉ์๊ฐ ์ต์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ์ํด ์ ์ ํ ๊ธฐ์ ๊ฒํ ์ค์ SSE ์ถ์ฒ์ ๋ฐ์ ๋ถ์ ํ ๊ฐ๋ฐ์ ์งํํ๊ฒ ๋์๋ค. ๊ด๋ จ ๋ด์ฉ์ ์ ๋ฆฌ SSE๋, Server Sent Event ์น ๋ธ๋ผ์ฐ์ ์ ์๋ฒ ๊ฐ ๋จ๋ฐฉํฅ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ์น ๊ธฐ์ ์๋ฒ์์ ํด๋ผ์ด์ธํธ(๋ธ๋ผ์ฐ์ )๋ก ์ค์๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ณด๋ผ ์ ์๋ค. ํด๋ผ์ด์ธํธ ์ธก์์ ์๋ฒ๋ก์ ์ฐ๊ฒฐ์ ์ด์ด๋๊ณ ์๋ฒ์์ ์ด๋ฒคํธ๋ฅผ ํธ์ฌํ๋ ๋ฐฉ์ ์๋ฒ๋ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๊ณ , ์ด๋ฒคํธ์ ํ์ํ Data๋ฅผ ํฌํจํ์ฌ Client์๊ฒ ์ ๋ฌํ๋ค. Client๋ ์ด๋ฒคํธ ์์ ํ ํ์ํ ์์ ์ ์ํํ๋๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ SSE ํน์ง - ๋จ๋ฐฉํฅ ํต์ ์๋ฒ -> ํด๋ผ์ด์ธํธ๋ก๋ง Data ์ ์ก - ๊ธฐ๋ณธ HTTP ํ๋กํ ์ฝ ์ฌ.. 2024. 4. 12. ์ด์ 1 ๋ค์