సర్వీస్ మెష్ అంటే ఏమిటి?

మళ్లీ హలో!.. కోర్సు ప్రారంభం సందర్భంగా "సాఫ్ట్‌వేర్ ఆర్కిటెక్ట్" మేము మరొక ఉపయోగకరమైన అనువాదాన్ని సిద్ధం చేసాము.

సర్వీస్ మెష్ అంటే ఏమిటి?

సర్వీస్ మెష్ అనేది అప్లికేషన్ ప్రోగ్రామింగ్ ఇంటర్‌ఫేస్‌ల (APIలు) మధ్య పెద్ద వాల్యూమ్‌ల నెట్‌వర్క్ ఆధారిత ఇంటర్-ప్రాసెస్ కమ్యూనికేషన్‌లను నిర్వహించడానికి అవసరమైన కాన్ఫిగర్ చేయదగిన, తక్కువ-లేటెన్సీ ఇన్‌ఫ్రాస్ట్రక్చర్ లేయర్. సర్వీస్ మెష్ కంటెయినరైజ్డ్ మరియు తరచుగా అశాశ్వతమైన అప్లికేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్ సేవల మధ్య వేగవంతమైన, నమ్మదగిన మరియు సురక్షితమైన కమ్యూనికేషన్‌ని అనుమతిస్తుంది. సర్వీస్ మెష్ సర్వీస్ డిస్కవరీ, లోడ్ బ్యాలెన్సింగ్, ఎన్‌క్రిప్షన్, పారదర్శకత, ట్రేస్‌బిలిటీ, అథెంటికేషన్ మరియు ఆథరైజేషన్ మరియు ఆటో-షట్‌డౌన్ ప్యాటర్న్ సపోర్ట్ వంటి సామర్థ్యాలను అందిస్తుంది (సర్క్యూట్ బ్రేకర్).
ప్రతి సర్వీస్ ఇన్‌స్టాన్స్‌ను ప్రాక్సీ ఉదాహరణతో అందించడం ద్వారా ఒక సర్వీస్ మెష్ సాధారణంగా అమలు చేయబడుతుంది సైడ్‌కార్. సైడ్‌కార్ సేవల మధ్య కమ్యూనికేషన్‌లను నిర్వహించడం, భద్రతా సమస్యలను పర్యవేక్షించడం మరియు పరిష్కరించడం, అంటే వ్యక్తిగత సేవల నుండి సంగ్రహించబడే ప్రతిదీ. ఈ విధంగా, డెవలపర్లు సేవల్లో అప్లికేషన్ కోడ్‌ని వ్రాయగలరు, నిర్వహించగలరు మరియు అందించగలరు మరియు సిస్టమ్ నిర్వాహకులు సర్వీస్ మెష్‌తో పని చేయవచ్చు మరియు అప్లికేషన్‌ను అమలు చేయవచ్చు.

Google, IBM మరియు లిఫ్ట్ నుండి ఇస్టియో ప్రస్తుతం అత్యంత ప్రసిద్ధ సర్వీస్ మెష్ ఆర్కిటెక్చర్. మరియు Kubernetes, వాస్తవానికి Google వద్ద అభివృద్ధి చేయబడింది, ఇప్పుడు Istio మద్దతు ఇచ్చే ఏకైక కంటైనర్ ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్. వ్యాపారులు Istio యొక్క వాణిజ్యపరంగా మద్దతు ఉన్న సంస్కరణలను రూపొందించడానికి ప్రయత్నిస్తున్నారు. ఓపెన్ సోర్స్ ప్రాజెక్ట్‌కి వారు ఎలాంటి కొత్త విషయాలను తీసుకురాగలరో చూడటం ఆసక్తికరంగా ఉంటుంది.

