2014-11-03 57 views
0

在新的聊天項目上工作,我們希望使用RabbitMQ來傳輸消息。RabbitMQ - 如何爲新消費者保存消息

因此,RabbitMQ可以將所有消息保存在隊列或其他地方,當有新用戶(消費者)來時,RabbitMQ可以將保存的消息刷新到新用戶?

回答

1

如果您使用持久隊列,rabbitmq可以存儲消息(消息存儲在相同的mnesia-db路徑中)。所以假設每個用戶都有一個自己的隊列,當用戶上線的時候可以下載這些消息。

無論如何,我不認爲這是一個好主意,使用rmq來推送聊天消息。還有其他適當的技術,如MQTT,XMPP。

我建議閱讀這篇文章: using rabbitmq in android for chat

+0

RabbitMQ **不在Mnesia **上存儲消息。 – 2014-11-10 21:53:20

+1

@old_sound你是對的,我修改了答案。 – Gabriele 2014-11-10 22:31:37

+0

真棒,謝謝! – 2014-11-10 22:48:46

0

你必須做教程Get Started瞭解RabbitMQ的,爲什麼你的問題不應該問:)

的RabbitMQ是一個消息代理。主要想法非常簡單:它接收並轉發消息 。您可以將其視爲 辦公室:當您向郵箱發送郵件時,您可以確信郵遞員最終會將郵件發送給收件人。使用這個 比喻RabbitMQ是一個郵政信箱,一個郵局和一個郵遞員。

+0

因此,使用RabbitMQ的是不是一個聊天程序一個好主意?因爲它會將郵件轉發給我的收件人,並且沒有副本。 – 2014-11-03 10:31:50

+0

在這裏你可以看到這個用例:http://videlalvaro.github.io/2011/05/rabbitmq-chat-post-mortem.html – WBAR 2014-11-03 10:34:34