Messagerie middleware au consommateur comment faire des échecs de traitement des messages? La réponse « out »!

annuaire

1, la question de l'entrevue de plus en plus populaire est demandé

2, le système middleware de messagerie utilisé dans la production de

3, la production du cas classique: boîte d'expédition enfance APP

4, en utilisant les files d'attente de lettres mortes: un message traitement a échoué

5, résumé

Ce nombre public commuté: civettes technologie de litière

1, la question de l'entrevue de plus en plus populaire est demandé

Beaucoup maintenant en ligne face à des questions, principalement pour la technologie elle-même Des questions comme: Parlez-vous à la compréhension de Dubbo? Dites-nous ce distribué des transactions?

Ces problèmes comme examens du secondaire pour envoyer des sous-thèmes, tels que la poésie de la dictée, tant que vous vous préparez, faire quelque chose, ne rien problème.

Voici donc une question pour la technologie elle-même, en fait, ce qui équivaut à envoyer des sous-thèmes, principalement à faire une distinction fondamentale. Pouvez-vous y répondre, que vous au moins aussi généralement attention à l'accumulation des connaissances, pas un ingénieur gaffe.

Mais maintenant, de l'entretien, en particulier les fabricants d'entretien de plus en plus difficile, à partir de la précédente connaissances techniques générales lui-même, maintenant à étudier de nombreux environnements de production vous des conditions spéciales.

Cela a commencé à examiner votre pratique spécifique et l'expérience accumulée par l'accumulation de connaissances antérieures et récitent, à nos jours.

Par exemple, peut maintenant être un enquêteur de beaucoup si Q: Lorsque vous utilisez le projet à Dubbo, n'a pas rencontré de problèmes techniques? Dubbo timeout mis en place le service dans la façon générale? Les appels de service entre l'expérience générale temporisations faire? Qu'advient-il si un délai d'attente?

Comme cette question, vous êtes dans l'étude de l'expérience pratique dans une technologie, qui a actuellement de plus en plus au centre de l'entrevue.

Par conséquent, cet article sera interviewé par une fréquence élevée dans la question classique: Messagerie middleware processus de consommation de nouvelles a échoué comment faire?

Avec ce titre de la plage classique d'élaborer sur cette question. Nous devons penser à l'angle à partir duquel faire Mauvaise réponse.

2, le système middleware de messagerie utilisé dans la production de

Cette question est un environnement de production très typique, de nombreuses entreprises utilisent le MQ dans le système de production, la file d'attente de messages, ou middleware de messagerie.

En d'autres termes, lorsque la communication entre un système avec un autre système, si le système A veut envoyer un message à système B, laissez-lui de traiter.

Un système mais le système ne se soucient pas de la façon de gérer ou B à la fin il n'y a pas d'accord, de sorte que le système A à envoyer un message à MQ, alors quel que soit « la vie et la mort » de ces nouvelles, et le système de consommation B MQ de processus de sortie peut être.

En ce qui concerne la façon de traiter, que ce soit traité, lors du traitement, chose système B est, quel que soit le système A.

Le procédé décrit ci-dessus, on peut voir clairement la figure suivante:

Une telle communication, le soi-disant " asynchrone « Système de communication

Un système, aussi longtemps que le message au MQ, et le système B seront traitées de manière asynchrone au système A n'a pas besoin de « Synchronize » système d'attente B traité.

Quel avantage est-il si?

Deux mots: découplage

Un système de communication pour maintenir le système B, mais il n'a pas besoin de se concentrer sur certains détails de la façon dont le système de traitement B. Nous vous donnons quelques exemples:

Par exemple, ne doit pas être concerné A B lors d'un traitement, de sorte que si un système de messagerie B prend 10 minutes pour ne pas fermer le système Une chose.

Dans le cas contraire, le système appelle une interface directe avec le système B, le système B soudainement traité pendant 10 minutes, comment faire? système A est également Impliquant bloqué pendant 10 minutes?

Comme autre exemple, le système n'a pas besoin de se concentrer sur le système B Un accord réussi ou non, même si le processus a échoué le système B, B est le système eux-mêmes d'examiner à nouveau cette scène et essayer de processus.

Dans le cas contraire, si l'interface d'appel système à B, en cas d'erreur d'échec de traitement, le système A par un appel à la façon dont le processus anormal?

En outre, le système n'a pas besoin de préoccupation Système B est vivant. Dans le cas où le système suspendu B, un système de communication à travers le système de tuyauterie MQ ne nécessite pas B de « la vie et la mort », après que le système B peut gérer lui-même est revenu à nouveau à consommer des messages de MQ.

Un système direct sinon l'interface appel système B, B au cas où le système a raccroché, mais aussi de faire des systèmes Un message temporairement stocké dans la base de données? Attendez que le système B lui rendit de nouveau dans le passé?

Cette communication est asynchrone via MQ, de sorte que les avantages des deux systèmes après le découplage, peut grandement améliorer le système global de tolérance aux pannes, et d'augmenter la flexibilité du système, plutôt que le couplage partout, une avance d'erreur du système à d'autres systèmes communs sont tous mauvais.