అయినప్పటికీ, ఇతర సర్వీస్ మెష్ ఇంప్లిమెంటేషన్‌లు అభివృద్ధి చేయబడుతున్నాయి కాబట్టి ఇస్టియో మాత్రమే ఎంపిక కాదు. నమూనా sidecar proxy Buoyant, HashiCorp, Solo.io మరియు ఇతర ప్రాజెక్ట్‌లచే నిర్ణయించబడినట్లుగా, అత్యంత ప్రజాదరణ పొందిన అమలు. ప్రత్యామ్నాయ నిర్మాణాలు కూడా ఉన్నాయి: నెట్‌ఫ్లిక్స్ టెక్నాలజీ టూల్‌కిట్ అనేది రిబ్బన్, హిస్టెరిక్స్, యురేకా, ఆర్కైయస్ లైబ్రరీలు, అలాగే అజూర్ సర్వీస్ ఫ్యాబ్రిక్ వంటి ప్లాట్‌ఫారమ్‌ల ద్వారా సర్వీస్ మెష్ ఫంక్షనాలిటీని అమలు చేసే విధానాలలో ఒకటి.

సర్వీస్ మెష్ సర్వీస్ భాగాలు మరియు ఫంక్షన్ల కోసం దాని స్వంత పరిభాషను కూడా కలిగి ఉంది:

  • కంటైనర్ ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్. అప్లికేషన్ ఇన్‌ఫ్రాస్ట్రక్చర్‌కు మరిన్ని ఎక్కువ కంటైనర్‌లు జోడించబడుతున్నందున, కంటైనర్‌లను పర్యవేక్షించడానికి మరియు నిర్వహించడానికి ప్రత్యేక సాధనం అవసరం - కంటైనర్ ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్. కుబెర్నెటెస్ ఈ సముచిత స్థానాన్ని దృఢంగా ఆక్రమించింది, దాని ప్రధాన పోటీదారులు డాకర్ స్వార్మ్ మరియు మెసోస్పియర్ DC/OS కూడా ప్రత్యామ్నాయంగా కుబెర్నెట్స్‌తో ఏకీకరణను అందిస్తున్నాయి.
  • సేవలు మరియు సందర్భాలు (కుబెర్నెటెస్ పాడ్స్). ఉదాహరణ అనేది మైక్రోసర్వీస్ యొక్క ఒకే రన్నింగ్ కాపీ. కొన్నిసార్లు ఒక ఉదాహరణ ఒక కంటైనర్. కుబెర్నెటెస్‌లో, ఒక ఉదాహరణ పాడ్ అని పిలువబడే స్వతంత్ర కంటైనర్‌ల యొక్క చిన్న సమూహాన్ని కలిగి ఉంటుంది. క్లయింట్లు అరుదుగా ఒక ఉదాహరణ లేదా పాడ్‌ను నేరుగా యాక్సెస్ చేస్తారు; చాలా తరచుగా, వారు ఒక సేవను యాక్సెస్ చేస్తారు, ఇది ఒకేలా ఉండే, స్కేలబుల్ మరియు తప్పు-తట్టుకునే సందర్భాలు లేదా పాడ్‌ల (ప్రతిరూపాలు) సమితి.
  • సైడ్‌కార్ ప్రాక్సీ. సైడ్‌కార్ ప్రాక్సీ ఒకే ఉదాహరణ లేదా పాడ్‌తో పని చేస్తుంది. సైడ్‌కార్ ప్రాక్సీ యొక్క అంశం ఏమిటంటే అది పనిచేసే కంటైనర్ నుండి వచ్చే రూట్ లేదా ప్రాక్సీ ట్రాఫిక్ మరియు ట్రాఫిక్‌ను తిరిగి ఇవ్వడం. సైడ్‌కార్ ఇతర సైడ్‌కార్ ప్రాక్సీలతో పరస్పర చర్య చేస్తుంది మరియు ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్ ద్వారా నిర్వహించబడుతుంది. అనేక సర్వీస్ మెష్ అమలులు సైడ్‌కార్ ప్రాక్సీని ఒక ఉదాహరణ లేదా పాడ్‌లో మరియు వెలుపల ఉన్న ట్రాఫిక్ మొత్తాన్ని అడ్డగించడానికి మరియు నిర్వహించడానికి ఉపయోగిస్తాయి.
  • సేవ ఆవిష్కరణ. ఒక ఉదాహరణ మరొక సేవతో కమ్యూనికేట్ చేయవలసి వచ్చినప్పుడు, అది ఇతర సేవ యొక్క ఆరోగ్యకరమైన మరియు అందుబాటులో ఉన్న ఉదాహరణను కనుగొనవలసి ఉంటుంది. సాధారణంగా, ఉదాహరణ DNS శోధనలను నిర్వహిస్తుంది. కంటైనర్ ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్ అభ్యర్థనలను స్వీకరించడానికి సిద్ధంగా ఉన్న సందర్భాల జాబితాను నిర్వహిస్తుంది మరియు DNS ప్రశ్నలకు ఇంటర్‌ఫేస్‌ను అందిస్తుంది.
  • లోడ్ బ్యాలెన్సింగ్. చాలా కంటైనర్ ఆర్కెస్ట్రేషన్ ఫ్రేమ్‌వర్క్‌లు లేయర్ 4 (రవాణా) వద్ద లోడ్ బ్యాలెన్సింగ్‌ను అందిస్తాయి. సర్వీస్ మెష్ లేయర్ 7 (అప్లికేషన్ స్థాయి) వద్ద మరింత సంక్లిష్టమైన లోడ్ బ్యాలెన్సింగ్‌ను అమలు చేస్తుంది, ఇది అల్గారిథమ్‌లతో సమృద్ధిగా ఉంటుంది మరియు ట్రాఫిక్‌ను నిర్వహించడంలో మరింత ప్రభావవంతంగా ఉంటుంది. APIని ఉపయోగించి లోడ్ బ్యాలెన్సింగ్ సెట్టింగ్‌లను మార్చవచ్చు, ఇది బ్లూ-గ్రీన్ లేదా కానరీ డిప్లాయ్‌మెంట్‌లను ఆర్కెస్ట్రేట్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • ఎన్క్రిప్షన్. సర్వీస్ మెష్ రిక్వెస్ట్‌లు మరియు ప్రతిస్పందనలను ఎన్‌క్రిప్ట్ చేయగలదు మరియు డీక్రిప్ట్ చేయగలదు, సేవల నుండి ఈ భారాన్ని తొలగిస్తుంది. సర్వీస్ మెష్ కొత్త కనెక్షన్‌లను రూపొందించడానికి ఖరీదైన గణన అవసరాన్ని తగ్గించడం ద్వారా ఇప్పటికే ఉన్న నిరంతర కనెక్షన్‌లకు ప్రాధాన్యత ఇవ్వడం లేదా మళ్లీ ఉపయోగించడం ద్వారా పనితీరును మెరుగుపరుస్తుంది. ట్రాఫిక్ ఎన్క్రిప్షన్ యొక్క అత్యంత సాధారణ అమలు పరస్పర TLS (mTLS), ఇక్కడ పబ్లిక్ కీ ఇన్‌ఫ్రాస్ట్రక్చర్ (PKI) సైడ్‌కార్ ప్రాక్సీ ద్వారా ఉపయోగం కోసం ధృవపత్రాలు మరియు కీలను ఉత్పత్తి చేస్తుంది మరియు పంపిణీ చేస్తుంది.
  • ప్రమాణీకరణ మరియు ఆథరైజేషన్. సర్వీస్ మెష్ అప్లికేషన్ వెలుపల లేదా లోపల నుండి చేసిన అభ్యర్థనలను ప్రామాణీకరించగలదు మరియు ప్రామాణీకరించగలదు, ఉదంతాలకు ధృవీకరించబడిన అభ్యర్థనలను మాత్రమే పంపుతుంది.
  • ఆటో షట్‌డౌన్ నమూనా మద్దతు. సర్వీస్ మెష్ మద్దతు ఇస్తుంది స్వీయ షట్డౌన్ నమూనా, ఇది అనారోగ్యకరమైన సందర్భాలను వేరు చేసి, అవసరమైనప్పుడు వాటిని క్రమంగా ఆరోగ్యకరమైన సంఘటనల కొలనుకు తిరిగి పంపుతుంది.

