మెసేజ్ క్యూ (సందేశాల వరుస క్రమం)
కంప్యూటర్ విజ్ఞానంలో, మెసేజ్ క్యూలు (సందేశాల వరుస క్రమాలు) మరియు మెయిల్‌బాక్సులు అనేవి సాఫ్ట్‌వేర్ ఇంజినీరింగ్ భాగాలు‌. వీటిని ఇంటర్‌ప్రాసెస్ కమ్యూనికేషన్ లేదా ఒకే ప్రక్రియలోని ఇంటర్-థ్రెడ్ కమ్యూనికేషన్‌కు ఉపయోగిస్తారు. సమాచారాన్ని పంపడం లేదా నియంత్రించడానికి సంబంధించిన మెసేజింగ్ (సందేశాన్ని పంపడం మరియు ప్రాసెస్ చేయడం) కోసం అవి వరుసను ఉపయోగిస్తాయి. సమూహ సమాచార వ్యవస్థలు కూడా ఇదే విధమైన ప్రయోజకత్వాన్ని అందిస్తాయి.
మెసేజ్ క్యూలు ఒక అసమకాలిక కమ్యూనికేషన్స్ ప్రొటొకాల్‌ను అందిస్తాయి. అంటే సందేశాన్ని పంపేవారు మరియు స్వీకర్తలు అదే సమయంలో మెసేజ్ క్యూతో సంబంధం కలిగి ఉండాల్సిన అవసరముండదు. వరుసలో అమర్చబడిన సందేశాలను గ్రహీత తిరిగి పొందేంత వరకు అవి భద్రపరచబడుతాయి.
ఒకే సందేశంగా బదిలీ చేసే విధంగా అత్యధిక మెసేజ్ క్యూలు డాటా పరిమాణం పరంగా పరిమితులు ఏర్పరుచుకుంటాయి. అలాంటి పరిమితులు లేని వాటిని మెయిల్‌బాక్సులుగా పిలుస్తారు.
మెసేజ్ క్యూల యొక్క అనేక ఆచరణలు అంతర్గతంగా అంటే ఒక ఆపరేటింగ్ సిస్టమ్ లేదా ఒక అప్లికేషన్ పరిధిలో పనిచేస్తాయి. అలాంటి క్యూలు సదరు సిస్టమ్ యొక్క పనుల కోసం ఉద్దేశించినవి.
ఇతర ఆచరణలు విభిన్న కంప్యూటర్ సిస్టమ్‌ల మధ్య సందేశాల బదిలీని అనుమతిస్తాయి. అలాగే సంభవనీయంగా బహుళ అప్లికేషన్లు మరియు బహుళ ఆపరేటింగ్ సిస్టమ్‌లను అనుసంధానం చేస్తాయి. ఈ మెసేజ్ క్యూయింగ్ సిస్టమ్‌ (సందేశాలను ఒక వరుస క్రమంలో ఏర్పరిచే వ్యవస్థ)లు సాధారణంగా సిస్టమ్ వైఫల్యం చెందినప్పుడు, సందేశాలు "నష్ట"పోకుండా చేయడానికి విస్తరించిన లఘిమ ప్రయోజకత్వాన్ని అందిస్తాయి. ఈ రకమైన మెసేజ్ క్యూయింగ్ సాఫ్ట్‌వేర్ (దీనినే మెసేజ్ ఓరియంటెడ్ మిడిల్‌వేర్ అని కూడా అంటారు) యొక్క వాణిజ్యపరమైన ఆచరణల ఉదాహరణలుగా IBMకి చెందిన వెబ్‌స్పియర్ MQ (గతంలో MQ సిరీస్) మరియు Oracle అడ్వాన్స్డ్ క్యూయింగ్ (AQ)లను చెప్పుకోవచ్చు. అదే విధంగా Java మెసేజ్ సర్వీస్‌ అని పిలిచే Java ప్రమాణం కూడా ఉంది. దీనికి సంబంధించి, ఇది యాజమాన్య మరియు స్వేచ్ఛా సాఫ్ట్‌వేర్ రెండింటికి సంబంధించిన అసంఖ్యాక ఆచరణలను కలిగి ఉంటుంది.
మెసేజింగ్ మిడిల్‌వేర్ సిస్టమ్స్‌‌కు సంబంధించి, అసంఖ్యాక ఓపెన్ సోర్స్ ప్రత్యామ్నాయాలు ఉన్నాయి. వాటిలో JBoss మెసేజింగ్, JORAM, Apache యాక్టివ్MQ, సన్ ఓపెన్ మెసేజ్ క్యూ, Apache Qpid మరియు HTTPSQS ఉన్నాయి.
ఓపెన్ సోర్స్ సిస్టమ్స్‌కు అదనంగా, హార్డ్‌వేర్ ఆధారిత మెసేజింగ్ మిడిల్‌వేర్ అనేది సిలికాన్ లేదా సిలికాన్/సాఫ్ట్‌వేర్ డాటాపాత్‌ల ద్వారా క్యూయింగ్‌ను అందిస్తున్న సోలేస్ సిస్టమ్స్, సోనోయా మరియు టెర్వెలా వంటి వ్యాపార సంస్థల్లో ఎక్కువగా ఉపయోగించుకోబడుతోంది.
VxWorks మరియు QNX ఆపరేటింగ్ సిస్టమ్స్ వంటి అత్యధిక RTOSలు మెసేజ్ క్యూయింగ్‌ను ఒక ప్రాథమిక IPC లేదా ఇంటర్-థ్రెడ్ కమ్యూనికేషన్ యంత్రాంగంగా ప్రోత్సహిస్తున్నాయి. సందేశాన్ని పంపడం మరియు CPU మధ్య ఫలిత బిగువైన సమాకలనం వాస్తవిక ప్రయోజనాలకు సంబంధించిన RTOSల వినియోగానికి ప్రధాన కారణంగా చెప్పబడుతుంది. మెసేజ్-క్యూ మూలాన్ని ఇంటర్-థ్రెడ్ కమ్యూనికేషన్‌గా ప్రేరేపించే వాణిజ్యపరమైన RTOSలకు ప్రాథమిక ఉదాహరణలుగా VRTX మరియు pSOS+లను చెప్పవచ్చు. ఇవి రెండూ ప్రారంభ 1980లకు చెందినవి.
సాధారణ మెసేజ్-క్యూయింగ్ ఆచరణలో, ఒక సిస్టమ్ అడ్మినిస్ట్రేటర్ ఉపయోగించడానికి సిద్ధంగా ఉన్న మెసేజ్-క్యూయింగ్ సాఫ్ట్‌వేర్‌ (ఒక క్యూ మేనేజర్) యొక్క ఇన్‌స్టాలేషన్ మరియు కాన్ఫిగరేషన్ చేయడం మరియు ఒక పేరున్న మెసేజ్ క్యూను నిర్వచిస్తాడు.
తర్వాత ఒక అప్లికేషన్ సాఫ్ట్‌వేర్ దినచర్యను నమోదు చేస్తుంది. అది వరుసలో అమర్చిన సందేశాలను అనుసరిస్తుంది.
రెండోది మరియు తదనంతర అప్లికేషన్లు (ప్రయోజనాలు) వరుస (క్యూ)కు అనుసంధానం చేయబడటం మరియు దానిపైకి సందేశాన్ని బదిలీ చేస్తాయి.
క్యూ-మేనేజర్ సాఫ్ట్‌వేర్ ఒక రిసీవింగ్ అప్లికేషన్ సంధానమయ్యేంత వరకు సందేశాలను భద్రపరుస్తుంది. తర్వాత నమోదైన సాఫ్ట్‌వేర్ దినచర్యకు కబురు పెడుతుంది. తర్వాత రిసీవింగ్ అప్లికేషన్ సందేశాన్ని ఒక కచ్చితమైన క్రమంలో అమర్చుతుంది.
సందేశాన్ని పంపడం (మెసేజ్ పాసింగ్) యొక్క కచ్చితమైన అర్థానికి సంబంధించి, తరచూ అసంఖ్యాక ప్రత్యామ్నాయాలు ఉన్నాయి. వాటిలో
లావాదేవీకి సంబంధించిన అర్థాలు, సిస్టమ్ విశ్వసనీయత మరియు సిస్టమ్ సమర్థతలపై ఈ పరిగణనలు చెప్పుకోదగ్గ ప్రభావాలను చూపగలవు.
ఉపయోగంలోని అనేక బాగా తెలిసిన కమ్యూనికేషన్ల ప్రొటొకాల్‌లు ఏకకాలంలో జరుగుతాయి. HTTP ప్రొటొకాల్ – ఇది వరల్డ్ వైడ్ వెబ్ మరియు వెబ్ సర్వీసులలో ఉపయోగించబడుతుంది – ఇది ఒక యూజర్ వెబ్ పేజికి విజ్ఞప్తిని పంపడం మరియు సమాధానం కోసం వేచి ఉండటానికి సంబంధించి, ఇది ఒక స్పష్టమైన ఉదాహరణను అందిస్తుంది.
అయితే ఏకకాలిక ప్రవర్తనలో ఉండే దృష్టాంతాలు కచ్చితమైనవి కావు. ఉదాహరణకు, AJAX (అసమకాలిక Javascript మరియు XML) వెబ్‌ పేజి యొక్క కొంత భాగాన్ని మరింత సుసంగత సమాచారంతో అభివృద్ధి చేయడానికి అసమకాలికంగా టెక్స్ట్ లేదా XML సందేశాలను పంపడానికి ఉపయోగించబడుతుంది. ఈ విధానాన్ని Google దాని Google Suggestకు ఉపయోగించుకుంటుంది. 
ఇదొక శోధన విశిష్టాంశం. ఇది యూజర్ పాక్షికంగా టైపు చేసిన సందేహాల (ప్రశ్నలు)ను Google సర్వర్‌కు పంపుతుంది. అలాగే సాధ్యపర సంపూర్ణ సందేహాలకు సంబంధించిన జాబితాను తిరిగి అందిస్తుంది. ఆ సమయంలో యూజర్ టైపింగ్ ప్రక్రియలో ఉండొచ్చు. యూజర్ టైపు చేయడం ద్వారా ఈ జాబితా అసమకాలికంగా అప్‌డేట్ చేయబడుతుంది.
ఈవెంట్ నోటిఫికేషన్ సిస్టమ్‌లు మరియు పబ్లిష్/సబ్‌స్క్రైబ్ సిస్టమ్‌ల్లో ఇతర అసమకాలిక ఉదాహరణలు ఉంటాయి.
పై రెండు ఉదాహరణల రెండింటిలోనూ సమాచారాన్ని పంపే వ్యక్తి వేచి ఉండాలనే భావనను ఉదాహరణకు, ఎవరైనా ఒక గ్రహీత నష్టపోయినప్పుడు తెలుపదు.
అప్లికేషన్లు ప్రత్యేకంగా ఏకకాలిక లేదా అసమకాలికంగా ఉండాల్సిన పనిలేదు. సంకర్షణాత్మక ప్రయోజనం ఒక విజ్ఞప్తి యొక్క కచ్చితమైన భాగాలకు వెంటనే స్పందించాల్సిన పనిలేదు (అంటే విక్రయాల విజ్ఞప్తి అంగీకరించబడిందని ఒక వినియోగదారుడికి తెలపడం మరియు పట్టిక రూపకల్పన హామీని కొనసాగించడం వంటివి), అయితే ఇతర భాగాలు (బిల్లింగ్ యొక్క గణనను పూర్తి చేయడం, సమాచారాన్ని కేంద్రీయ గణన వ్యవస్థకు నివేదించడం మరియు ఇతర సేవల యొక్క అన్ని విభాగాలను పిలవడం వంటివి) కొంత సేపటి తర్వాత వరుస క్రమంలో ఏర్పడుతాయి.
ఇలాంటి అన్ని పరిస్థితుల్లో, మెసేజ్-క్యూయింగ్ (లేదా ప్రత్యామ్నాయంగా, ఒక బ్రాడ్‌కాస్ట్ మెసేజింగ్ సిస్టమ్)ను నిర్వహించే ఒక ఉప వ్యవస్థను కలిగి ఉండటం వ్యవస్థ యొక్క మొత్తం పనితీరును మెరుగుపరిచే విధంగా దోహదపడుతుంది.