编程知识 cdmana.com

Processus de production de messages rocketmq et algorithme de sélection de file d'attente

RocketMQProduction de messages

  1. Processus de production de messages

    • AccèsProducerAvant d'envoyer un messageNameServerEnvoyer pour obtenir ce messageTopicDemande d'information sur l'acheminement pour

    • NameServerRetour à la pageTopicTable de routage pourEtBrokerListe

    • ProducerSelon la désignation dans le CodeQueueChoisir une stratégie,DeQueueSélectionnez une file d'attente dans la liste,Pour le stockage ultérieur des messages

    • ProduerTraitement spécial des messages,Par exemple,Le message lui - même dépasse4M,Il est comprimé

    • ProducerSélectionner versQueueOùBrokerEnvoyerRPCDemande,Envoyer un message à la sélectionQueue

      ​ La table de routage estMap,Key- Oui.TopicNom,V- Oui.QueueDataListe des instances(UnBrokerOui.topicTous lesqueueCorrespondant à unQueueData)QueueDataInclus dansBrokerName

      ​ BrokerListe,KPourBrokerName,vPourBrokerData.Un ensemblebrokerNameMême nomMaster-SlaveLes petits groupes correspondent à un BrokerData.BrokerDataInclus dansbrokerNameEt unmap.LemapDekeyPourbrokerId,valuePour ça. brokerAdresse correspondante**

  2. QueueSélectionner l'algorithme

  • Algorithme de sondage

    L'algorithme est sélectionné par défaut , L'algorithme garantit que chaque Queue Le message peut être obtenu uniformément .

    Mais si dans certains cas BrokerOui.Queue Les retards de livraison peuvent être plus importants .Et donc Producer Il y a un grand arriéré de messages dans la file d'attente du cache pour , Impact sur la livraison des messages

  • Algorithme de retard de livraison minimal

    L'algorithme compte le délai de chaque message envoyé , Le message est ensuite envoyé avec un délai minimal basé sur les résultats statistiques Queue.

    Si le délai est le même , Ensuite, l'algorithme de vote est utilisé pour la livraison . L'algorithme peut efficacement améliorer les performances de livraison des messages .

    Il y a aussi un problème avec cet algorithme :Le message est là.Queue Répartition inégale sur . Le délai de livraison est faible Queue Il peut y avoir beaucoup de messages . Et oui. Queue La pression des consommateurs va augmenter , Réduire la consommation de messages ,Peut causerMQ Accumulation de messages dans .

版权声明
本文为[Ordinaryblog]所创,转载请带上原文链接,感谢
https://cdmana.com/2022/01/202201080600349408.html

Scroll to Top