← Graph

Action Cable

tool 10 connections

Framework bundled with Rails for real-time web applications. Composed of four parts: a WebSocket server (runs inside the Rails process, Rack-compatible), a broadcaster that pushes messages to subscribed streams, a channels framework (controller-like DSL with callbacks), and clients (built-in JavaScript plus third-party). Strengths: zero-setup via `rails new`, no separate Ruby process needed (unlike earlier EventMachine solutions), and a smart JS client that handles reconnect/resubscribe. Weaknesses: WebSocket-only (no fallbacks, problematic for ~3–6% of users on old browsers), high memory usage vs Erlang/Go equivalents (improved somewhat in Ruby 2.5), and broadcast latency that grows quickly past a few thousand subscribers — even with 8 workers on an 8-CPU machine. Can saturate a 16-core c4.4xlarge at moderate load.

category
framework
about
Action Cable tool
Deep dive into Action Cable's architecture, strengths, and weaknesses.
about
Action Cable tool
Case study describes prior Action Cable memory problems.
about
Action Cable tool
Used to measure Action Cable broadcast latency.
about
Action Cable tool
Limitation of Action Cable at scale.
about
Action Cable tool
The WebSocket variant is delivered over Action Cable and is Rails-specific.
tool Action Cable
related_to
Cited as a root cause of Action Cable's concurrency limits.
project LiteCable
related_to
Action Cable tool
Implements the same protocol as Action Cable without Rails dependency.
related_to
Action Cable tool
WebSocket Turbo Streams are Rails-specific broadcasts delivered over Action Cable.
tool Action Cable
uses
WebSockets concept
Action Cable is a WebSocket-only server.
tool Action Cable
uses
Ruby tool
Runs inside MRI Ruby, inheriting GIL-related limitations.

Provenance

Read by
33 extractions