😯 WebSocket과 Polling 그리고 SSE

<aside> 🀣 이번 κ·Έλ£Ή ν”„λ‘œμ νŠΈμ—μ„œ μ›Ή μ†ŒμΌ“μ„ λ„μž…ν•˜μ—¬ μ†ŒμΌ“ μ„œλ²„λ₯Ό κ΅¬ν˜„ν•˜λ €κ³  ν•˜μ˜€λ‹€. 기술 μŠ€νƒκΉŒμ§€ κ²°μ •ν•˜κ³ , 기본적인 ꡬ쑰λ₯Ό κ²°μ •ν•œ ν›„ 일뢀 κΈ°λŠ₯의 κ°œλ°œλ§ˆμ € μ§„ν–‰λœ μƒνƒœμ˜€λ‹€. κ·ΈλŸ¬λ‚˜, λ©˜ν† λ§ 쀑 μ›Ή μ†ŒμΌ“ μ„œλ²„μ— λŒ€ν•΄μ„œ 질의λ₯Ό ν•˜μ˜€κ³ , ν˜„μž¬ μš°λ¦¬κ°€ κ΅¬ν˜„ν•˜λ €κ³  ν•˜λŠ” μ„œλΉ„μŠ€μ—μ„œ κ³Όμ—° μ›Ήμ†ŒμΌ“ μ„œλ²„κ°€ ν•„μš”ν• κΉŒμ— λŒ€ν•΄μ„œ μ˜λ¬Έμ„ κ°€μ§€κ²Œ λ˜μ—ˆλ‹€. κ·Έ ν›„, short polling, long polling, sse, websocket λ“± μ—¬λŸ¬ κΈ°μˆ μ— λŒ€ν•œ μƒν˜Έ 비ꡐ가 λΆ€μ‘±ν•˜λ‹€λŠ” νŒλ‹¨μ„ 내릴 수 μžˆμ—ˆκ³ , 이것을 λ‹€μ‹œ μ°Ύμ•„λ³΄λŠ” 쀑이닀. μ–΄λŠμ •λ„ κ°œλ°œμ„ μ§„ν–‰ν–ˆλ‹€κ°€ κ²°κ³Όλ¬Ό 포기λ₯Ό κ³ λ €ν•˜κ³  λ‹€μ‹œ μ‹œμž‘μ μœΌλ‘œ λŒμ•„κ°€μ„œ λ˜λŒμ•„λ³΄λŠ” 과정을 μ§„ν–‰ν•˜λ©΄μ„œ, 얼핏 λ“€μ–΄λ³΄μ•˜μ—ˆλ˜ 기술 λΆ€μ±„λΌλŠ” 말과 λ§žλ‹Ώμ•„ μžˆλŠ” 뢀뢄이 μžˆλŠ” 것 κ°™μ•„ 이에 λŒ€ν•΄ 찾아보렀 ν•œλ‹€.

</aside>

기술 뢀채

기술 λΆ€μ±„λΌλŠ” 말이 μžˆλ‹€. 일반적인 뢀채가 이자λ₯Ό λ‚΄κ³  λˆμ„ μ“°λŠ” μ‹œμ μ„ λ‹ΉκΈ°λŠ” κ²ƒμ²˜λŸΌ 기술 λΆ€μ±„λŠ” 기술적으둜 ν•΄κ²°λ˜μ–΄μ•Ό ν•  λ¬Έμ œλ“€μ„ λ’€λ‘œ 미루고, λΉ„μ¦ˆλ‹ˆμŠ€μ μΈ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” μ‹œμ μ„ λ‹ΉκΈ°λŠ” 것이닀.

기술 λΆ€μ±„μ˜ 예λ₯Ό λ“€μžλ©΄ λ‹€μŒκ³Ό 같은 것이 μžˆμ„ 것이닀.

