DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Uncategorized»RabbitMQ contre Memphis.dev – DZone
    Uncategorized

    RabbitMQ contre Memphis.dev – DZone

    janvier 30, 2023
    RabbitMQ contre Memphis.dev - DZone
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Qu’est-ce que RabbitMQ ?

    RabbitMQ est une file d’attente de messagerie légère et facile à déployer pour les environnements sur site et cloud. Il prend en charge plusieurs protocoles de messagerie. RabbitMQ peut être déployé dans des configurations distribuées et fédérées pour répondre aux exigences de haute disponibilité et à grande échelle.

    Qu’est-ce que Memphis.dev ?

    Memphis est un courtier de messages de nouvelle génération.

    Un courtier de messages cloud natif simple, robuste et durable, entouré d’un écosystème complet qui permet un développement rapide et fiable de cas d’utilisation événementiels de nouvelle génération.

    Memphis.dev permet de créer des applications de nouvelle génération qui nécessitent de gros volumes de données en streaming et enrichies, des protocoles modernes, zéro opération, un développement rapide, une réduction extrême des coûts et un temps de développement nettement inférieur pour les développeurs et les ingénieurs de données orientés données.

    Memphis contre RabbitMQ


    Général

    Paramètre

    Memphis.dev

    LapinMQ

    Memphis + MongoDB (MDB est en cours de suppression)

    Modèle de consommation de messages

    Licence

    Les deux technologies sont disponibles sous des licences entièrement open source. Memphis dispose également d’une distribution commerciale avec une sécurité accrue, un stockage hiérarchisé, etc.

    Composants

    Memphis utilise MongoDB pour la gestion de l’état de l’interface graphique uniquement et sera bientôt supprimé, ce qui rendra Memphis sans aucune dépendance externe. Memphis et RabbitMQ parviennent à un consensus en utilisant RAFT.

    Modèle de consommation de messages

    RabbitMQ utilise une approche basée sur le push, synonyme de systèmes de messagerie traditionnels.

    Memphis utilise une architecture basée sur l’extraction dans laquelle les consommateurs extraient les messages du serveur, et l’interrogation longue garantit que les nouveaux messages sont mis à disposition instantanément.

    Les architectures basées sur l’extraction sont souvent préférables pour les charges de travail à haut débit, car elles permettent aux consommateurs de gérer leur contrôle de flux, en récupérant uniquement ce dont ils ont besoin.

    Architecture de stockage

    RabbitMQ utilise des systèmes de stockage basés sur des index. Ceux-ci conservent les données dans une structure arborescente pour fournir l’accès rapide nécessaire à l’acquittement des messages individuels.

    Memphis utilise un journal de validation distribué appelé streams (créé par NATS Jetstream) comme couche de stockage, qui peut être entièrement écrit sur la mémoire ou le disque du courtier (serveur). De plus, Memphis résume les décalages par défaut, de sorte que la sauvegarde d’un enregistrement des décalages utilisés réside sur Memphis et non sur le client.

    Messagerie

    Paramètre

    Memphis.dev

    LapinMQ

    300K messages par seconde par station (file d’attente).

    Messages 4K-10K par seconde

    Basé sur une politique (par exemple, 30 jours)

    Transactionnel, Opérationnel

    Courtier intelligent/consommateur intelligent

    Courtier intelligent/consommateur stupide

    Type d’échange : direct, diffusion, sujet, basé sur l’en-tête

    Données massives/cas à haut débit | Cas d’utilisation simples

    Au moins une fois, Exactement une fois

    Surtout en ce qui concerne les transactions utilisant une seule file d’attente, cela ne garantit pas l’atomicité.

    La commande des messages est fournie via des groupes de consommateurs. Par touche de message, les messages sont envoyés aux stations.

    Vous pouvez définir des priorités de message dans RabbitMQ et consommer les messages dans l’ordre de priorité le plus élevé.

    Étant donné que les messages de la station sont conservés dans un fichier/mémoire. Cela peut être contrôlé en définissant une politique de rétention.

    Étant donné que RabbitMQ est une file d’attente, les messages sont supprimés après avoir été lus et un accusé de réception est donné.

    Espaces de noms incluant la sélection de nœud *

    Répartition des données sur les nœuds

    *Disponible pour les utilisateurs du cloud de Memphis.

    Flux de données

    RabbitMQ utilise un flux de données distinct et limité. Les messages sont créés et envoyés par le producteur et reçus par le consommateur. Memphis utilise un flux de données illimité, les paires clé-valeur étant diffusées en continu vers la station attribuée.

    L’utilisation de données

    RabbitMQ est idéal pour les données transactionnelles, telles que la formation des commandes, le placement et les demandes des utilisateurs. Memphis fonctionne parfaitement pour les données transactionnelles et opérationnelles telles que les opérations de processus, les statistiques d’audit et de journalisation et l’activité du système.

    Rétention des messages

    RabbitMQ envoie des messages aux consommateurs. Ces messages sont supprimés de la file d’attente une fois qu’ils sont traités et reconnus. Memphis est un journal. Il utilise des messages continus, qui restent dans la station (file d’attente) jusqu’à l’expiration de la période de rétention.

    Topologie

    RabbitMQ utilise la topologie de file d’attente d’échange – en envoyant des messages à un échange où ils sont, à leur tour, acheminés vers diverses liaisons de file d’attente à l’usage du consommateur. Memphis utilise la topologie de publication/abonnement, envoyant des messages à travers les flux aux stations appropriées, puis consommés par les utilisateurs dans les différents groupes autorisés.

    Différences architecturales

    Lors du choix entre Memphis et RabbitMQ, les opérations internes et la conception fondamentale peuvent être des considérations essentielles.

    Les composants de l’architecture de RabbitMQ sont les suivants :

    • File d’attente: Il est chargé de garder une trace des messages qui ont été reçus et peut avoir des données de configuration qui spécifient ce qu’il peut faire avec un message.
    • Échanger: Un échange reçoit les messages envoyés à RabbitMQ et détermine où ils doivent être transférés. Les échanges définissent les stratégies de routage utilisées pour les messages, le plus souvent en examinant les caractéristiques des données transmises avec le message ou incluses dans ses attributs.
    • Producteur: Produit des messages et les envoie à un serveur courtier (publie). Une charge utile et une étiquette sont les deux composants d’un message. Les données que l’utilisateur souhaite transmettre constituent la charge utile. L’étiquette spécifie qui doit recevoir une copie du message et décrit la charge utile.
    • Consommateur: Il s’abonne à une file d’attente et est connecté à un serveur de courtage.
    • Courtier: Les applications peuvent échanger des informations et communiquer entre elles via un courtier.
    • Contraignant: Il indique à un échange quelles files d’attente pour distribuer les messages. De plus, la liaison demandera à l’échange de filtrer les messages qu’il est autorisé à ajouter à une file d’attente pour des types d’échange spécifiques.

    L’architecture de Memphis est conçue à l’aide des composants suivants :

    • Répliques: L’un des éléments les plus cruciaux de Memphis est la réplication, qui garantit que les messages sont publiés et consommés même lorsque le courtier rencontre un problème.
    • RADEAU: Il maintient la coordination des données entre les courtiers, tels que la configuration, l’emplacement, les données et les détails d’état.
    • Producteur: Les producteurs poussent ou publient des messages vers une station Memphis créée sur un courtier Memphis. Les producteurs peuvent également envoyer des messages à un courtier de manière synchrone ou asynchrone.
    • Consommateurs : Individus qui s’abonnent à une station de Memphis et en tirent des messages. Memphis permet de stocker les données sur des plates-formes de stockage supplémentaires utilisées par les programmes de traitement des transactions en ligne (OLTP) en plus des disques internes et de la mémoire.
    • Courtier: Agit en tant que serveur ou courtier Memphis. Le nombre de flux pour chaque message est défini en fonction de l’ordre dans lequel le courtier stocke les messages.

    Évolutivité et redondance

    RabbitMQ utilise une file d’attente circulaire pour répéter les messages. Les messages sont répartis entre les files d’attente pour augmenter le débit et équilibrer la charge. De plus, il permet à de nombreux consommateurs de lire simultanément des messages provenant de différentes files d’attente.

    À Memphis, l’évolutivité et la redondance sont fournies par les objets de flux. Le flux est dupliqué sur de nombreux courtiers. En cas de défaillance de l’un des courtiers, les données peuvent toujours être servies par un autre courtier.

    Si les données sont stockées dans un seul courtier, la dépendance vis-à-vis de ce courtier augmentera, ce qui est dangereux et augmente la probabilité qu’il échoue. De plus, la distribution des flux améliorera considérablement le débit.

    Multi-région/Multi-Cloud

    La capacité de disponibilité la plus élevée dans RabbitMQ est les files d’attente de cluster et de quorum, qui permettent la réplication entre nœuds.

    Outre la mise en miroir et la répartition des stations sur plusieurs courtiers, cela peut finalement s’étendre sur les AZ. Les partenaires et les utilisateurs du cloud Memphis peuvent établir un super-cluster Memphis entre les régions dans une topologie active/passive.
    Super-cluster Memphis à travers les régions dans une topologie active/passive.

    Locations multiples

    LapinMQ est un système multi-tenant : les connexions, les échanges, les files d’attente, les liaisons, les autorisations des utilisateurs, les politiques et d’autres éléments appartiennent à des hôtes virtuels et à des groupes logiques d’entités.

    LapinMQ

    Memphis prend en charge la multilocation à l’aide d’espaces de noms qui offrent une séparation complète des connexions, des producteurs, des consommateurs, de la sécurité, du tableau de bord dédié, y compris la sélection des nœuds.

    Bande de file d’attente

    Toutes les données/états requis pour faire fonctionner un courtier RabbitMQ sont répliqués sur tous les nœuds. Une exception est…

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.