μλ 7μμ―€, κ³ κ°μ¬μ λκ° μλ μ νμ λͺ¨λν°λ§μ λ΄λΉνλ μλ²μμ OOM(Out Of Memory) μλ¬κ° λ°μνμ΅λλ€.
μ νν μμΈμ λ¨μ μ§μ μλ μμμ§λ§, βνΉμ νλ‘ νΈμλμμ μ€μΌ μ μλ 리μμ€κ° μμ§ μμκΉ?β λΌλ μκ°μ΄ λ€μμ΅λλ€.
λ°±μλμμ λ°μν λ¬Έμ μμ§λ§, ν΄λΌμ΄μΈνΈμμλ λΆλͺ μν₯μ μ€ μ μλ μμμ΄ μμ κ²μ΄λΌ νλ¨νμ΅λλ€.
λ¬Έμ
ν λ΄λΆμμλ λ³΄ν΅ νλμ κ°λ° μλ²λ₯Ό λκ³ μμ μ ν©λλ€.
- λμ보λ ν μ¬λ¬ κ°
- κΈ°λ₯ ν μ€νΈμ© ν
- λ‘κ·Έ νμΈμ© ν
- μ΄μ νλ©΄ νμΈμ© ν
νΉν νΉμ νλ‘μΈμ€λ₯Ό μνν λ€, λμ보λλ₯Ό 보며 νν© μ²΄ν¬λ₯Ό νλ μΌμ΄ λΉλ²νμ΅λλ€.
κ·Έ κ²°κ³Ό νμ ν λͺ
λΉ μ¬λ¬ κ°μ λμ보λ νμ λμλλ μν©μ΄ μμ°μ€λ½κ² λ°λ³΅λμμ΅λλ€.
λ¬Έμ λ μ¬κΈ°μ λ°μνμ΅λλ€.
κ° νμ΄ λͺ¨λ λ 립μ μΈ WebSocket μ°κ²°μ μμ±νκ³ μμλ κ²μ λλ€.
ν μ Γ νμ μ = WebSocket 컀λ₯μ
νμ¦
λͺ¨λν°λ§ μλ² νΉμ±μ μ°κ²°μ μ€λ μ μ§λκ³ , μ€μκ° λ°μ΄ν°λ μ§μμ μΌλ‘ μ€νΈλ¦¬λ°λ©λλ€.
μ΄λ κ²°κ΅ μλ² λ©λͺ¨λ¦¬ μ¬μ©λ μ¦κ°λ‘ μ΄μ΄μ§ μλ°μ μμμ΅λλ€.
β μ²μ λ μ¬λ¦° ν΄κ²°μ±
κ°μ₯ λ¨μνκ²λ μ΄λ κ² μκ°νμ΅λλ€.
νμ΄ λΉνμ±νλλ©΄ WebSocketμ λκ³ , νμ±νλλ©΄ λ€μ μ°κ²°νλ©΄ λμ§ μμκΉ?
μ€μ λ‘ κ΅¬νν΄λ³΄μμ΅λλ€.
νμ§λ§ λ€μκ³Ό κ°μ λ¬Έμ κ° λ°μνμ΅λλ€.
- ν λΉνμ±ν β WebSocket disconnect
- λ€μ νμ±ν β reconnect
- λ°μ΄ν° μμ μ κΉμ§ UIλ Error μ°¨νΈ μν
- λ°μ΄ν° μμ ν μ μ UI 볡ꡬ
μ¦, μ¬μ©μκ° νμ μ νν λλ§λ€ UIκ° κΉ¨μ‘λ€κ° 볡ꡬλλ κ²½νμ νκ² λμμ΅λλ€.
μ΄λ λͺ
λ°±ν μ¬μ©μ κ²½ν(UX)μ ν΄μΉλ λ°©μμ΄μμ΅λλ€.
νΉν μ€μκ° λͺ¨λν°λ§ λμ보λμμλ λμ± μΉλͺ
μ μ΄μμ΅λλ€.
π‘ μ νμ β Toss Slash 2024
κ·Έλ¬λ μ€ Toss Slash 2024μμ
SharedWorkerλ₯Ό νμ©ν΄ λ€μ€ νμ WebSocket μ°κ²°μ νλλ‘ μ€μνν μ¬λ‘λ₯Ό μ νκ² λμμ΅λλ€.
κ·Έλ μ²μμΌλ‘ μ΄λ° μκ°μ΄ λ€μμ΅λλ€.
μΈμμλ λ΄κ° λͺ¨λ₯΄λ κ²μ΄ λ무 λ§κ΅¬λ ..
λΈλΌμ°μ Worker μ€ νλμΈ SharedWorkerλ μ¬λ¬ νμμ νλμ Worker μΈμ€ν΄μ€λ₯Ό 곡μ ν μ μμ΅λλ€.
μ¦ λ€μκ³Ό κ°μ κ΅¬μ‘°κ° κ°λ₯ν©λλ€.
ν (100κ°)
β
SharedWorker
β
WebSocket μ°κ²° (1κ°)
νμ΄ λͺ κ°μ΄λ , WebSocket μ°κ²°μ λ¨ νλλ§ μ μ§λ©λλ€.
π μ μ© κ²°μ¬
μ΄ κ΅¬μ‘°λΌλ©΄ λ€μκ³Ό κ°μ μ₯μ μ΄ μμ΅λλ€.
- νμ΄ λͺ λ°±κ°μ¬λ WebSocketμ 1κ°
- μλ² μ»€λ₯μ μ κ°μ
- UX μ ν μμ
- μ€μκ° λ°μ΄ν° μ μ§ κ°λ₯
μ΄κ±°λ€ λΌλ μκ°μ΄ λ€μκ³ , SharedWorkerλ₯Ό μ κ·Ήμ μΌλ‘ μ μ©ν΄λ³΄κΈ°λ‘ κ²°μ νμ΅λλ€.
μμ±μ€μ΄μμ ( 02/12 )