Maison développement back-end tutoriel php Scénarios d'utilisation courants des files d'attente de messages en PHP

Scénarios d'utilisation courants des files d'attente de messages en PHP

Mar 28, 2018 pm 01:37 PM
php 使用 场景

La file d'attente des messages MQ est essentiellement une file d'attente. Son opération la plus simple est de rejoindre et de retirer la file d'attente. Elle détermine quand et quelles conditions rejoindre la file d'attente et quand et quelles conditions retirer selon le programme. En d'autres termes, si vous rencontrez un scénario dans lequel les exigences métier du système de mise en file d'attente et du système de retrait de la file d'attente sont incohérentes, vous pouvez envisager d'utiliser des files d'attente de messages pour l'implémenter. Il existe de nombreux scénarios applicables. Voici quelques scénarios et explications courants.


1 : Traitement asynchrone, découplage applicatif, distribué

Scénario : Les résultats du traitement de l'activité principale sur la sous-activité ne sont pas les mêmes quand vous vous en souciez.

Cas : La relation entre le système de commande, le système logistique, le système financier et le système d'enregistrement du journal des opérations dans le système de commerce électronique.

Explication populaire : Xiao Ming est vendeuse de pâtisserie. Après avoir préparé le gâteau, il le plaçait dans la vitrine, marquait « terminé » sur la commande correspondante, puis continuait à préparer le gâteau suivant. Il ne se souciait pas de savoir comment ou quand le gâteau serait vendu.
Mise en œuvre : utilisez un middleware de file d'attente ou un système intermédiaire pour stocker les parties communes de plusieurs systèmes d'entreprise et les traiter indépendamment. La progression du traitement de chaque système peut être enregistrée à l'aide de sa propre balise indépendante. Une fois que tous les systèmes ont terminé leurs opérations, effectuez des opérations de retrait de la file d'attente ou conservez le stockage des données.

Remarque : La tolérance aux catastrophes des données intermédiaires doit être prise en compte pour garantir que le processus métier peut être restauré en cas de panne et est récupéré. Assurez-vous que chaque élément de données peut être traité correctement.

Scénarios dutilisation courants des files dattente de messages en PHP

2 : Traitement des pointes

Scénario : Le trafic est déséquilibré à différents moments

Cas : flash vente, Rush pour acheter

Explication : Xiao Ming met beaucoup de temps à faire des gâteaux Une fois la commande arrivée, il l'enregistre d'abord dans une liste, puis la prépare un par un dans l'ordre. est trop grand, un panneau « épuisé » s'affichera temporairement.

Mise en œuvre : utilisez des outils monothread pour mettre en file d'attente les exigences métier. Lorsque la demande commerciale atteint le seuil, une invite conviviale est émise et la demande de l'utilisateur est rejetée.

Remarque : En cas de demande de pointe, vous pouvez publier des invites telles que « Temporairement indisponible à l'achat, veuillez patienter » pendant les périodes de pointe afin d'éviter que le trafic n'ait un impact sur les activités ultérieures. Pour des besoins tels que les ventes flash qui s'arrêtent dès qu'elles sont disponibles, le problème de surémission doit être pris en compte. Vous pouvez ajouter un compteur de quota ou émettre une marque d'achèvement de vente flash lorsque le quota de vente flash est plein. le programme de traitement ultérieur détecte la marque d'achèvement, le traitement ultérieur sera effectué.
Scénarios dutilisation courants des files dattente de messages en PHP

3 : Garantie de livraison

Scénario : Le contenu doit être strictement exécuté un par un et l'exécution est garantie de réussir Quand. l'exécution échoue ou est interrompue, vous pouvez Récupération

Cas : Systèmes bancaires et financiers, systèmes qui doivent améliorer les capacités de reprise après sinistre

Explication : Le gâteau fabriqué par Xiao Ming doit être inspecté et signé par le client avant qu'il puisse continuer à réaliser le prochain gâteau.

Mise en œuvre : une fois que le système de file d'attente a écrit les exigences commerciales dans la file d'attente des messages, il passera au traitement commercial suivant. Le programme de traitement ultérieur traite le contenu de la file d'attente un par un et délivre un « permis complet » une fois le traitement terminé. Le contenu de la file d'attente des messages ne peut être supprimé de la file d'attente des messages qu'après avoir obtenu l'« Autorisation complète ».