ఉదాహరణల మధ్య నెట్‌వర్క్ ట్రాఫిక్‌ను నిర్వహించే సర్వీస్ మెష్ అప్లికేషన్ యొక్క భాగాన్ని అంటారు డేటా ప్లేన్. ప్రవర్తనను నియంత్రించే కాన్ఫిగరేషన్‌ని సృష్టించండి మరియు అమలు చేయండి డేటా ప్లేన్, ఒక ప్రత్యేక ఉపయోగించి నిర్వహిస్తారు కంట్రోల్ ప్లేన్. కంట్రోల్ ప్లేన్ అప్లికేషన్‌ను నియంత్రించడానికి సాధారణంగా API, CLI లేదా GUIకి కనెక్ట్ అయ్యేలా కలిగి ఉంటుంది లేదా రూపొందించబడింది.

సర్వీస్ మెష్ అంటే ఏమిటి?
సర్వీస్ మెష్‌లోని కంట్రోల్ ప్లేన్ సైడ్‌కార్ ప్రాక్సీ మరియు డేటా ప్లేన్ మధ్య కాన్ఫిగరేషన్‌ను పంపిణీ చేస్తుంది.

సర్వీస్ మెష్ ఆర్కిటెక్చర్ తరచుగా కంటైనర్లు మరియు మైక్రోసర్వీస్‌లను ఉపయోగించి సంక్లిష్ట కార్యాచరణ సమస్యలను పరిష్కరించడానికి ఉపయోగించబడుతుంది. రంగంలో మార్గదర్శకులు సూక్ష్మసేవలు Lyft, Netflix మరియు Twitter వంటి కంపెనీలు ప్రపంచవ్యాప్తంగా మిలియన్ల మంది వినియోగదారులకు స్థిరమైన సేవలను అందిస్తాయి. (నెట్‌ఫ్లిక్స్ ఎదుర్కొన్న కొన్ని నిర్మాణ సవాళ్లను ఇక్కడ వివరంగా చూడండి.) తక్కువ డిమాండ్ ఉన్న అప్లికేషన్‌ల కోసం, సరళమైన ఆర్కిటెక్చర్‌లు సరిపోతాయి.

