2016-03-08 1 views
1

En fait, je développe une application de messagerie et utilise cassandra comme base de données et kafka comme un courtier de messages.stocker des messages de l'application de messagerie

Ma question est: Dois-je stocker les messages entre les utilisateurs de cassandra? Si je le fais, la taille de ma base de données augmentera très rapidement. Comme j'utilise une file d'attente de messagerie, les messages sont stockés tant que ceux-ci n'ont pas été livrés. J'ai entendu, que les applications de messagerie (comme Facebook Messanger, WhatsApp) ne stocke pas le contenu du message entre les utilisateurs dans une base de données, mais seulement utiliser un système de mise en file d'attente (XMPP, MQTT) qui supprime les messages dès qu'ils sont déliés. Donc, pas besoin de stocker dans une base de données externe. Ai-je raison?

Quelle est la meilleure pratique? En outre, ai-je besoin de stocker le contenu de la messagerie du point de vue juridique (gouvernement ou autre) pour une période de temps (par exemple, 2 ans)?

En regardant http://www.planetcassandra.org/apache-cassandra-use-cases/, il y a beaucoup d'utilisation de cassandra comme backend de base de données pour les applications de messagerie. Cependant, c'est un anti-modèle d'utiliser cassandra comme une file d'attente de message (voir cassandra docs).

Répondre

1

En utilisant Cassandra comme une file d'attente est clairement un modèle de lutte contre

Cependant Cassandra est un bon moyen de stocker les messages, lire mon blog sur KillrChat: http://www.doanduyhai.com/blog/?p=1859 pour un modèle de données possible pour le stockage des messages

+0

Je sais que stocker des messages dans Cassandra est bon. Cependant, dois-je vraiment stocker les messages? Pour quoi? Suis-je obligé de stocker les messages (pour le gouvernement ou similaire). Quelqu'un peut-il me dire utilise des cas pour ce dont j'ai besoin pour stocker les messages? Je ne veux pas gaspiller de l'argent pour ce dont je n'ai pas vraiment besoin. – nimo23

+0

Si vous avez besoin d'une ** file d'attente **, Cassandra ne vous convient pas. Si vous avez besoin de stocker des messages et de les conserver pendant une période déterminée (un mois, une année, ...), Cassandra peut faire le travail. Décidez simplement en fonction de votre utilisation professionnelle – doanduyhai