Remarque : Concentrez-vous sur les problèmes liés à la reprise après sinistre, tels que les problèmes de reprise d'activité et les problèmes de traitement répétés.
Scénarios dutilisation courants des files dattente de messages en PHP

Quatre : Garantie de tri

Scénario : Le contenu de la file d'attente des messages a un ordre strict.

Cas : Système de file d'attente et d'attente

Explication : Xiao Ming doit suivre strictement l'ordre de préparation des gâteaux.

Mise en œuvre : le système de file d'attente écrit le contenu dans la file d'attente des messages un par un, les organise sur une seule ligne et extrait les données dans l'ordre premier entré, premier sorti pour un traitement ultérieur.

Remarque : vous devez utiliser un seul thread pour garantir qu'il n'y a qu'une seule ligne de production.
Scénarios dutilisation courants des files dattente de messages en PHP

Cinq : Évolutivité

Scénario : Ajouter de nouveaux abonnés lors de l'utilisation du mode publication-abonnement
Cas : Après avoir enregistré un utilisateur, dans le modèle d'envoi de messages texte réussi, ajoutez une fonction d'envoi d'e-mail
à mettre en œuvre : plusieurs consommateurs s'abonnent à la couche intermédiaire d'un message, puis l'éditeur publie les informations sur la couche intermédiaire. Les consommateurs qui s'abonnent à cette couche intermédiaire peuvent recevoir ce message et effectuer un traitement ultérieur. dans cette structure. Si vous souhaitez ajouter un composant de traitement ultérieur des messages, il vous suffit d'abonner ce composant à la couche intermédiaire
Remarque : assurez-vous qu'il n'y a pas de couplage profond entre les entreprises pour éviter les interférences lors de l'expansion.
Scénarios dutilisation courants des files dattente de messages en PHP


Ci-dessus sont plusieurs scénarios couramment utilisés pour les files d'attente de messages. Les files d'attente de messages peuvent atténuer les différences entre les systèmes et améliorer la stabilité du système.

Lors de la sélection du support de file d'attente de messages, il est recommandé aux étudiants de ne pas avoir à maximiser les conditions et les objectifs au début. Quelles conditions doivent être utilisées pour résoudre parfaitement le problème ? Le programme nécessite encore une maintenance à long terme. et processus d'optimisation.

Bien que la dégradation des performances de Redis soit encore très grave lorsque le trafic est élevé et qu'une grande quantité de données persistantes est requise, il est toujours recommandé d'apprendre les files d'attente de Redis. Dans le cours, vous ne comprenez que le. application des files d'attente en changeant le processus. Scénarios et idées, tout projet en ligne est constamment optimisé et amélioré si vous souhaitez résoudre parfaitement tous les problèmes grâce à un ensemble de vidéos, je suis désolé de ne pas pouvoir le faire. les scénarios d'application de chaque travail sont différents, il existe donc différents. Ils seront améliorés en fonction des besoins spécifiques en cas de besoin.

Lorsque vous évaluez la demande de file d'attente, vous devez ajouter un champ de compteur lorsque vous jugez l'application des conditions de file d'attente. Jugez la longueur de la file d'attente actuelle à chaque fois qu'elle est poussée dans la file d'attente si le nombre dépasse la vente flash limitée. numéro, il n’entrera pas dans le programme de file d’attente.

En utilisation réelle, il n'est pas nécessaire de rechercher délibérément où les files d'attente de messages doivent être ajoutées. Au lieu de cela, il devrait être raisonnablement choisi et utilisé en fonction de la situation réelle lors de la séparation et du découplage des entreprises, ainsi que de certaines exigences particulières.

Recommandations associées :

Explication détaillée de la file d'attente de messages PHP

Implémentation et application de la file d'attente de messages en PHP

Partage d'exemples de classes de file d'attente de messages PHP

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous comprendrons les variables d'environnement, la configuration générale, la configuration de la base de données et la configuration de la messagerie dans CakePHP.

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

CakePHP travaillant avec la base de données CakePHP travaillant avec la base de données Sep 10, 2024 pm 05:25 PM

Travailler avec la base de données dans CakePHP est très simple. Nous comprendrons les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) dans ce chapitre.

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Dans ce chapitre, nous allons apprendre les sujets suivants liés au routage ?

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

See all articles