సర్వీస్ మెష్ ఆర్కిటెక్చర్ అన్ని అప్లికేషన్ ఆపరేషన్ మరియు డెలివరీ సమస్యలకు సమాధానంగా ఉండదు. వాస్తుశిల్పులు మరియు డెవలపర్లు టూల్స్ యొక్క భారీ ఆర్సెనల్ కలిగి ఉన్నారు, మరియు వాటిలో ఒకటి మాత్రమే ఒక సుత్తి, ఇది అనేక పనులలో, ఒకదానిని మాత్రమే పరిష్కరించాలి - గోర్లు కొట్టడం. NGINX నుండి మైక్రోసర్వీసెస్ రిఫరెన్స్ ఆర్కిటెక్చర్, ఉదాహరణకు, మైక్రోసర్వీస్‌లను ఉపయోగించి సమస్యలను పరిష్కరించడానికి నిరంతర విధానాలను అందించే అనేక విభిన్న నమూనాలను కలిగి ఉంటుంది.

సర్వీస్ మెష్ ఆర్కిటెక్చర్‌లో NGINX, కంటైనర్‌లు, కుబెర్నెట్స్ మరియు మైక్రోసర్వీసెస్ వంటి ఆర్కిటెక్చరల్ విధానంలో కలిసి వచ్చే అంశాలు, సర్వీస్-యేతర మెష్ అమలులలో సమానంగా ఉత్పాదకతను కలిగి ఉంటాయి. ఉదాహరణకు, ఇస్టియో పూర్తి సర్వీస్ మెష్ ఆర్కిటెక్చర్‌గా రూపొందించబడింది, అయితే దాని మాడ్యులారిటీ అంటే డెవలపర్‌లు తమకు అవసరమైన సాంకేతిక భాగాలను మాత్రమే ఎంచుకుని అమలు చేయగలరు. దీన్ని దృష్టిలో ఉంచుకుని, సర్వీస్ మెష్ కాన్సెప్ట్‌పై స్పష్టమైన అవగాహనను పెంపొందించుకోవడం చాలా ముఖ్యం, మీరు మీ అప్లికేషన్‌లో దీన్ని పూర్తిగా అమలు చేయగలరని మీకు ఖచ్చితంగా తెలియకపోయినా.

మాడ్యులర్ ఏకశిలాలు మరియు DDD

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి