實際上,我正在開發消息應用程序並將cassandra用作數據庫,並將kafka用作消息代理。消息應用程序的商店消息
我的問題是: 我是否需要在cassandra用戶之間存儲消息?如果我這樣做,那麼我的數據庫的大小會變得非常快。
由於我使用的是消息傳遞隊列,只要這些消息未被傳遞,消息就會被存儲。我聽說,消息傳遞應用程序(如Facebook Messanger,WhatsApp)不會將消息內容存儲在數據庫中的用戶之間,而只是使用排隊系統(XMPP,MQTT),一旦它們被釋放,就會刪除消息。所以不需要存儲在外部數據庫中。我對嗎?
什麼是最佳實踐?此外,我需要從法律角度(政府等)存儲消息內容一段時間(例如2年)嗎?
看着http://www.planetcassandra.org/apache-cassandra-use-cases/,有很多使用cassandra作爲消息傳遞應用程序的數據庫後端。但是,將cassandra用作消息隊列是一種反模式(請參閱cassandra文檔)。
我知道在cassandra中存儲消息是很好的。但是,我真的必須存儲消息嗎?爲了什麼?我是否被迫存儲這些消息(對於政府或類似的)。任何人都可以告訴我用什麼來存儲消息?我不想浪費錢,因爲我真的不需要。 – nimo23
如果你需要一個**隊列**,Cassandra並不適合。如果您需要存儲消息並將其保留一段確定的時間(一個月,一年......),Cassandra可以完成這項工作。只需根據您的業務使用情況來決定 – doanduyhai