Maison  >  Article  >  base de données  >  La différence entre Redis et Kafka

La différence entre Redis et Kafka

(*-*)浩
(*-*)浩original
2019-06-18 09:59:319398parcourir

La plus grande différence entre Kafka et Redis PUB/SUB est que Kafka est un système complet, tandis que Redis PUB/SUB n'est qu'une suite (utilitaire) - n'en déplaise à Redis, après tout, sa fonction principale n'est pas PUB /SOUS.

La différence entre Redis et Kafka

redis message push (basé sur un pub/sub distribué) est principalement utilisé pour le push de messages avec des performances en temps réel élevées . Fiabilité garantie. (Apprentissage recommandé : Tutoriel vidéo Redis)
Les autres mq et kafka sont garantis fiables mais présentent certains retards (les systèmes non temps réel ne garantissent pas les retards). Redis-pub/sub sera effacé lorsque l'alimentation est coupée. Bien que l'utilisation de redis-list comme message push ait une persistance, elle est trop faible et pas complètement fiable et ne sera pas perdue.

Un autre point, en plus de représenter différents sujets, redis publier et s'abonner ne prend pas en charge le regroupement. Par exemple, lorsque Kafka publie quelque chose, plusieurs abonnés peuvent être regroupés et un seul abonné du même groupe recevra le. message Messages, qui peuvent être utilisés pour l’équilibrage de charge.

Redis, c'est avant tout une base de données en mémoire. La fonction PUB/SUB qu'il propose stocke les messages en mémoire (en fonction des canaux), donc si vos exigences de persistance des messages ne sont pas élevées et le back-end. application Si vous disposez d'un fort pouvoir d'achat, l'utilisation de Redis PUB/SUB est un scénario d'utilisation plus approprié. Par exemple, le site officiel fournit un exemple de salon de discussion en ligne : simulez IRC, car le canal est le serveur dans IRC. L'utilisateur établit une connexion, publie des messages sur le canal et reçoit des messages d'autres utilisateurs. Ces exigences de persistance ne sont pas élevées et il suffit d'utiliser Redis PUB/SUB.

Kafka est un système complet qui fournit un journal de soumission distribué à haut débit (en raison de la fourniture de Kafka Connect et de Kafka Streams, le site officiel actuel de Kafka s'est révisé pour devenir une distribution Un traitement de streaming plateforme, l'ambition de Kafka se voit aussi ici :-). En plus de la file d'attente de messages p2p, il fournit bien entendu un modèle de message PUB/SUB. De plus, Kafka assure la persistance des messages par défaut, garantissant ainsi que les messages ne sont pas perdus (du moins dans la plupart des cas). De plus, étant donné que les métadonnées de consommation sont stockées du côté du consommateur, celui-ci dispose d’une grande liberté de consommation. Un consommateur peut consommer des messages de manière séquentielle ou consommer à nouveau des messages précédemment traités. Ce sont des choses que Redis PUB/SUB ne peut pas faire.

Scénarios d'utilisation de Redis PUB/SUB :

1. Les exigences de persistance des messages ne sont pas élevées
2. élevé
3. Peut tolérer la perte de données
4. La quantité de données n'est pas importante

Scénarios d'utilisation de Kafka :

Autres scénarios en plus de ceux ci-dessus : )
1. Haute fiabilité
2. Débit élevé
3. Haute durabilité
4. Modèle de traitement de consommation diversifié

Pour plus d'articles techniques liés à Redis, veuillez visiterIntroduction. à l'utilisation du didacticiel de base de données Redis colonne pour apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn