నా ఏకశిలాను నాకు తిరిగి ఇవ్వండి

మైక్రోసర్వీస్‌ల కోసం హైప్ యొక్క శిఖరం మన వెనుక ఉన్నట్లు అనిపిస్తుంది. మేము ఇకపై వారానికి చాలాసార్లు పోస్ట్‌లను చదవము "నేను నా మోనోలిత్‌ను 150 సేవలకు ఎలా తరలించాను." ఇప్పుడు నేను మరింత ఇంగితజ్ఞానం ఆలోచనలను విన్నాను: "నేను ఏకశిలాను ద్వేషించను, నేను సమర్థత గురించి శ్రద్ధ వహిస్తాను." మేము అనేక వలసలను కూడా గమనించాము మైక్రోసర్వీసెస్ నుండి తిరిగి ఏకశిలాకు. ఒక పెద్ద అప్లికేషన్ నుండి అనేక చిన్న సేవలకు మారినప్పుడు, మీరు అనేక కొత్త సమస్యలను పరిష్కరించవలసి ఉంటుంది. వాటిని వీలైనంత క్లుప్తంగా జాబితా చేద్దాం.

సెట్టింగ్: ప్రాథమిక రసాయన శాస్త్రం నుండి క్వాంటం మెకానిక్స్ వరకు

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

వ్యవస్థ అర్థం చేసుకోవడం సులభం కాదు

ఒక్క సారి మన జూనియర్ పై దృష్టి పెడదాం. ఏకశిలా అనువర్తనాలతో, లోపం సంభవించినట్లయితే, దాన్ని ట్రాక్ చేయడం సులభం మరియు వెంటనే డీబగ్గింగ్‌కు వెళ్లండి. ఇప్పుడు మేము మరొక సేవతో మాట్లాడుతున్న సేవను కలిగి ఉన్నాము, అది మరొక సేవను ప్రాసెస్ చేస్తున్న సందేశ బస్సులో ఏదో క్యూలో ఉంది - ఆపై ఒక లోపం ఏర్పడుతుంది. సర్వీస్ A వెర్షన్ 11ని నడుపుతోందని మరియు సర్వీస్ E ఇప్పటికే వెర్షన్ 12 కోసం వేచి ఉందని తెలుసుకోవడానికి మేము ఈ ముక్కలన్నింటినీ కలిపి ఉంచాలి. ఇది నా స్టాండర్డ్ కన్సాలిడేటెడ్ లాగ్‌కి చాలా భిన్నంగా ఉంటుంది: నడవడానికి ఇంటరాక్టివ్ టెర్మినల్/డీబగ్గర్‌ని ఉపయోగించాలి. దశల వారీ ప్రక్రియ ద్వారా. డీబగ్గింగ్ మరియు అర్థం చేసుకోవడం అంతర్లీనంగా మరింత కష్టంగా మారాయి.

ఇది డీబగ్ చేయలేకపోతే, మేము వాటిని పరీక్షిస్తాము

నిరంతర ఏకీకరణ మరియు నిరంతర అభివృద్ధి ఇప్పుడు సర్వసాధారణంగా మారాయి. నేను చూసే చాలా కొత్త యాప్‌లు ప్రతి కొత్త రిలీజ్‌తో ఆటోమేటిక్‌గా టెస్ట్‌లను క్రియేట్ చేస్తాయి మరియు రన్ చేస్తాయి మరియు రిజిస్ట్రేషన్‌కు ముందు పరీక్షలు తీసుకోవాలి మరియు రివ్యూ చేయాలి. ఇవి విస్మరించకూడని గొప్ప ప్రక్రియలు మరియు అనేక కంపెనీలకు పెద్ద మార్పుగా ఉన్నాయి. కానీ ఇప్పుడు, సేవను నిజంగా పరీక్షించడానికి, నేను నా అప్లికేషన్ యొక్క పూర్తి వర్కింగ్ వెర్షన్‌ను తీయాలి. 8 సేవల K150 క్లస్టర్‌తో ఆ కొత్త ఇంజనీర్ గుర్తున్నారా? సరే, ఇప్పుడు మేము మా CI సిస్టమ్‌కు ప్రతిదీ నిజంగా పని చేస్తుందో లేదో ధృవీకరించడానికి ఈ అన్ని సిస్టమ్‌లను ఎలా ఎత్తాలో నేర్పుతాము. ఇది బహుశా చాలా శ్రమతో కూడుకున్నది, కాబట్టి మేము ప్రతి భాగాన్ని ఐసోలేషన్‌లో పరీక్షిస్తాము: మా స్పెక్స్ తగినంతగా ఉన్నాయని, APIలు శుభ్రంగా ఉన్నాయని మరియు సేవ వైఫల్యం వేరు చేయబడిందని మరియు ఇతరులను ప్రభావితం చేయదని నేను విశ్వసిస్తున్నాను.

అన్ని రాజీలకు మంచి కారణం ఉంది. సరియైనదా?

మైక్రోసర్వీస్‌కు వెళ్లడానికి చాలా కారణాలు ఉన్నాయి. ఎక్కువ సౌలభ్యం కోసం, స్కేలింగ్ టీమ్‌ల కోసం, పనితీరు కోసం, మెరుగైన స్థిరత్వాన్ని అందించడం కోసం దీన్ని నేను చూశాను. కానీ వాస్తవానికి, అభివృద్ధి చెందుతున్న ఏకశిలాలను అభివృద్ధి చేయడానికి మేము సాధనాలు మరియు అభ్యాసాలలో దశాబ్దాలుగా పెట్టుబడి పెట్టాము. నేను వివిధ సాంకేతికతల్లో నిపుణులతో కలిసి పని చేస్తున్నాను. మేము సాధారణంగా స్కేలింగ్ గురించి మాట్లాడుతాము ఎందుకంటే అవి ఒకే పోస్ట్‌గ్రెస్ డేటాబేస్ నోడ్ యొక్క పరిమితుల్లోకి వస్తాయి. చాలా వరకు సంభాషణలు గురించే డేటాబేస్ స్కేలింగ్.

కానీ నేను వారి వాస్తుశిల్పం గురించి తెలుసుకోవడానికి ఎల్లప్పుడూ ఆసక్తిని కలిగి ఉంటాను. మైక్రోసర్వీస్‌లకు పరివర్తన ఏ దశలో ఉన్నాయి? ఎక్కువ మంది ఇంజనీర్లు తమ ఏకశిలా అప్లికేషన్‌తో సంతోషంగా ఉన్నారని చెప్పడం ఆసక్తికరంగా ఉంది. చాలా మంది వ్యక్తులు మైక్రోసర్వీస్‌ల నుండి ప్రయోజనం పొందుతారు మరియు మైగ్రేషన్ మార్గంలో ఉన్న బంప్‌ల కంటే ప్రయోజనాలు ఎక్కువగా ఉంటాయి. కానీ వ్యక్తిగతంగా, దయచేసి నాకు నా మోనోలిథిక్ అప్లికేషన్, బీచ్‌లో ఒక స్థలాన్ని ఇవ్వండి - మరియు నేను పూర్తిగా సంతోషంగా ఉన్నాను.

మూలం: www.habr.com

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