Apache Storm 2.0 పంపిణీ చేయబడిన కంప్యూటింగ్ సిస్టమ్ అందుబాటులో ఉంది
వెలుగు చూసింది పంపిణీ చేయబడిన ఈవెంట్ ప్రాసెసింగ్ సిస్టమ్ యొక్క ముఖ్యమైన విడుదల అపాచీ స్టార్మ్ 2.0, మునుపు ఉపయోగించిన క్లోజుర్ భాషకు బదులుగా జావాలో అమలు చేయబడిన కొత్త ఆర్కిటెక్చర్కు దాని పరివర్తనకు ప్రసిద్ది చెందింది.
వివిధ ఈవెంట్ల యొక్క హామీ ప్రాసెసింగ్ను నిజ సమయంలో నిర్వహించడానికి ప్రాజెక్ట్ మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, రియల్ టైమ్లో డేటా స్ట్రీమ్లను విశ్లేషించడానికి, మెషిన్ లెర్నింగ్ టాస్క్లను అమలు చేయడానికి, నిరంతర కంప్యూటింగ్ని నిర్వహించడానికి, RPC, ETL మొదలైన వాటిని అమలు చేయడానికి Storm ఉపయోగించవచ్చు. సిస్టమ్ క్లస్టరింగ్, తప్పు-తట్టుకునే కాన్ఫిగరేషన్లను సృష్టించడం, హామీ ఇవ్వబడిన డేటా ప్రాసెసింగ్ మోడ్ మరియు అధిక పనితీరును కలిగి ఉంటుంది, ఒక క్లస్టర్ నోడ్లో సెకనుకు మిలియన్ కంటే ఎక్కువ అభ్యర్థనలను ప్రాసెస్ చేయడానికి సరిపోతుంది.
వివిధ క్యూ ప్రాసెసింగ్ సిస్టమ్లు మరియు డేటాబేస్ టెక్నాలజీలతో ఏకీకరణకు మద్దతు ఉంది. స్టార్మ్ ఆర్కిటెక్చర్ అనేది వివిధ దశల లెక్కల మధ్య విభజన చేసే సామర్థ్యంతో ఏకపక్ష సంక్లిష్ట ప్రాసెసర్లను ఉపయోగించి నిర్మాణాత్మకంగా లేని, నిరంతరం నవీకరించబడిన డేటా స్ట్రీమ్లను స్వీకరించడం మరియు ప్రాసెస్ చేయడం. నిజానికి ఫ్రేమ్వర్క్ను అభివృద్ధి చేసిన బ్యాక్టైప్ అనే కంపెనీని Twitter కొనుగోలు చేసిన తర్వాత ప్రాజెక్ట్ అపాచీ కమ్యూనిటీకి అప్పగించబడింది. ఆచరణలో, మైక్రోబ్లాగ్లలోని ఈవెంట్ల ప్రతిబింబాన్ని విశ్లేషించడానికి బ్యాక్టైప్లో స్టార్మ్ ఉపయోగించబడింది, ఫ్లై కొత్త ట్వీట్లు మరియు వాటిలో ఉపయోగించిన లింక్లను పోల్చడం ద్వారా (ఉదాహరణకు, Twitterలో ప్రచురించబడిన బాహ్య లింక్లు లేదా ప్రకటనలు ఇతర భాగస్వాములచే తిరిగి ప్రసారం చేయబడే విధంగా అంచనా వేయబడింది. )
స్టార్మ్ యొక్క కార్యాచరణను హడూప్ ప్లాట్ఫారమ్తో పోల్చారు, ప్రధాన వ్యత్యాసం ఏమిటంటే డేటా గిడ్డంగిలో నిల్వ చేయబడదు, కానీ బాహ్యంగా తీసుకోబడుతుంది మరియు నిజ సమయంలో ప్రాసెస్ చేయబడుతుంది. స్టార్మ్కు అంతర్నిర్మిత నిల్వ లేయర్ లేదు మరియు ఇన్కమింగ్ డేటా రద్దు చేయబడే వరకు విశ్లేషణాత్మక ప్రశ్న వర్తింపజేయడం ప్రారంభమవుతుంది (హడూప్ పరిమిత-సమయ MapReduce ఉద్యోగాలను ఉపయోగిస్తుండగా, Storm నిరంతరం "టోపోలాజీలు" అమలు చేసే ఆలోచనను ఉపయోగిస్తుంది). హ్యాండ్లర్ల అమలు అనేక సర్వర్లలో పంపిణీ చేయబడుతుంది - స్టార్మ్ స్వయంచాలకంగా వివిధ క్లస్టర్ నోడ్లలోని థ్రెడ్లతో పనిని సమాంతరంగా చేస్తుంది.
సిస్టమ్ వాస్తవానికి క్లోజుర్లో వ్రాయబడింది మరియు JVM వర్చువల్ మెషీన్లో నడుస్తుంది. అపాచీ ఫౌండేషన్ స్టార్మ్ను జావాలో వ్రాయబడిన కొత్త కెర్నల్కు తరలించడానికి ఒక చొరవను ప్రారంభించింది, దీని ఫలితాలు అపాచీ స్టార్మ్ 2.0 విడుదలలో ప్రతిపాదించబడ్డాయి. ప్లాట్ఫారమ్ యొక్క అన్ని ప్రాథమిక భాగాలు జావాలో తిరిగి వ్రాయబడ్డాయి. క్లోజుర్లో హ్యాండ్లర్లను వ్రాయడానికి మద్దతు అలాగే ఉంచబడింది, కానీ ఇప్పుడు బైండింగ్ల రూపంలో అందించబడుతుంది. స్టార్మ్ 2.0.0కి జావా 8 అవసరం. మల్టీ-థ్రెడ్ ప్రాసెసింగ్ మోడల్ పూర్తిగా రీడిజైన్ చేయబడింది, అనుమతిస్తుంది సాధించడానికి పనితీరులో గుర్తించదగిన పెరుగుదల (కొన్ని టోపోలాజీల కోసం, ఆలస్యం 50-80% తగ్గింది).
కొత్త వెర్షన్ కొత్త టైప్ చేసిన స్ట్రీమ్ల APIని కూడా అందిస్తుంది, ఇది ఫంక్షనల్ ప్రోగ్రామింగ్-స్టైల్ ఆపరేషన్లను ఉపయోగించి హ్యాండ్లర్లను నిర్వచించడానికి మిమ్మల్ని అనుమతిస్తుంది. కొత్త API ప్రామాణిక బేస్ API పైన అమలు చేయబడుతుంది మరియు వాటి ప్రాసెసింగ్ను ఆప్టిమైజ్ చేయడానికి ఆపరేషన్ల స్వయంచాలక విలీనానికి మద్దతు ఇస్తుంది. విండో కార్యకలాపాల కోసం విండోస్ API బ్యాకెండ్లో స్థితిని సేవ్ చేయడానికి మరియు పునరుద్ధరించడానికి మద్దతును జోడించింది.
పరిమితం కాకుండా నిర్ణయాలు తీసుకునేటప్పుడు అదనపు వనరులను పరిగణనలోకి తీసుకోవడానికి మద్దతు
CPU మరియు మెమరీ, నెట్వర్క్ మరియు GPU సెట్టింగ్లు వంటివి. ప్లాట్ఫారమ్తో ఏకీకరణను నిర్ధారించడానికి పెద్ద సంఖ్యలో మెరుగుదలలు చేయబడ్డాయి కాఫ్కా. అడ్మినిస్ట్రేటర్ గ్రూపులు మరియు డెలిగేట్ టోకెన్లను సృష్టించే సామర్థ్యాన్ని చేర్చడానికి యాక్సెస్ కంట్రోల్ సిస్టమ్ విస్తరించబడింది. SQL మరియు కొలమానాల మద్దతుకు సంబంధించిన మెరుగుదలలు జోడించబడ్డాయి. క్లస్టర్ స్థితిని డీబగ్గింగ్ చేయడానికి అడ్మినిస్ట్రేటర్ ఇంటర్ఫేస్లో కొత్త ఆదేశాలు కనిపించాయి.
తుఫాను కోసం దరఖాస్తు చేసే ప్రాంతాలు:
నిజ సమయంలో కొత్త డేటా లేదా డేటాబేస్ అప్డేట్ల స్ట్రీమ్లను ప్రాసెస్ చేయడం;
నిరంతర కంప్యూటింగ్: స్టార్మ్ నిరంతర ప్రశ్నలను అమలు చేయగలదు మరియు నిరంతర స్ట్రీమ్లను ప్రాసెస్ చేయగలదు, ప్రాసెసింగ్ ఫలితాలను క్లయింట్కు నిజ సమయంలో అందజేస్తుంది.
డిస్ట్రిబ్యూటెడ్ రిమోట్ ప్రొసీజర్ కాల్ (RPC): రిసోర్స్-ఇంటెన్సివ్ క్వెరీలను సమాంతరంగా అమలు చేయడానికి స్టార్మ్ని ఉపయోగించవచ్చు. స్టార్మ్లోని జాబ్ (“టోపోలాజీ”) అనేది నోడ్లలో పంపిణీ చేయబడిన ఫంక్షన్, ఇది ప్రాసెస్ చేయవలసిన సందేశాల కోసం వేచి ఉంటుంది. సందేశాన్ని స్వీకరించిన తర్వాత, ఫంక్షన్ స్థానిక సందర్భంలో దాన్ని ప్రాసెస్ చేస్తుంది మరియు ఫలితాన్ని అందిస్తుంది. పంపిణీ చేయబడిన RPCని ఉపయోగించటానికి ఉదాహరణగా శోధన ప్రశ్నలను సమాంతరంగా ప్రాసెస్ చేయడం లేదా పెద్ద సెట్ల సెట్లో ఆపరేషన్లు చేయడం.
తుఫాను లక్షణాలు:
నిజ-సమయ డేటా ప్రాసెసింగ్ను చాలా సులభతరం చేసే ఒక సాధారణ ప్రోగ్రామింగ్ మోడల్;
ఏదైనా ప్రోగ్రామింగ్ భాషలకు మద్దతు. Java, Ruby మరియు Python కోసం మాడ్యూల్స్ అందుబాటులో ఉన్నాయి, ఇతర భాషల కోసం అనుసరణ చాలా సులభమైన కమ్యూనికేషన్ ప్రోటోకాల్కు ధన్యవాదాలు, దీనికి మద్దతు ఇవ్వడానికి 100 లైన్ల కోడ్ అవసరం;
ఫాల్ట్ టాలరెన్స్: డేటా ప్రాసెసింగ్ జాబ్ని అమలు చేయడానికి, మీరు కోడ్తో కూడిన జార్ ఫైల్ను రూపొందించాలి. Storm ఈ జార్ ఫైల్ను క్లస్టర్ నోడ్ల అంతటా స్వతంత్రంగా పంపిణీ చేస్తుంది, దానితో అనుబంధించబడిన హ్యాండ్లర్లను కనెక్ట్ చేస్తుంది మరియు పర్యవేక్షణను నిర్వహిస్తుంది. పని పూర్తయినప్పుడు, కోడ్ అన్ని నోడ్లలో స్వయంచాలకంగా నిలిపివేయబడుతుంది;
క్షితిజసమాంతర స్కేలబిలిటీ. అన్ని గణనలు సమాంతర మోడ్లో నిర్వహించబడతాయి; లోడ్ పెరిగేకొద్దీ, కొత్త నోడ్లను క్లస్టర్కు కనెక్ట్ చేయడం సరిపోతుంది;
విశ్వసనీయత. ప్రతి ఇన్కమింగ్ సందేశం కనీసం ఒక్కసారైనా పూర్తిగా ప్రాసెస్ చేయబడిందని స్టార్మ్ నిర్ధారిస్తుంది. అన్ని హ్యాండ్లర్ల గుండా వెళుతున్నప్పుడు లోపాలు లేనప్పుడు మాత్రమే సందేశం ఒకసారి ప్రాసెస్ చేయబడుతుంది; సమస్యలు తలెత్తితే, విఫలమైన ప్రాసెసింగ్ ప్రయత్నాలు పునరావృతమవుతాయి.
వేగం. స్టార్మ్ యొక్క కోడ్ అధిక పనితీరును దృష్టిలో ఉంచుకుని వ్రాయబడింది మరియు వేగవంతమైన అసమకాలిక సందేశం కోసం సిస్టమ్ను ఉపయోగిస్తుంది ZeroMQ.