2024/09 2

TroubleShooting - Socket Transports ์„ค์ •

์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋„์ž…ํ•˜๊ณ  Redis ์–ด๋Œ‘ํ„ฐ๋ฅผ ์„ค์ •ํ–ˆ์ง€๋งŒ, ์ง€์†์ ์œผ๋กœ ์š”์ฒญ์ด ์ „์†ก๋˜๋ฉด์„œ๋„ ์—ฐ๊ฒฐ์€ ์ด๋ฃจ์–ด์ง€์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.Socket.IO์˜ ๊ธฐ๋ณธ ์ „์†ก ๋ฐฉ์‹์€ polling์œผ๋กœ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. polling์€ ์ฃผ๊ธฐ์ ์œผ๋กœ HTTP ์š”์ฒญ์„ ๋ณด๋‚ด์–ด ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€๋งŒ, ๋ถ„์‚ฐ๋œ ํ™˜๊ฒฝ์—์„œ๋Š” ์š”์ฒญ์ด ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ์ „๋‹ฌ๋  ๊ฒฝ์šฐ ์†Œ์ผ“ ์—ฐ๊ฒฐ์ด ๋Š์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Pollingํ•ด๋‹น ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜์Œ ์š”์ฒญ์ด ์ด๋ฃจ์–ด์ง€๋Š” ์„œ๋ฒ„์™€ ์ง€์†์ ์ธ ์—ฐ๊ฒฐ์„ ์œ ์ง€์‹œ์ผœ์•ผ๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ†ตํ•ด ์ „์†ก ๋ฐฉ์‹์„ WebSocket ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.  ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 1 : Polling -> WebSocket WebSocket์›น์†Œ์ผ“ ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์— ์ง€์†์ ..

Web 2024.09.03

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ํ™˜๊ฒฝ์—์„œ์˜ Socket ์—ฐ๊ฒฐ (Redis Adapter, Redis Pub/Sub)

์„œ๋ฒ„ ๋ถ€ํ•˜๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋„์ž…ํ•œ ํ›„, ์ผ๋ถ€ ์œ ์ €๊ฐ€ Socket ์—ฐ๊ฒฐ์— ์‹คํŒจํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ์ด ๋ถˆ์•ˆ์ •ํ•ด์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์›์ธ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋„์ž…์œผ๋กœ ์ธํ•ด ์†Œ์ผ“ ์—ฐ๊ฒฐ์ด ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„๋“ค๋กœ ๋‚˜๋ˆ„์–ด์กŒ๊ณ , ์ด๋กœ ์ธํ•ด ์„œ๋ฒ„ ๊ฐ„์˜ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ •๋ณด๊ฐ€ ๊ณต์œ ๋˜์ง€ ์•Š์•„ ์ผ๋ถ€ ์œ ์ €๊ฐ€ ์—ฐ๊ฒฐ ์˜ค๋ฅ˜๋ฅผ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. Redis Pub/Sub ๋ฐ Redis Adapter๋ฅผ ๋„์ž…ํ•˜์—ฌ ๋ถ„์‚ฐ๋œ ์„œ๋ฒ„ ๊ฐ„์˜ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ํ†ตํ•ฉ์ ์œผ๋กœ ๊ด€๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ์†Œ์ผ“ ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜์–ด, ๋ชจ๋“  ์œ ์ €์—๊ฒŒ ์•ˆ์ •์ ์ธ ์‹ค์‹œ๊ฐ„ ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. RedisAdapter ์„ค์ • ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” Redis ํด๋ผ์ด์–ธํŠธ์˜ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.main.ts Socket.IO ๊ณต์‹๋ฌธ์„œ์—์„œ ์ œ๊ณต..

Web 2024.09.02