ActionCable
Action Cable seamlessly integrates WebSockets with the rest of your Rails application. It's a full-stack offering that provides both a client-side JavaScript framework and a server-side Ruby framework
Action cable(μ΄ν μ‘μ μΌμ΄λΈ)μ websocketμ μμ°μ€λ½κ² λ μΌμ¦μμ λ€λ£° μ μκ² λμμ€λλ€.
WebSocketμ΄λ?
WebSocketμ λͺ©μ
WebSocket κΈ°μ μ λͺ©μ μ μκΈ° μν΄μλ μ°μ κ·Έ λ±μ₯ λ°°κ²½μ μ νμκ° μμ΅λλ€.
μ ν΅μ μΈ HTTP νλ‘ν μ½μμλ ν΄λΌμ΄μΈνΈ μΈ‘μμ μμ²νλ©΄ μλ²κ° μλμ μΌλ‘ μλ΅νλ μμΌλ‘ λ¨λ°©ν₯ ν΅μ λ§ ν μ μμμ΅λλ€. μ΄ κ²½μ° μλ²κ° λ°μ΄ν°λ₯Ό μ λ°μ΄νΈνλλΌλ ν΄λΌμ΄μΈνΈ μΈ‘μμ μλ²μ μ¬μμ²νμ§ μλν μ΄λ―Έ μ 곡λ°μ λ°μ΄ν°λ₯Ό μ λ°μ΄νΈ ν μ μμμ΅λλ€. λλ¬Έμ λΉλκΈ° ν΅μ μ΄ λΆκ°λ₯νμμ£ .
νμ Ajax κΈ°μ λ‘ μ΄λ° λ¬Έμ λ₯Ό ν΄κ²°νκ³ λΉλκΈ° ν΅μ μ μ΄λ μ λ ꡬνν΄λμ΅λλ€λ§, HTTP μμ²΄κ° κ°μ§λ νκ³λ‘ μΈν΄ μ¬μ ν λΉν¨μ¨μ΄ μ‘΄μ¬νμ΅λλ€.
κ°λ Ή Ajaxλ‘ λΉλκΈ° ν΅μ μ ꡬννκΈ° μν ν ν¬λμΌλ‘ ν΄λ§(Polling)κ³Ό λ‘±ν΄λ§(Long Polling)μ΄ μμλλ° λ λͺ¨λ λͺ¨λ μλ² μ¬μ΄λμμ μ λ°μ΄νΈκ° μλλ°λ ν΄λΌμ΄μΈνΈκ° μμ²μ 보λ΄μΌνλ λΉν¨μ¨μ΄ μ‘΄μ¬νμ΅λλ€. ν΄λ§ λ°©μμ νλ©΄μ μ λ°μ΄νΈνλ ν¨μλ₯Ό μΌμ μκ°λ§λ€ λμμν€λ μμ΄κ³ λ‘± ν΄λ§ λ°©μμ λ°μ΄ν° μλ΅κ³Ό λμμ λ°λ‘ μ μ μμ λ§λλ μμ΄κΈ° λλ¬Έμ λλ€.
κ·Έλ¦¬κ³ HTTP ν΅μ μμλ μμ²κ³Ό μλ΅μ λ©μΈμ§ ν€λλ₯Ό λ°λμ ν¬ν¨μμΌμΌ νκΈ° λλ¬Έμ κ²¨μ° 1λ°μ΄νΈμ μ 보λ₯Ό μ‘μμ νκ³ μΆμ λλ κΈ΄ ν€λλ₯Ό μ€μ€μ΄ μ£Όκ³ λ°μμΌνλ λΉν¨μ¨λ λ¨μμμμ£ .
κ·Έλμ μ΄λ° λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ λ±μ₯ν 'λΉλκΈ° ν΅μ μ μν νλ‘ν μ½'μ΄ Websocket(μ΄ν μΉμμΌ)μ λλ€. μΉμμΌμ μ μ ν립μ HTTPλ₯Ό μ¬μ©νμ§λ§, κ·Έ ν ν΅μ μ μΉμμΌ λ μ νλ‘ν μ½λ‘ μ΄λ£¨μ΄μ§λλ€. μ΄ λ μλ² μΈ‘μμλ ν΄λΌμ΄μΈνΈ μΈ‘μ ν΅μ μ λ¨Όμ λ³΄λΌ μ μμΌλ©° ν΄λΌμ΄μΈνΈμ μλ²κ°μ μ§μμ μΈ μ°κ²°μ΄ 보μ₯λ©λλ€. κ·Έλμ SNSλ ꡬκΈDoc κ°μ Real-time web applicatoin ꡬνμ μν΄ λ리 μ¬μ©λκ³ μμ£ .
μΉμμΌκ³Ό μ‘μ μΌμ΄λΈμ 곡ν΅μ μΌλ‘ μ°λ μ©μ΄κ° λͺκ°μ§ μμΌλ μ§κ³ λμ΄κ°μλ€.
Connections
Connections(μ΄ν 컀λ₯μ )μ ν΄λΌμ΄μΈνΈμ μλ²κ°μ κ΄κ³λ₯Ό λ»ν©λλ€. νλμ μ‘μ μΌμ΄λΈ μλ²λ λ€μμ 컀λ₯μ μΈμ€ν΄μ€λ₯Ό λ€λ£° μ μμ΅λλ€. κ·Έλ¦¬κ³ μΉμμΌ μ»€λ₯μ μ νλμ 컀λ₯μ μΈμ€ν΄μ€λΉ νλμ© ν λΉλ©λλ€. μ°Έκ³ λ‘ λ¬Όλ¦¬μ μΈ μ μ κ° ν λͺ μ΄λλΌλ μ¬λ¬ κ°μ λλ°μ΄μ€λ‘ μ ν리μΌμ΄μ μ μ μνλ©΄μ μΉμμΌμ μ μν λλ°μ΄μ€ μλ§νΌ μ΄ μ μμ΅λλ€. ex) ν΄λν°κ³Ό λ§₯λΆμΌλ‘ μ¬λμ νλ²μ μ μν κ²½μ°
Consumers
μΉμμΌ μ»€λ₯μ μ ν΄λΌμ΄μΈνΈλ₯Ό Consumer(μ΄ν 컨μλ¨Έ)λΌκ³ λΆλ¦ λλ€. μ‘μ μΌμ΄λΈμμλ ν΄λΌμ΄μΈνΈ μ¬μ΄λμ μλ°μ€ν¬λ¦½νΈ νλ μμν¬λ‘ ꡬνλ©λλ€.
Channels
κ° μ»¨μλ¨Έλ λ€μμ Channel(μ΄ν μ±λ)μ ꡬλ ν μ μμ΅λλ€.
Subscribers
컨μλ¨Έκ° μ±λμ ꡬλ νλ©΄ κ·Έ λλΆν° Subscriber(μ΄ν ꡬλ μ)κ° λ©λλ€!
Pub/Sub
Pub/Subλ κ²μμ ꡬλ μ ν¨ν΄μ λ»ν©λλ€. κ°λ¨ν λ§ν΄μ μ±λμ λ©μΈμ§λ₯Ό λ°μ νλ κ²μμκ° μκ³ , μ΄ λ©μΈμ§μ κ΄μ¬ μλ λͺ¨λ μ±λ ꡬλ μμ μΆλ ₯ μ±λλ‘ λ©μΈμ§λ₯Ό 볡μ¬ν΄μ£Όλ ν¨ν΄μ λλ€.
Broadcastings
Broadcasting(μ΄ν λΈλ‘λμΊμ€ν )μ μλ²κ° μ±λ ꡬλ μλ€μκ² λ©μΈμ§λ₯Ό 보λ΄λ κ³Όμ μ λ§ν©λλ€.
Last updated
Was this helpful?