我意识到actioncable不guarantee messages are seen in sending order。但它至少能保证所有客户端都能以相同的顺序看到消息吗?我假设它是这样的,因为它通过Redis pubsub,我知道Redis是单线程的,但我想确定一下。
我意识到actioncable不guarantee messages are seen in sending order。但它至少能保证所有客户端都能以相同的顺序看到消息吗?我假设它是这样的,因为它通过Redis pubsub,我知道Redis是单线程的,但我想确定一下。
1条答案
按热度按时间1sbrub3j1#
来自
pubsub
适配器的每条消息(例如ActionCable::SubscriptionAdapter::Redis
)在单独的线程中使用Server#worker_pool进行处理并交付给所有订阅者因此,答案是否定的。对于特定的客户端,消息的传递顺序与发布顺序不同。并且对于订阅相同广播的多个客户端,接收到的消息的排序也将不相同。