我正在向內部網絡上的許多計算機發送大量視頻流。 我想使用消息隊列,但我不能將視頻的單播複製到每臺機器上。多播消息隊列
是否有任何消息隊列實現扇出[通過多播向多臺機器發送多份消息]?
由於這是視頻,創建幾個單播流是不可能的。
我正在向內部網絡上的許多計算機發送大量視頻流。 我想使用消息隊列,但我不能將視頻的單播複製到每臺機器上。多播消息隊列
是否有任何消息隊列實現扇出[通過多播向多臺機器發送多份消息]?
由於這是視頻,創建幾個單播流是不可能的。
首先,通過高級消息傳遞技術的視頻流可能是一個非常糟糕的主意。爲什麼你首先需要消息?你需要什麼功能?
IP多播將禁用消息傳遞系統的大多數功能,因爲每個消息都將同時傳遞。
發佈/訂閱可能是最接近在高級別MOM(RabbitMQ,ActiveMQ或其他amqp/jms兼容套件)上進行多播的設備。但我懷疑它在大多數情況下可用於視頻。
ZeroMQ是一種低級消息機制,更接近線路 - 但沒有太多MOM軟件的高級功能。它支持多播等。使用MQTT的消息系統可能重量輕,足以傳輸大量視頻。
對此JMS不確定,但你可能想看看Netty的RTSP協議實現。
RTSP:http://www.ietf.org/rfc/rfc2326.txt 的Netty:http://netty.io/4.0/api/io/netty/handler/codec/rtsp/package-summary.html
我想,我不從UDP中發現的特徵:A)Garrunteed交貨&B)在訂單交付。但我確實需要一個UDP實現來節省帶寬。類似於UDP(盡力而爲)廣播,在TCP中重試(修復錯誤)。 – eshalev
你正在談論網絡微優化 - 那麼就不用費時去用消息傳遞產品了。保證交付非常複雜 - 甚至TCP也無法實現。它實際上需要應用程序確認消息已經以某種方式處理。按照正確順序完成的操作非常緩慢,並且需要大量的網絡往返,但是您需要設計它。你可以使用ZeroMQ作爲構建這些情況的功能來實現某些功能,但我仍然會使用一些標準協議來進行視頻傳輸。像尼古拉斯的回答暗示。 –