RocketMQProduction de messages
-
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**
-
-
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