Après le découplage, même si l'erreur est seulement un d'une grande erreur système système B ne touche pas les autres.

3, la production du cas classique: apprentissage boîte de livraison APP

Ensuite, utilisez un cas classique de tout le monde à parler de la production de MQ dans la production.

Maintenant, beaucoup de cours d'éducation précoce APP, fournira la boîte d'éducation précoce, qu'est-ce que cela veut dire?

APP fournir une éducation précoce est trois services de base:

  • APP dans les cours vidéo au début de l'éducation
  • groupe de micro-canal adjoint en ligne Q & A Guidance
  • Early Learning vous envoyer la case ligne, il y a beaucoup d'accessoires en classe
  • Une telle mère pour accompagner l'enfant sur le processus d'éducation précoce pourrait ressembler à ceci:

    • Regardez d'abord le programme d'éducation de la petite vidéo dans le PPA, les enfants avaient l'air très intéressé.
    • Puis ma mère de la petite enfance de sortir la boîte d'accessoires pour accompagner l'enfant aux jeux vidéo et des tâches à le faire à nouveau, laisser les enfants une impression plus profonde
    • Le dernier jour poinçonnera sa mère, pour aider l'église à des questions de réponse à la mère.

    Donc, supposons que nous voulons maintenant acheter un cours à une éducation de la petite enfance APP, son processus est le suivant:

    • Choisir d'acheter des cours d'apprentissage précoce
    • Les paiements directs
    • Créer une commande
    • Cours pour augmenter les autorisations utilisateur
    • Informer l'entrepôt pour préparer la boîte d'apprentissage
    • les entreprises de logistique d'entrepôt à prendre connaissance de l'éducation préscolaire pour la boîte de distribution.

    Nous analysons tous les aspects. Après d'abord si vous achetez un programme d'éducation préscolaire, puis cliquez sur le bouton « acheter » va sauter dans un écran de paiement direct général.

    Cette fois-ci, vous pouvez choisir de payer directement. A ce stade, le système sera de retour par le système de paiement tiers avec le système de paiement de la communication, comme Alipay, micro-canal, etc., puis attendre la fin du paiement.

    Une fois le paiement terminé, il sera sec dans leur propre système interne à deux choses:

    • Tout d'abord, créez un ID utilisateur à cet ordre;
    • En second lieu, pour augmenter l'autorisation d'identification de l'utilisateur de voir un programme d'éducation préscolaire vidéo.

    A ce stade, l'utilisateur est en fait dans le « Mes commandes » écran, vous pouvez voir votre commande maintenant, et dans l'interface « Mes cours », vous pouvez commencer à voir la vidéo du programme de la petite enfance.

    Si vous ne comprenez pas le processus ci-dessus, puis regardez le tableau suivant, il devrait être clair:

    Mais maintenant, le problème est surtout dans le dos deux étapes, maintenant vous commandez système d'entrée comme le noyau, il doit en informer l'entrepôt système éducatif tôt pour déduire une boîte de l'inventaire.

    En même temps, la boîte devait être la livraison de l'éducation précoce prêt (comme jouer boîte à l'avance, préparer des factures et autres aux usages de l'entreprise de messagerie, vous devez afficher sur la boîte).

    Et puis notifier le système de la société de tiers, vous pouvez aller à leur entrepôt pour prendre livraison de la boîte enfance.

    Cela implique deux étapes nécessaires pour appeler le système d'entrepôt et d'un système logistique de tierce partie, le système est l'utilisation des commandes de manière directe les deux systèmes appel synchrone il?

    Je crains que ne va pas, parce que c'est le plus gros problème Problèmes de performances et problèmes d'utilisabilité .

    Par exemple, si le système d'entrepôt maintenant déployé ailleurs, entraînant de mauvaises performances en raison de problèmes de réseau, l'accès est lent, il est susceptible de causer à l'utilisateur de payer après avoir attendu quelques minutes ne peut pas voir l'achèvement du processus?

    Ou si ce tiers la faute de l'entreprise logistique si le système est maintenant et temporairement inaccessible, il ne conduira pas après que l'utilisateur paie, et il n'y a pas de livraison boîte maternelle à l'utilisateur?

    Donc, ici, il devrait être introduit MQ, le système de commande après avoir terminé les commandes du programme de création et de distribution, vous pouvez envoyer un message à la MQ, alors il y a un système de stockage dédié est responsable des nouvelles des consommateurs, essayez d'appeler un système d'entrepôt séparé la livraison de notification, et un système de notification à la logistique de tiers et de la distribution.

    L'ensemble du processus, comme illustré ci-dessous:

    A quoi bon faire?

    Les avantages sont évidents, si l'accès est maintenant indépendant de la performance du système et le système d'entrepôt logistique tiers devient soudainement très pauvre, le gros problème est la communication lente du système d'entreposage avec d'autres attendent que quelqu'un mieux traité dans le dos, n'a pas affecté le système de commande a.

    Pour le système de commande, créer des commandes et des cours Assigner sont rapides, puis envoyer un message à la MQ rapide.

    En conséquence, l'utilisateur voit est une seconde ou deux sur le succès de la période de paie, et peut être trouvé afin de voir leur programme, l'ordre de la logistique indique l'état de la « distribution en attente ».

    Donc, si après un système d'entrepôt logistique de tierce partie indépendante ou une défaillance du système, ce qui entraîne des systèmes de stockage aux commandes des consommateurs une tentative de remise des messages échouent, cet article est de consommer l'échec de traitement des messages. Cette situation, comment faire face?

    Tel est le cur du journal local! ! !

    4, en utilisant les files d'attente de lettres mortes: un message traitement a échoué

    environnement de production générale, si vous avez une grande expérience de la conception architecturale, lors de l'utilisation de la MQ concevra deux files d'attente: un Le noyau file d'affaires , Est un Dead Letter Queue .

    activité principale file d'attente, comme est conçu pour rendre le système de commande ci-dessus envoie le message de commande, puis une autre file d'attente de lettre morte est utilisée pour traiter des conditions exceptionnelles.

    La raison pour laquelle cet article, nous jeter une question face, les résultats d'une première tirade a dit des pratiques de production et des scénarios de cas d'affaires, parce que l'interview a été posé cette question, nous devons combiner votre propre expérience des affaires est.

    Vous devez donner l'intervieweur dit la chair et les systèmes sanguins scène d'affaires, puis combiner la scène pour répondre à sa question, parce que l'intervieweur veut entendre est votre expérience réelle.

    Par exemple, si la défaillance du système logistique de tierce partie, cette fois-ci pas demandé, le système de stockage à chaque fois qu'un consommateur message d'ordre, tenter de notifier l'expédition et la distribution, rencontrera l'autre côté de l'erreur d'interface.

    A ce système de stockage point peut être vu refuser l'accès à ce message, ou traitement de drapeau a échoué! Notez que cette étape est très importante.

    Une fois que les drapeaux pour ce traitement des messages échoue, MQ mettra le message dans une lettre morte à l'avance pour mettre une bonne file d'attente.

    Ensuite, vous verrez est que lors de la défaillance du système logistique de tierce partie, toutes les commandes tout le processus de nouvelles échoue, tous seront transférés à la file d'attente lettre morte.

    Ensuite, vous avez le système de stockage spécialisé a un fil d'arrière-plan, un système de suivi logistique de tierce partie est normal, la surveillance non-stop si la demande.

    Une fois trouvé l'autre retour à la normale, le fil de fond au consommateur à partir du traitement de la file d'attente lettre morte n'a pas de commande, la livraison et la distribution notification logique réexécution.

    Utiliser la file lettre morte, en fait, MQ est une partie très importante dans la pratique de la production, qui est la conception de l'architecture doit être considérée.

    L'ensemble du processus, comme illustré ci-dessous:

    5, résumé

    Enfin donner à nos amis soulignent que, si on lui demandait de l'entrevue comme les pratiques de production, nous devons nous rappeler: La combinaison de systèmes d'affaires et des scénarios pour illustrer la chair et le sang de votre expérience, ainsi que dans le scénario d'affaires, comment concevoir des solutions techniques.

    Cinq concept de village - Édition Art Oriental House 2014 peinture Wei Qing
    Précédent
    pays Wuji - Édition Art Oriental House 2011 Dingding Fang peint
    Prochain
    Hangzhou, un effondrement de la passerelle pour piétons provoquant unité d'exposition d'image du moniteur de voiture portant l'élément de blindage
    « Les réductions d'impôt Frais d'abandon » stimuler l'industrie culturelle de passer à prospérer
    Blanc-Désossé Démon - Édition Art Oriental House 2011 Sun puis peint
    Pingdingshan - Édition Art Oriental House 2015 Wang Xuecheng peint "vers le bas"
    Administrateur Zookeeper Zookeeper gérer le centre
    Pingdingshan - Édition Art Oriental House 2015 Wang Xuecheng peint "sur."
    Trois retour Jin Trois Royaumes 60 - Édition des Beaux-Arts de Shanghai Zhang Tao gens Maison, si Hu peint Bouddha
    10 milliards de données ne sont pas l'expansion « double », comment ne pas affecter le service, la migration des données en douceur?
    Trois Royaumes 59 deux personnes lutte pour le pouvoir - « vers le bas » Publication des Beaux-Arts de Shanghai Maison populaire peint Liu Xiyong
    Trois Royaumes 59 deux personnes lutte de pouvoir - Édition des Beaux-Arts de Shanghai Personnes Maison Liu Xiyong « Up » peint
    8 années consécutives, cette année scolaire pour les étudiants sur plus de 20 expérience professionnelle « train »
    58 Trois Royaumes Jiang Wei Évitez la crise - l'eau Publishing Beaux-Arts de Shanghai Maison Tianhong personnes peint « vers le bas »