마치 뢀채에 이자λ₯Ό λ‚΄μ•Όν•˜λŠ” κ²ƒμ²˜λŸΌ, 기술 뢀채에도 λΉ„μš©μ΄ μžˆλ‹€. λΉ„μ¦ˆλ‹ˆμŠ€μ μΈ λ¬Έμ œλŠ” λ°”λ‘œ ν•΄κ²°λ˜μ§€λ§Œ, μ•žμœΌλ‘œ λ³€κ²½ 사항이 μƒκΈ°κ±°λ‚˜ λ¦¬νŒ©ν„°λ§μ„ μ§„ν–‰ν•˜λŠ” λ“±μ˜ μž‘μ—…μ΄ ν•„μš”ν•˜κ²Œ 되면 되렀 더 큰 κ³Όμ œκ°€ μƒκΈ°λŠ” 것이닀. λ˜ν•œ, 기술 λΆ€μ±„λŠ” λΉŒλ¦¬λŠ” μ‚¬λžŒκ³Ό κ°šλŠ” μ‚¬λžŒμ΄ λ‹€λ₯Ό μˆ˜λ„ μžˆλ‹€. λ‚΄κ°€ κ°šμ„ μˆ˜λ„ μžˆμ§€λ§Œ, λ‚˜μ˜ λ™λ£Œκ°€ 갚게 될 μˆ˜λ„ μžˆλŠ” 것이닀.

기술 뢀채에 이런 λ¬Έμ œκ°€ μžˆλ‹€λ©΄, κ·Έλƒ₯ 기술 뢀채λ₯Ό λ§Œλ“€μ§€ μ•ŠμœΌλ©΄ λ˜λŠ” 게 μ•„λ‹κΉŒ? λ¬Όλ‘  그럴 수 μžˆλ‹€λ©΄ 기술 뢀채λ₯Ό λ§Œλ“€μ§€ μ•ŠλŠ” 것이 κ°€μž₯ μ’‹κ² μ§€λ§Œ, 이것도 ν˜„μ‹€μ μœΌλ‘œ μ–΄λ €μš΄ 일이닀. 기술 뢀채λ₯Ό ν”Όν•  수 μ—†λŠ” μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™λ‹€.

λ¬Όλ‘  μ˜ˆμ‹œλ“€ 이외에도 λ‹€μ–‘ν•œ 이유둜 기술 뢀채가 λ°œμƒν•  것이닀. κ·ΈλŸ¬λ‚˜, 기술 뢀채λ₯Ό λ¬΄ν„±λŒ€κ³  μŒ“λ‹€λ³΄λ©΄ 일반 λΆ€μ±„μ²˜λŸΌ 뢀도가 λ‚˜λŠ” μƒν™©μœΌλ‘œ 악화될 수 μžˆλ‹€. λ„μ €νžˆ 손을 댈 수 μ—†λŠ” μ‹œμŠ€ν…œμ— μž₯μ• κ°€ λ°œμƒν•˜κΈ° μ‹œμž‘ν•˜λŠ” 것이닀.

이런 기술 뢀채λ₯Ό ν•΄κ²°ν•˜λŠ” 방법은 뢀채λ₯Ό 천천히 κ°šμ•„λ‚˜κ°€λŠ” 방법도 μžˆκ² μ§€λ§Œ, λΆ€μ±„μ˜ λ°œμƒμ„ μ€„μ΄λŠ” 것 λ˜ν•œ ν›Œλ₯­ν•œ μ ‘κ·Ό 방법이 될 것이닀. λ‹€μŒμ€ 기술 λΆ€μ±„μ˜ λ°œμƒμ„ μ€„μ΄λŠ” λ°©λ²•μ˜ μ˜ˆμ‹œμ΄λ‹€.

λ¬Όλ‘  기술 뢀채가 무쑰건적으둜 μ•ˆ 쒋은 것은 μ•„λ‹ˆλ‹€. 기업이 λΆ€μ±„λ§Œ κ°šλŠ” 것에 λͺ°λ‘ν•œλ‹€λ©΄, μ‹œμž₯μ—μ„œ λ„νƒœλ˜κ³  말 것이닀. λ°˜λŒ€λ‘œ 기업이 뢀채λ₯Ό μ „ν˜€ μ‹ κ²½μ“°μ§€ μ•ŠλŠ”λ‹€λ©΄, 이자λ₯Ό λ‚΄μ§€ λͺ»ν•΄ νŒŒμ‚°μ— 이λ₯Ό 것이닀. μ–΄μ°¨ν”Ό κ°œλ°œμ„ ν•˜λ‹€ 보면, 기술 λΆ€μ±„λŠ” ν”Όν•  수 μ—†λŠ” 것이닀. 기술 뢀채λ₯Ό μ μ •ν•œ μˆ˜μ€€μœΌλ‘œ μœ μ§€ν•˜λ©΄μ„œ μ„±μž₯의 원동λ ₯으둜 삼을 수 μžˆμ–΄μ•Ό ν•  것이닀.