మైక్రోసర్వీస్ ఆర్కిటెక్చర్:
నా నుంచి , మీకు మైక్రోసర్వీస్ ఆర్కిటెక్చర్ గురించి ప్రాథమిక అవగాహన ఉండాలి.కానీ, ప్రొఫెషనల్గా ఉండటం ప్రాథమిక విషయాల కంటే ఎక్కువ అవసరం. ఈ బ్లాగులో, మీరు నిర్మాణ భావనల లోతులోకి ప్రవేశిస్తారు మరియు UBER- కేస్ స్టడీని ఉపయోగించి వాటిని అమలు చేస్తారు.
ఈ బ్లాగులో, మీరు ఈ క్రింది వాటి గురించి నేర్చుకుంటారు:
- మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క నిర్వచనం
- మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క ముఖ్య అంశాలు
- మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క లాభాలు మరియు నష్టాలు
- ఉబెర్ - కేస్ స్టడీ
మీరు చూడవచ్చు , మైక్రోసర్వీస్ యొక్క ప్రాథమిక మరియు ప్రయోజనాలను అర్థం చేసుకోవడానికి.
మైక్రోసర్వీసెస్ యొక్క నిర్వచనం నేను మీకు ఇస్తేనే ఇది న్యాయంగా ఉంటుంది.
మైక్రోసర్వీస్ యొక్క నిర్వచనం
అందుకని, మైక్రోసర్వీస్ అకా మైక్రోసర్వీస్ ఆర్కిటెక్చర్ గురించి సరైన నిర్వచనం లేదు, కానీ ఇది ఒక ఫ్రేమ్వర్క్ అని చెప్పవచ్చు, ఇది వివిధ కార్యకలాపాలను నిర్వహించే చిన్న, వ్యక్తిగతంగా అమలు చేయగల సేవలను కలిగి ఉంటుంది.
మైక్రోసర్వీస్ ఒకే వ్యాపార డొమైన్పై దృష్టి కేంద్రీకరిస్తుంది, వీటిని పూర్తిగా స్వతంత్రంగా అమలు చేయగల సేవలుగా అమలు చేయవచ్చు మరియు వాటిని వివిధ సాంకేతిక స్టాక్లపై అమలు చేయవచ్చు.
మూర్తి 1: మోనోలిథిక్ మరియు మైక్రోసర్వీస్ ఆర్కిటెక్చర్ మధ్య వ్యత్యాసం - మైక్రోసర్వీస్ ఆర్కిటెక్చర్
ఫైనల్ చివరకు మరియు జావాలో ఖరారు చేయండి
మోనోలిథిక్ మరియు మైక్రోసర్వీస్ ఆర్కిటెక్చర్ మధ్య వ్యత్యాసాన్ని అర్థం చేసుకోవడానికి పై రేఖాచిత్రాన్ని చూడండి.రెండు నిర్మాణాల మధ్య తేడాల గురించి బాగా అర్థం చేసుకోవడానికి, మీరు నా మునుపటి బ్లాగును చూడవచ్చు
మీరు బాగా అర్థం చేసుకోవడానికి, మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క కొన్ని ముఖ్య అంశాలను మీకు చెప్తాను.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క ముఖ్య అంశాలు
మీరు మైక్రోసర్వీస్లను ఉపయోగించి మీ స్వంత అనువర్తనాలను రూపొందించడం ప్రారంభించడానికి ముందు, మీ అప్లికేషన్ యొక్క పరిధి మరియు కార్యాచరణల గురించి మీరు స్పష్టంగా తెలుసుకోవాలి.
మైక్రోసర్వీస్ గురించి చర్చిస్తున్నప్పుడు అనుసరించాల్సిన కొన్ని మార్గదర్శకాలు క్రిందివి.
మైక్రోసర్వీస్ రూపకల్పన చేసేటప్పుడు మార్గదర్శకాలు
- డెవలపర్గా, మీరు ఒక అనువర్తనాన్ని నిర్మించాలని నిర్ణయించుకున్నప్పుడు డొమైన్లను వేరు చేసి, కార్యాచరణలతో స్పష్టంగా ఉండండి.
- మీరు రూపొందించిన ప్రతి మైక్రోసర్వీస్ అప్లికేషన్ యొక్క ఒక సేవపై మాత్రమే దృష్టి పెడుతుంది.
- ప్రతి సేవ వ్యక్తిగతంగా అమలు చేయదగిన విధంగా మీరు అనువర్తనాన్ని రూపొందించారని నిర్ధారించుకోండి.
- మైక్రోసర్వీస్ల మధ్య కమ్యూనికేషన్ స్టేట్లెస్ సర్వర్ ద్వారా జరిగిందని నిర్ధారించుకోండి.
- ప్రతి సేవను వారి స్వంత మైక్రోసర్వీస్ను కలిగి ఉన్న చిన్న సేవల్లోకి రీఫ్యాక్టర్ చేయవచ్చు.
ఇప్పుడు, మైక్రోసర్వీస్లను రూపకల్పన చేసేటప్పుడు మీరు ప్రాథమిక మార్గదర్శకాల ద్వారా చదివినట్లయితే, మైక్రోసర్వీస్ల నిర్మాణాన్ని అర్థం చేసుకుందాం.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్ ఎలా పనిచేస్తుంది?
ఒక సాధారణ మైక్రోసర్వీస్ ఆర్కిటెక్చర్ (MSA) కింది భాగాలను కలిగి ఉండాలి:
- క్లయింట్లు
- గుర్తింపు ప్రొవైడర్లు
- గేట్వే API
- సందేశ ఆకృతులు
- డేటాబేస్లు
- స్టాటిక్ కంటెంట్
- నిర్వహణ
- సర్వీస్ డిస్కవరీ
దిగువ రేఖాచిత్రాన్ని చూడండి.
మూర్తి 2: మైక్రోసర్వీస్ యొక్క ఆర్కిటెక్చర్ - మైక్రోసర్వీస్ ఆర్కిటెక్చర్
ఆర్కిటెక్చర్ కొంచెం క్లిష్టంగా ఉందని నాకు తెలుసు, కాని లెట్నేనుమీ కోసం దీన్ని సరళీకృతం చేయండి.
1. క్లయింట్లు
ఆర్కిటెక్చర్ వివిధ రకాల క్లయింట్లతో మొదలవుతుంది, వివిధ పరికరాల నుండి శోధన, బిల్డ్, కాన్ఫిగర్ మొదలైన వివిధ నిర్వహణ సామర్థ్యాలను ప్రదర్శించడానికి ప్రయత్నిస్తుంది.
2. గుర్తింపు ప్రొవైడర్లు
క్లయింట్ల నుండి ఈ అభ్యర్థనలు క్లయింట్ల అభ్యర్థనలను ప్రామాణీకరించే మరియు API గేట్వేకు అభ్యర్థనలను కమ్యూనికేట్ చేసే గుర్తింపు ప్రొవైడర్లపై పంపబడతాయి. అభ్యర్థనలు బాగా నిర్వచించిన API గేట్వే ద్వారా అంతర్గత సేవలకు తెలియజేయబడతాయి.
3. API గేట్వే
క్లయింట్లు సేవలను నేరుగా పిలవరు కాబట్టి, క్లయింట్లు తగిన మైక్రోసర్వీస్లకు అభ్యర్థనలను ఫార్వార్డ్ చేయడానికి API గేట్వే ఎంట్రీ పాయింట్గా పనిచేస్తుంది.
API గేట్వేను ఉపయోగించడం వల్ల కలిగే ప్రయోజనాలు:
- ఖాతాదారులకు తెలియకుండా అన్ని సేవలను నవీకరించవచ్చు.
- సేవలు వెబ్-స్నేహపూర్వకంగా లేని మెసేజింగ్ ప్రోటోకాల్లను కూడా ఉపయోగించవచ్చు.
- API గేట్వే భద్రత, లోడ్ బ్యాలెన్సింగ్ మొదలైన వాటిని అందించడం వంటి క్రాస్ కట్టింగ్ విధులను నిర్వహించగలదు.
క్లయింట్ల అభ్యర్ధనలను స్వీకరించిన తరువాత, అంతర్గత నిర్మాణంలో మైక్రోసర్వీస్ ఉంటాయి, ఇవి క్లయింట్ అభ్యర్థనలను నిర్వహించడానికి సందేశాల ద్వారా ఒకదానితో ఒకటి సంభాషించుకుంటాయి.
4. సందేశ ఆకృతులు
వారు కమ్యూనికేట్ చేసే రెండు రకాల సందేశాలు ఉన్నాయి:
- సమకాలిక సందేశాలు: ఖాతా నుండి సేవ నుండి వచ్చే ప్రతిస్పందనల కోసం క్లయింట్లు వేచి ఉన్న పరిస్థితిలో, మైక్రోసర్వీస్ సాధారణంగా ఉపయోగించుకుంటాయి REST (ప్రాతినిధ్య రాష్ట్ర బదిలీ) ఇది స్థితిలేని, క్లయింట్-సర్వర్ మరియు HTTP ప్రోటోకాల్ . ఈ ప్రోటోకాల్ పంపిణీ చేయబడిన వాతావరణం కాబట్టి ఉపయోగించబడుతుంది మరియు ప్రతి కార్యాచరణ కార్యకలాపాలను నిర్వహించడానికి వనరుతో సూచించబడుతుంది
- అసమకాలిక సందేశాలు: క్లయింట్లు సేవ నుండి వచ్చే ప్రతిస్పందనల కోసం వేచి ఉండని పరిస్థితిలో, మైక్రోసర్వీస్ సాధారణంగా ప్రోటోకాల్లను ఉపయోగిస్తాయి AMQP, STOMP, MQTT . సందేశాల స్వభావం నిర్వచించబడినందున ఈ ప్రోటోకాల్లు ఈ రకమైన కమ్యూనికేషన్లో ఉపయోగించబడతాయి మరియు ఈ సందేశాలు అమలుల మధ్య పరస్పరం పనిచేయాలి.
మీ మనస్సులో వచ్చే తదుపరి ప్రశ్న ఏమిటంటే మైక్రోసర్వీస్ని ఉపయోగించే అనువర్తనాలు వాటి డేటాను ఎలా నిర్వహిస్తాయి?
5. డేటా హ్యాండ్లింగ్
సరే, ప్రతి మైక్రోసర్వీస్ వారి డేటాను సంగ్రహించడానికి మరియు సంబంధిత వ్యాపార కార్యాచరణను అమలు చేయడానికి ఒక ప్రైవేట్ డేటాబేస్ను కలిగి ఉంటుంది.మరియు, మైక్రోసర్వీస్ యొక్క డేటాబేస్లు వారి సేవా API ద్వారా మాత్రమే నవీకరించబడతాయి. దిగువ రేఖాచిత్రాన్ని చూడండి:
మూర్తి 3: మైక్రోసర్వీస్ హ్యాండ్లింగ్ డేటా యొక్క ప్రాతినిధ్యం - మైక్రోసర్వీస్ ఆర్కిటెక్చర్
మైక్రోసర్వీస్ అందించే సేవలు వేర్వేరు టెక్నాలజీ స్టాక్ల కోసం ఇంటర్-ప్రాసెస్ కమ్యూనికేషన్కు మద్దతు ఇచ్చే ఏ రిమోట్ సేవకైనా ముందుకు తీసుకువెళతాయి.
6. స్టాటిక్ కంటెంట్
మైక్రోసర్వీస్ తమలో తాము సంభాషించిన తరువాత, వారు స్టాటిక్ కంటెంట్ను క్లౌడ్-ఆధారిత నిల్వ సేవకు అమర్చారు, వాటిని నేరుగా ఖాతాదారులకు అందించవచ్చు కంటెంట్ డెలివరీ నెట్వర్క్లు (CDN లు) .
పై భాగాలు కాకుండా, ఒక సాధారణ మైక్రోసర్వీస్ ఆర్కిటెక్చర్లో కొన్ని ఇతర భాగాలు కనిపిస్తాయి:
7. నిర్వహణ
నోడ్స్లో సేవలను సమతుల్యం చేయడానికి మరియు వైఫల్యాలను గుర్తించడానికి ఈ భాగం బాధ్యత వహిస్తుంది.
8. సర్వీస్ డిస్కవరీ
నోడ్లు ఉన్న సేవల జాబితాను నిర్వహిస్తున్నందున వాటి మధ్య కమ్యూనికేషన్ మార్గాన్ని కనుగొనడానికి మైక్రోసర్వీస్కు మార్గదర్శకంగా పనిచేస్తుంది.
క్రొత్త నవీకరణలను పొందడానికి మా యూట్యూబ్ ఛానెల్కు సభ్యత్వాన్ని పొందండి ..!
ఇప్పుడు, ఈ నిర్మాణాన్ని ఎప్పుడు ఉపయోగించాలో బాగా అర్థం చేసుకోవడానికి ఈ నిర్మాణం యొక్క లాభాలు మరియు నష్టాలను పరిశీలిద్దాం.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క లాభాలు మరియు నష్టాలు
దిగువ పట్టికను చూడండి.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్ యొక్క ప్రోస్ | మైక్రోసర్వీస్ యొక్క నష్టాలు ఆర్కిటెక్చర్ |
విభిన్న సాంకేతిక పరిజ్ఞానాలను ఉపయోగించడానికి స్వేచ్ఛ | ట్రబుల్షూటింగ్ సవాళ్లను పెంచుతుంది |
ప్రతి మైక్రోసర్వీస్ ఒకే వ్యాపార సామర్థ్యంపై దృష్టి పెడుతుంది | రిమోట్ కాల్స్ కారణంగా ఆలస్యం పెరుగుతుంది |
వ్యక్తిగత విస్తరించదగిన యూనిట్లకు మద్దతు ఇస్తుంది | కాన్ఫిగరేషన్ మరియు ఇతర కార్యకలాపాల కోసం పెరిగిన ప్రయత్నాలు |
తరచుగా సాఫ్ట్వేర్ విడుదలలను అనుమతిస్తుంది | లావాదేవీల భద్రతను నిర్వహించడం కష్టం |
ప్రతి సేవ యొక్క భద్రతను నిర్ధారిస్తుంది | వివిధ సేవా సరిహద్దుల్లో డేటాను ట్రాక్ చేయడం కష్టం |
బహుళ సేవలు సమాంతరంగా అభివృద్ధి చేయబడతాయి మరియు అమలు చేయబడతాయి | సేవల మధ్య కోడ్ను తరలించడం కష్టం |
UBER యొక్క మునుపటి నిర్మాణాన్ని ప్రస్తుతంతో పోల్చడం ద్వారా మైక్రోసర్వీస్ గురించి మరింత అర్థం చేసుకుందాం.
ఉబెర్ కేస్ స్టడీ
UBER యొక్క మునుపటి నిర్మాణం
అనేక స్టార్టప్ల మాదిరిగానే, UBER తన ప్రయాణాన్ని ఒకే నగరంలో ఒకే సమర్పణ కోసం నిర్మించిన ఏకశిలా నిర్మాణంతో ప్రారంభించింది. ఒక కోడ్బేస్ కలిగి ఉండటం ఆ సమయంలో శుభ్రం చేసినట్లు అనిపించింది మరియు UBER యొక్క ప్రధాన వ్యాపార సమస్యలను పరిష్కరించింది. అయినప్పటికీ, UBER ప్రపంచవ్యాప్తంగా విస్తరించడం ప్రారంభించినప్పుడు, వారు స్కేలబిలిటీ మరియు నిరంతర సమైక్యతకు సంబంధించి వివిధ సమస్యలను కఠినంగా ఎదుర్కొన్నారు.
మూర్తి 4: మోనోలిథిక్ ఆర్కిటెక్చర్ ఆఫ్ యుబెర్ - మైక్రోసర్వీస్ ఆర్కిటెక్చర్
జావాలో ఆబ్జెక్ట్ శ్రేణిని ఎలా సృష్టించాలి
పై రేఖాచిత్రం UBER యొక్క మునుపటి నిర్మాణాన్ని వర్ణిస్తుంది.
- ప్రయాణీకుడు మరియు డ్రైవర్ కనెక్ట్ అయ్యే REST API ఉంది.
- మేము క్యాబ్ను బుక్ చేసేటప్పుడు చూసే బిల్లింగ్, చెల్లింపులు, ఇమెయిళ్ళు / సందేశాలను పంపడం వంటి చర్యలను చేయడానికి వాటిలో మూడు వేర్వేరు ఎడాప్టర్లు ఉపయోగించబడతాయి.
- వారి మొత్తం డేటాను నిల్వ చేయడానికి ఒక MySQL డేటాబేస్.
కాబట్టి, ప్రయాణీకుల నిర్వహణ, బిల్లింగ్, నోటిఫికేషన్ లక్షణాలు, చెల్లింపులు, ట్రిప్ మేనేజ్మెంట్ మరియు డ్రైవర్ మేనేజ్మెంట్ వంటి అన్ని లక్షణాలను మీరు ఇక్కడ గమనించినట్లయితే ఒకే ఫ్రేమ్వర్క్లోనే కంపోజ్ చేశారు.
సమస్యల నివేదిక
UBER ప్రపంచవ్యాప్తంగా విస్తరించడం ప్రారంభించినప్పుడు, ఈ రకమైన ఫ్రేమ్వర్క్ వివిధ సవాళ్లను ప్రవేశపెట్టింది. ఈ క్రింది కొన్ని ప్రముఖ సవాళ్లు
- ఒకే లక్షణాన్ని నవీకరించడానికి అన్ని లక్షణాలను తిరిగి నిర్మించాలి, అమలు చేయాలి మరియు మళ్లీ మళ్లీ పరీక్షించాలి.
- డెవలపర్లు కోడ్ను మళ్లీ మళ్లీ మార్చవలసి ఉన్నందున ఒకే రిపోజిటరీలో దోషాలను పరిష్కరించడం చాలా కష్టమైంది.
- ప్రపంచవ్యాప్తంగా క్రొత్త ఫీచర్లను ప్రవేశపెట్టడంతో ఏకకాలంలో లక్షణాలను స్కేల్ చేయడం చాలా కష్టం.
పరిష్కారం
ఇటువంటి సమస్యలను నివారించడానికి UBER దాని నిర్మాణాన్ని మార్చాలని మరియు అమెజాన్, నెట్ఫ్లిక్స్, ట్విట్టర్ మరియు ఇతర హైపర్-గ్రోత్ కంపెనీలను అనుసరించాలని నిర్ణయించుకుంది. అందువల్ల, UBER తన ఏకశిలా నిర్మాణాన్ని బహుళ కోడ్బేస్లుగా విడదీసి మైక్రోసర్వీస్ ఆర్కిటెక్చర్ను రూపొందించాలని నిర్ణయించుకుంది.
UBER యొక్క మైక్రోసర్వీస్ నిర్మాణాన్ని చూడటానికి క్రింది రేఖాచిత్రాన్ని చూడండి.
మూర్తి 5: మైక్రోసర్వీస్ ఆర్కిటెక్చర్ ఆఫ్ యుబెర్ - మైక్రోసర్వీస్ ఆర్కిటెక్చర్
- మేము ఇక్కడ గమనించిన ప్రధాన మార్పు ఏమిటంటే API గేట్వే పరిచయం, దీని ద్వారా డ్రైవర్లు మరియు ప్రయాణీకులందరూ అనుసంధానించబడ్డారు. API గేట్వే నుండి, ప్రయాణీకుల నిర్వహణ, డ్రైవర్ నిర్వహణ, ట్రిప్ మేనేజ్మెంట్ మరియు ఇతరులు వంటి అన్ని అంతర్గత పాయింట్లు అనుసంధానించబడి ఉన్నాయి.
- యూనిట్లు వేర్వేరు కార్యాచరణలను ప్రదర్శించే వ్యక్తిగత వేరు వేరు వేరు యూనిట్లు.
- ఉదాహరణ కోసం: మీరు బిల్లింగ్ మైక్రోసర్వీస్లో ఏదైనా మార్చాలనుకుంటే, మీరు బిల్లింగ్ మైక్రోసర్వీస్లను మాత్రమే అమర్చాలి మరియు ఇతరులను మోహరించాల్సిన అవసరం లేదు.
- అన్ని లక్షణాలు ఇప్పుడు ఒక్కొక్కటిగా స్కేల్ చేయబడ్డాయి, అనగా ప్రతి లక్షణం మధ్య పరస్పర ఆధారపడటం తొలగించబడింది.
- ఉదాహరణ కోసం, వాస్తవానికి క్యాబ్ను బుక్ చేసుకోవడం మరియు చెల్లింపులు చేసే వ్యక్తుల కంటే క్యాబ్ల కోసం శోధిస్తున్న వారి సంఖ్య చాలా ఎక్కువ అని మనందరికీ తెలుసు. ప్రయాణీకుల నిర్వహణ మైక్రోసర్వీస్లో పనిచేసే ప్రక్రియల సంఖ్య చెల్లింపులపై పనిచేసే ప్రక్రియల సంఖ్య కంటే ఎక్కువ అని ఇది మాకు అనుమానం కలిగిస్తుంది.
ఇందులోమార్గం, UBER బదిలీ చేయడం ద్వారా ప్రయోజనం పొందిందిదానిఏకశిలా నుండి మైక్రోసర్వీస్ వరకు నిర్మాణం.
మైక్రోసర్వీస్ ఆర్కిటెక్చర్లో మీరు ఈ పోస్ట్ చదివి ఆనందించారని నేను నమ్ముతున్నాను.నేను మరిన్ని బ్లాగులతో రాబోతున్నాను, ఇందులో చేతులు కూడా ఉంటాయి.
మైక్రోసర్వీస్ గురించి మరింత తెలుసుకోవడానికి ఆసక్తి ఉందా?
మీరు మైక్రోసర్వీస్ నేర్చుకోవాలనుకుంటే మరియు మీ స్వంత అనువర్తనాలను నిర్మించాలనుకుంటే, మా చూడండి ఇది బోధకుడు నేతృత్వంలోని ప్రత్యక్ష శిక్షణ మరియు నిజ జీవిత ప్రాజెక్ట్ అనుభవంతో వస్తుంది. ఈ శిక్షణ మైక్రోసర్వీస్ను లోతుగా అర్థం చేసుకోవడంలో మీకు సహాయపడుతుంది మరియు ఈ అంశంపై పాండిత్యం సాధించడంలో మీకు సహాయపడుతుంది.
మాకు ప్రశ్న ఉందా? దయచేసి వ్యాఖ్యల విభాగంలో పేర్కొనండి ” మైక్రోసర్వీస్ ఆర్కిటెక్చర్ ”మరియు నేను మీ వద్దకు తిరిగి వస్తాను.