Quels sont les frameworks de file d'attente de messages Python ? Voici quelques frameworks de files d'attente de messages utiles :
RabbitMQ
est une file d'attente de messages open source écrite en Erlang. Elle prend en charge de nombreux protocoles : AMQP, XMPP, SMTP, STOMP Cela le rend très lourd et plus adapté au développement au niveau de l'entreprise. Dans le même temps, une architecture de courtier (Broker) est mise en œuvre, ce qui signifie que les messages sont d'abord mis en file d'attente dans la file d'attente centrale lorsqu'ils sont envoyés au client. Il prend en charge le routage, l’équilibrage de charge ou la persistance des données.
Redis
est une base de données NoSQL à valeur clé. Le développement et la maintenance sont très actifs, bien qu'il s'agisse d'une base de données NoSQL à valeur clé. système de stockage, mais il prend lui-même en charge la fonction MQ, il peut donc être utilisé comme un service de file d'attente léger. Pour les opérations de mise en file d'attente et de sortie de file d'attente de RabbitMQ et Redis, chacune est exécutée 1 million de fois et le temps d'exécution est enregistré toutes les 100 000 fois. Les données de test sont divisées en quatre tailles différentes de 128 octets, 512 octets, 1 Ko et 10 Ko. Les expériences montrent que lors de l'entrée dans la file d'attente, les performances de Redis sont supérieures à celles de RabbitMQ lorsque les données sont relativement petites, mais si la taille des données dépasse 10 Ko, Redis est insupportablement lent à la sortie de la file d'attente, Redis affiche de très bonnes performances indépendamment ; la taille des données et les performances de sortie de file d'attente de RabbitMQ sont bien inférieures à celles de Redis.
Recommandations associées : "tutoriel vidéo Python"
ZeroMQ
est connu comme système de file d'attente de messages le plus rapide, en particulier pour les scénarios de demande à haut débit. ZMQ peut implémenter des files d'attente avancées/complexes pour lesquelles RabbitMQ n'est pas doué, mais les développeurs doivent combiner eux-mêmes plusieurs cadres techniques. La complexité technique est un défi pour l'application réussie de MQ. ZeroMQ a un modèle unique sans middleware, vous n'avez pas besoin d'installer et d'exécuter un serveur de messages ou un middleware, car votre application jouera ce rôle de service. Il vous suffit de référencer la bibliothèque ZeroMQ, qui peut être installée à l'aide de NuGet, et vous pourrez ensuite facilement envoyer des messages entre applications. Mais ZeroMQ ne fournit que des files d'attente non persistantes, ce qui signifie que si la machine tombe en panne, les données seront perdues. Parmi eux, Storm de Twitter utilise ZeroMQ comme transmission de flux de données.
ActiveMQ
est un sous-projet sous Apache. Semblable à ZeroMQ, il peut implémenter des files d’attente avec une technologie de courtier et peer-to-peer. Dans le même temps, à l’instar de RabbitMQ, il peut implémenter efficacement des scénarios d’application avancés avec une petite quantité de code. RabbitMQ, ZeroMQ et ActiveMQ prennent tous en charge les clients multilingues couramment utilisés C++, Java, .Net, Python, Php, Ruby, etc.
Jafka/Kafka
est un système de file d'attente de messages de publication/abonnement distribué multilingue hautes performances, et Jafka est basé sur Kafka Incubated ci-dessus, il s'agit d'une version améliorée de Kafka. Il présente les caractéristiques suivantes : une persistance rapide, qui peut conserver les messages avec une surcharge du système O(1) ; un débit élevé, qui peut atteindre un débit de 10 W/s sur un serveur ordinaire, un courtier, un producteur et un consommateur ; tous prennent en charge la distribution de manière native et automatique et atteignent automatiquement un équilibre complexe ; prennent en charge le chargement parallèle des données Hadoop, ce qui constitue une solution réalisable pour les données de journaux et les systèmes d'analyse hors ligne comme Hadoop qui nécessitent des limitations de traitement en temps réel. Kafka unifie le traitement des messages en ligne et hors ligne grâce au mécanisme de chargement parallèle de Hadoop, ce que valorise également le système étudié dans ce projet. Apache Kafka est un système de messagerie très léger par rapport à ActiveMQ. En plus de très bonnes performances, c'est également un système distribué qui fonctionne bien.
Rocketmq
RocketMQ est un middleware de messagerie distribué open source créé par Alibaba en 2012 et qui a été offert à l'Apache Software Foundation. , et est devenu un projet de premier niveau d'Apache le 25 septembre 2017. En tant que middleware domestique qui a connu de nombreux « super projets » tels que Double Eleven d'Alibaba et a atteint des performances stables et exceptionnelles, il a été utilisé par de plus en plus de personnes ces dernières années en raison de ses hautes performances, de sa faible latence et de sa haute fiabilité. par les entreprises nationales.
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!