விநியோகிக்கப்பட்ட டிரேசிங்: நாங்கள் தவறு செய்தோம்

குறிப்பு. மொழிபெயர்: இந்த உள்ளடக்கத்தின் ஆசிரியர் சிண்டி ஸ்ரீதரன், imgix இன் பொறியாளர், அவர் API மேம்பாடு மற்றும் குறிப்பாக மைக்ரோ சர்வீஸ் சோதனையில் நிபுணத்துவம் பெற்றவர். இந்த உள்ளடக்கத்தில், விநியோகிக்கப்பட்ட தடமறிதல் துறையில் தற்போதைய சிக்கல்களைப் பற்றிய தனது விரிவான பார்வையை அவர் பகிர்ந்து கொள்கிறார், அங்கு, அவரது கருத்துப்படி, அழுத்தும் சிக்கல்களைத் தீர்ப்பதற்கு உண்மையிலேயே பயனுள்ள கருவிகள் இல்லை.

விநியோகிக்கப்பட்ட டிரேசிங்: நாங்கள் தவறு செய்தோம்
[விளக்கம் எடுக்கப்பட்டது மற்ற பொருள் விநியோகிக்கப்பட்ட தடம் பற்றி.]

அது நம்பப்படுகிறது விநியோகிக்கப்பட்ட டிரேசிங் செயல்படுத்துவது கடினம், அதன் மீதான வருமானம் சிறந்த சந்தேகத்திற்குரியது. தடமறிதல் சிக்கலாக இருப்பதற்கு பல காரணங்கள் உள்ளன, ஒவ்வொரு கோரிக்கையிலும் பொருத்தமான தலைப்புகளை அனுப்புவதற்கு ஒவ்வொரு கணினி கூறுகளையும் உள்ளமைப்பதில் ஈடுபட்டுள்ள உழைப்பை மேற்கோள் காட்டுகின்றனர். இந்த பிரச்சனை இருந்தாலும், அது எந்த வகையிலும் தீர்க்க முடியாதது. மூலம், டெவலப்பர்கள் ஏன் டிரேசிங் விரும்புவதில்லை (ஏற்கனவே செயல்பட்டாலும் கூட) இது விளக்கவில்லை.

விநியோகிக்கப்பட்ட டிரேசிங்கில் உள்ள முக்கிய சவால், தரவைச் சேகரிப்பது, முடிவுகளை விநியோகிப்பதற்கும் வழங்குவதற்கும் வடிவங்களைத் தரப்படுத்துவது அல்லது எப்போது, ​​எங்கே, எப்படி மாதிரி செய்வது என்பதைத் தீர்மானிப்பது. நான் கற்பனை செய்ய முயற்சிக்கவில்லை அற்பமானது இந்த "புரிந்துகொள்ளும் சிக்கல்கள்" உண்மையில் மிகவும் குறிப்பிடத்தக்க தொழில்நுட்பம் மற்றும் (நாம் உண்மையிலேயே திறந்த மூலத்தைக் கருத்தில் கொண்டால்) தரநிலைகள் மற்றும் நெறிமுறைகள்) இப்பிரச்சினைகளுக்கு தீர்வு காணப்பட வேண்டும் என்பதற்காக கடக்க வேண்டிய அரசியல் சவால்கள்.

எவ்வாறாயினும், இந்த சிக்கல்கள் அனைத்தும் தீர்க்கப்பட்டுவிட்டன என்று நாம் கற்பனை செய்தால், குறிப்பிடத்தக்க வகையில் எதுவும் மாறாது என்பதற்கான அதிக நிகழ்தகவு உள்ளது. இறுதி பயனர் அனுபவம். மிகவும் பொதுவான பிழைத்திருத்தக் காட்சிகளில் தடமறிதல் நடைமுறையில் பயன்படுத்தப்படாமல் இருக்கலாம்—அது பயன்படுத்தப்பட்ட பின்னரும் கூட.

அப்படி ஒரு வித்தியாசமான தடயம்

விநியோகிக்கப்பட்ட டிரேசிங் பல வேறுபட்ட கூறுகளை உள்ளடக்கியது:

  • கட்டுப்பாட்டு கருவிகளுடன் பயன்பாடுகள் மற்றும் மிடில்வேர்களை சித்தப்படுத்துதல்;
  • விநியோகிக்கப்பட்ட சூழல் பரிமாற்றம்;
  • தடயங்கள் சேகரிப்பு;
  • சுவடு சேமிப்பு;
  • அவற்றின் பிரித்தெடுத்தல் மற்றும் காட்சிப்படுத்தல்.

விநியோகிக்கப்பட்ட ட்ரேசிங் பற்றி நிறைய பேச்சுக்கள் அதை ஒரு வகையான unary அறுவை சிகிச்சையாக கருதுகின்றன, இதன் ஒரே நோக்கம் கணினியை முழுமையாக கண்டறிய உதவுவதாகும். விநியோகிக்கப்பட்ட ட்ரேசிங் பற்றிய கருத்துக்கள் வரலாற்று ரீதியாக எவ்வாறு உருவாக்கப்பட்டன என்பதாலேயே இது பெரிதும் காரணமாகும். IN வலைப்பதிவு இடுகைகள், ஜிப்கின் ஆதாரங்கள் திறக்கப்பட்ட போது, ​​அதில் குறிப்பிடப்பட்டுள்ளது இது [ஜிப்கின்] ட்விட்டரை வேகமாக்குகிறது. தடமறிதலுக்கான முதல் வணிக சலுகைகளும் விளம்பரப்படுத்தப்பட்டன APM கருவிகள்.

குறிப்பு. மொழிபெயர்: மேலும் உரையை எளிதாகப் புரிந்துகொள்ள, இரண்டு அடிப்படைச் சொற்களின் படி வரையறுப்போம் OpenTracing திட்ட ஆவணங்கள்:

  • span - விநியோகிக்கப்பட்ட தடத்தின் அடிப்படை உறுப்பு. இது ஒரு பெயர், தொடக்க மற்றும் இறுதி நேரங்கள், குறிச்சொற்கள், பதிவுகள் மற்றும் சூழல் ஆகியவற்றுடன் ஒரு குறிப்பிட்ட பணிப்பாய்வு (எடுத்துக்காட்டாக, ஒரு தரவுத்தள வினவல்) பற்றிய விளக்கமாகும்.
  • ஸ்பான்கள் பொதுவாக மற்ற ஸ்பான்களுக்கான இணைப்புகளைக் கொண்டிருக்கும், இது பல இடைவெளிகளை இணைக்க அனுமதிக்கிறது டிரேஸ் - விநியோகிக்கப்பட்ட அமைப்பின் மூலம் ஒரு கோரிக்கையின் வாழ்க்கையின் காட்சிப்படுத்தல்.

தயாரிப்பு சோதனை, பேரழிவு மீட்பு சோதனை, பிழை ஊசி சோதனை போன்ற பணிகளுக்கு உதவக்கூடிய நம்பமுடியாத மதிப்புமிக்க தரவு தடயங்களில் உள்ளது. உண்மையில், சில நிறுவனங்கள் ஏற்கனவே இதே நோக்கங்களுக்காக டிரேசிங் பயன்படுத்துகின்றன. ஆரம்பிப்போம் உலகளாவிய சூழல் பரிமாற்றம் சேமிப்பக அமைப்புக்கு ஸ்பான்களை நகர்த்துவதைத் தவிர மற்ற பயன்பாடுகளையும் கொண்டுள்ளது:

  • உதாரணமாக, Uber பயன்கள் சோதனை போக்குவரத்து மற்றும் உற்பத்தி போக்குவரத்தை வேறுபடுத்துவதற்கான முடிவுகளைக் கண்டறிதல்.
  • பேஸ்புக் பயன்கள் வழக்கமான பேரிடர் மீட்பு சோதனைகளின் போது முக்கியமான பாதை பகுப்பாய்வு மற்றும் போக்குவரத்து மாற்றத்திற்கான தரவுகளைக் கண்டறியவும்.
  • மேலும் சமூக வலைப்பின்னல் பொருந்தும் டிரேஸ் முடிவுகளில் தன்னிச்சையான வினவல்களை இயக்க டெவலப்பர்களை அனுமதிக்கும் Jupyter குறிப்பேடுகள்.
  • பின்பற்றுபவர்கள் எல்.டி.எஃப்.ஐ. (பரம்பரை உந்துதல் தோல்வி ஊசி) பயன்பாடு பிழை ஊசி மூலம் சோதனை செய்வதற்கான தடயங்கள் விநியோகிக்கப்பட்டன.

மேலே பட்டியலிடப்பட்டுள்ள விருப்பங்கள் எதுவும் சூழ்நிலைக்கு முற்றிலும் பொருந்தாது பிழைத்திருத்தம், இதன் போது பொறியாளர் தடயத்தைப் பார்த்து சிக்கலைத் தீர்க்க முயற்சிக்கிறார்.

அது வரும்போது இன்னும் பிழைத்திருத்த ஸ்கிரிப்டை அடைகிறது, முதன்மை இடைமுகம் வரைபடமாகவே இருக்கும் சுவடு பார்வை (சிலர் அதையும் அழைத்தாலும் "காண்ட் விளக்கப்படம்" அல்லது "நீர்வீழ்ச்சி வரைபடம்") கீழ் சுவடு பார்வை я நான் என்ன சொல்கிறேன் என்றால் அனைத்து இடைவெளிகளும் அதனுடன் இணைந்த மெட்டாடேட்டாவும் சேர்ந்து தடத்தை உருவாக்குகின்றன. ஒவ்வொரு ஓப்பன் சோர்ஸ் டிரேசிங் சிஸ்டமும், அதே போல் ஒவ்வொரு வணிக ட்ரேசிங் தீர்வையும் வழங்குகிறது சுவடு பார்வை காட்சிப்படுத்தல், விவரித்தல் மற்றும் வடிகட்டுதல் ஆகியவற்றுக்கான பயனர் இடைமுகம்.

நான் இதுவரை பார்த்த அனைத்து ட்ரேசிங் சிஸ்டம்களிலும் உள்ள சிக்கல் என்னவென்றால், இதன் விளைவாகும் காட்சிப்படுத்தல் (டிரேஸ்வியூ) சுவடு உருவாக்க செயல்முறையின் அம்சங்களை கிட்டத்தட்ட முழுமையாக பிரதிபலிக்கிறது. மாற்று காட்சிப்படுத்தல்கள் முன்மொழியப்பட்டாலும் கூட: ஹீட்மேப்கள், சர்வீஸ் டோபாலஜிகள், லேட்டன்சி ஹிஸ்டோகிராம்கள், அவை இன்னும் இறுதியில் கீழே வருகின்றன சுவடு பார்வை.

கடந்த காலத்தில் ஐ புகார் செய்தார் UI/UX ட்ரேசிங்கில் பெரும்பாலான "புதுமைகள்" வரையறுக்கப்பட்டதாகத் தெரிகிறது இயக்குகிறது கூடுதல் மெட்டாடேட்டா ட்ரேஸ், அவற்றில் அதிக கார்டினாலிட்டியுடன் தகவல்களை முதலீடு செய்கிறது (உயர் கார்டினலிட்டி) அல்லது குறிப்பிட்ட இடைவெளிகளில் துளையிடும் அல்லது வினவல்களை இயக்கும் திறனை வழங்குகிறது இடை மற்றும் உள் சுவடு... இதில் சுவடு பார்வை முதன்மை காட்சிப்படுத்தல் கருவியாக உள்ளது. இந்த நிலை தொடரும் வரை, அளவீடுகள், பதிவுகள் மற்றும் ஸ்டேக் ட்ரேஸ்களுக்குப் பிறகு, விநியோகிக்கப்பட்ட டிரேசிங் பிழைத்திருத்தக் கருவியாக 4வது இடத்தைப் பிடிக்கும், மேலும் மோசமான நிலையில் அது பணத்தையும் நேரத்தையும் வீணடிப்பதாக மாறிவிடும்.

ட்ரேஸ்வியூவில் சிக்கல்

விதி சுவடு பார்வை — விநியோகிக்கப்பட்ட அமைப்பின் அனைத்து கூறுகளிலும் ஒரே கோரிக்கையின் இயக்கத்தின் முழுமையான படத்தை வழங்கவும். இன்னும் சில மேம்பட்ட டிரேசிங் சிஸ்டம்கள் தனிப்பட்ட இடைவெளிகளில் துளையிடவும், காலப்போக்கில் முறிவைக் காணவும் உங்களை அனுமதிக்கின்றன உள்ள ஒரு செயல்முறை (ஸ்பான்கள் செயல்பாட்டு எல்லைகளைக் கொண்டிருக்கும் போது).

மைக்ரோ சர்வீஸ் கட்டிடக்கலையின் அடிப்படைக் கருத்து, நிறுவனத்தின் தேவைகளுடன் நிறுவன அமைப்பு வளர்ச்சியடைகிறது. மைக்ரோ சர்வீஸின் ஆதரவாளர்கள், தனிப்பட்ட சேவைகளில் பல்வேறு வணிகப் பணிகளை விநியோகிப்பதன் மூலம், சிறிய, தன்னாட்சி மேம்பாட்டுக் குழுக்கள் அத்தகைய சேவைகளின் முழு வாழ்க்கைச் சுழற்சியையும் கட்டுப்படுத்த அனுமதிக்கிறது, அந்தச் சேவைகளை சுயாதீனமாக உருவாக்க, சோதிக்க மற்றும் பயன்படுத்துவதற்கான திறனை அவர்களுக்கு வழங்குகிறது. இருப்பினும், இந்த விநியோகத்தின் தீமை என்னவென்றால், ஒவ்வொரு சேவையும் மற்றவர்களுடன் எவ்வாறு தொடர்பு கொள்கிறது என்பது பற்றிய தகவலை இழப்பதாகும். இத்தகைய நிலைமைகளில், விநியோகிக்கப்பட்ட தடமறிதல் ஒரு தவிர்க்க முடியாத கருவியாகும் பிழைத்திருத்தம் சேவைகளுக்கு இடையிலான சிக்கலான தொடர்புகள்.

நீங்கள் உண்மையில் என்றால் அதிர்ச்சியூட்டும் சிக்கலான விநியோக அமைப்பு, அப்படியானால் ஒருவராலும் தலையில் வைத்துக் கொள்ள முடியாது முழுமை படம். உண்மையில், அது கூட சாத்தியம் என்ற அனுமானத்தின் அடிப்படையில் ஒரு கருவியை உருவாக்குவது ஒரு எதிர்ப்பு முறை (ஒரு பயனற்ற மற்றும் பயனற்ற அணுகுமுறை) ஆகும். வெறுமனே, பிழைத்திருத்தத்திற்கு உதவும் ஒரு கருவி தேவைப்படுகிறது உங்கள் தேடல் பகுதியை சுருக்கவும், அதனால் பொறியாளர்கள் பரிசீலிக்கப்படும் சிக்கல் சூழ்நிலைக்கு தொடர்புடைய பரிமாணங்களின் துணைக்குழுவில் (சேவைகள்/பயனர்கள்/புரவலர்கள், முதலியன) கவனம் செலுத்த முடியும். தோல்விக்கான காரணத்தை தீர்மானிக்கும் போது, ​​பொறியாளர்கள் அதன் போது என்ன நடந்தது என்பதை புரிந்து கொள்ள வேண்டிய அவசியமில்லை அனைத்து சேவைகளும் ஒரே நேரத்தில், அத்தகைய தேவை மைக்ரோ சர்வீஸ் கட்டமைப்பின் யோசனைக்கு முரணாக இருக்கும் என்பதால்.

இருப்பினும், ட்ரேஸ்வியூ உள்ளது அதாவது இது. ஆம், சில ட்ரேசிங் சிஸ்டம்கள், ட்ரேஸில் உள்ள இடைவெளிகளின் எண்ணிக்கை மிகப் பெரியதாக இருக்கும் போது, ​​அவற்றை ஒரு காட்சிப்படுத்தலில் காட்ட முடியாதபடி சுருக்கப்பட்ட ட்ரேஸ்வியூகளை வழங்குகின்றன. இருப்பினும், அத்தகைய அகற்றப்பட்ட காட்சிப்படுத்தலில் கூட அதிக அளவு தகவல்கள் இருப்பதால், பொறியாளர்கள் இன்னும் கட்டாயப்படுத்தப்பட்டது அதை "சலி" செய்து, பிரச்சனைகளின் ஆதாரமான சேவைகளின் தொகுப்பாக தேர்வை கைமுறையாக சுருக்குகிறது. துரதிருஷ்டவசமாக, இந்தத் துறையில், இயந்திரங்கள் மனிதர்களை விட மிக வேகமாகவும், பிழைகள் குறைவாகவும் உள்ளன, மேலும் அவற்றின் முடிவுகள் மீண்டும் மீண்டும் வருகின்றன.

ட்ரேஸ்வியூ தவறானது என்று நான் நினைக்கும் மற்றொரு காரணம், இது கருதுகோள் சார்ந்த பிழைத்திருத்தத்திற்கு நல்லதல்ல. அதன் மையத்தில், பிழைத்திருத்தம் உள்ளது மீண்டும் மீண்டும் ஒரு கருதுகோளுடன் தொடங்கும் செயல்முறை, பல்வேறு வெக்டார்களுடன் அமைப்பிலிருந்து பெறப்பட்ட பல்வேறு அவதானிப்புகள் மற்றும் உண்மைகளின் சரிபார்ப்பு, முடிவுகள்/பொதுமைப்படுத்தல்கள் மற்றும் கருதுகோளின் உண்மையை மேலும் மதிப்பீடு செய்தல்.

திறன் வேகமான மற்றும் மலிவான கருதுகோள்களைச் சோதித்து அதற்கேற்ப மன மாதிரியை மேம்படுத்துவது மூலக்கல் பிழைத்திருத்தம் எந்த பிழைத்திருத்த கருவியும் இருக்க வேண்டும் ஊடாடும் மற்றும் தேடல் இடத்தைக் குறைக்கவும் அல்லது தவறான லீட் ஏற்பட்டால், பயனரைத் திரும்பிச் சென்று கணினியின் வேறு பகுதியில் கவனம் செலுத்த அனுமதிக்கவும். சரியான கருவி இதைச் செய்யும் செயலில், சாத்தியமான சிக்கல் பகுதிகளுக்கு உடனடியாக பயனரின் கவனத்தை ஈர்க்கிறது.

ஐயோ, சுவடு பார்வை ஊடாடும் இடைமுகம் கொண்ட கருவி என்று அழைக்க முடியாது. இதைப் பயன்படுத்தும் போது நீங்கள் நம்பக்கூடிய சிறந்தது, தாமதத்தின் சில ஆதாரங்களைக் கண்டறிந்து அதனுடன் தொடர்புடைய அனைத்து சாத்தியமான குறிச்சொற்கள் மற்றும் பதிவுகளைப் பார்க்கவும். இது பொறியாளரை அடையாளம் காண உதவாது வடிவங்கள் போக்குவரத்தில், தாமத விநியோகத்தின் பிரத்தியேகங்கள் அல்லது வெவ்வேறு அளவீடுகளுக்கு இடையே உள்ள தொடர்புகளைக் கண்டறிதல். பொதுவான சுவடு பகுப்பாய்வு இந்த சிக்கல்களில் சிலவற்றைச் சமாளிக்க உதவலாம். உண்மையில், உதாரணங்கள் உள்ளன முரண்பாடான இடைவெளிகளை அடையாளம் காணவும், முரண்பாடான நடத்தையுடன் தொடர்புடைய குறிச்சொற்களின் துணைக்குழுவை அடையாளம் காணவும் இயந்திர கற்றலைப் பயன்படுத்தி வெற்றிகரமான பகுப்பாய்வு. இருப்பினும், ட்ரேஸ்வியூ அல்லது டிஏஜி (இயக்கிய அசைக்ளிக் கிராஃப்) ஆகியவற்றில் இருந்து கணிசமாக வேறுபட்ட ஸ்பான்களுக்குப் பயன்படுத்தப்படும் மெஷின் லேர்னிங் அல்லது டேட்டா மைனிங் கண்டுபிடிப்புகளின் அழுத்தமான காட்சிப்படுத்தல்களை நான் இன்னும் பார்க்கவில்லை.

ஸ்பேன்கள் மிகக் குறைந்த அளவில் உள்ளன

ட்ரேஸ்வியூவின் அடிப்படை பிரச்சனை அதுதான் பரவியுள்ளது தாமத பகுப்பாய்வு மற்றும் மூல காரண பகுப்பாய்வு ஆகிய இரண்டிற்கும் மிகக் குறைந்த அளவிலான பழமையானவை. இது ஒரு விதிவிலக்கைத் தீர்க்க தனிப்பட்ட செயலி கட்டளைகளைப் பாகுபடுத்துவது போன்றது, வேலை செய்வதற்கு மிகவும் வசதியான பேக்டிரேஸ் போன்ற உயர்-நிலை கருவிகள் உள்ளன என்பதை அறிந்துகொள்வது.

மேலும், பின்வருவனவற்றை வலியுறுத்துவதற்கான சுதந்திரத்தை நான் எடுத்துக்கொள்கிறேன்: வெறுமனே, எங்களுக்குத் தேவையில்லை முழு படம் கோரிக்கை வாழ்க்கைச் சுழற்சியின் போது ஏற்பட்டது, இது நவீன டிரேசிங் கருவிகளால் குறிப்பிடப்படுகிறது. அதற்குப் பதிலாக, எதைப் பற்றிய தகவல்களைக் கொண்ட சில உயர்-நிலை சுருக்கம் தேவைப்படுகிறது தவறாகப் போய்விட்டது (பின்னணியைப் போன்றது), சில சூழல்களுடன். முழு தடத்தையும் பார்ப்பதற்குப் பதிலாக, அதைப் பார்க்க விரும்புகிறேன் பகுதி, சுவாரஸ்யமான அல்லது அசாதாரணமான ஒன்று நடக்கும் இடத்தில். தற்போது, ​​​​தேடல் கைமுறையாக மேற்கொள்ளப்படுகிறது: பொறியாளர் தடயத்தைப் பெறுகிறார் மற்றும் சுவாரஸ்யமான ஒன்றைத் தேடி இடைவெளிகளை சுயாதீனமாக பகுப்பாய்வு செய்கிறார். சந்தேகத்திற்கிடமான செயல்பாட்டைக் கண்டறியும் நம்பிக்கையில் தனித்தனி தடயங்களில் ஸ்பான்களை உற்று நோக்கும் நபர்களின் அணுகுமுறை அளவிடப்படவே இல்லை (குறிப்பாக span ID, RPC முறையின் பெயர், span கால அளவு போன்ற வெவ்வேறு இடைவெளிகளில் குறியிடப்பட்ட அனைத்து மெட்டாடேட்டாவையும் அவர்கள் உணர வேண்டியிருக்கும் போது. 'a, பதிவுகள், குறிச்சொற்கள், முதலியன).

ட்ரேஸ்வியூக்கான மாற்றுகள்

சிஸ்டத்தின் ஒன்றோடொன்று இணைக்கப்பட்ட பகுதிகளில் என்ன நடக்கிறது என்பதைப் பற்றிய அற்பமான பார்வையை வழங்கும் வகையில் காட்சிப்படுத்தப்படும் போது, ​​ட்ரேஸ் முடிவுகள் மிகவும் பயனுள்ளதாக இருக்கும். இது நடக்கும் வரை, பிழைத்திருத்த செயல்முறை பெரும்பாலும் இருக்கும் செயலற்ற மற்றும் சரியான தொடர்புகளை கவனிக்க, கணினியின் சரியான பகுதிகளை சரிபார்க்க அல்லது புதிரின் துண்டுகளை ஒன்றாக இணைக்கும் பயனரின் திறனைப் பொறுத்தது - மாறாக கருவி, இந்த கருதுகோள்களை உருவாக்க பயனருக்கு உதவுகிறது.

நான் ஒரு காட்சி வடிவமைப்பாளர் அல்லது UX நிபுணர் அல்ல, ஆனால் அடுத்த பகுதியில் இந்த காட்சிப்படுத்தல்கள் எப்படி இருக்கும் என்பது குறித்த சில யோசனைகளைப் பகிர விரும்புகிறேன்.

குறிப்பிட்ட சேவைகளில் கவனம் செலுத்துங்கள்

யோசனைகளைச் சுற்றி தொழில்துறை ஒருங்கிணைக்கும் நேரத்தில் SLO (சேவை நிலை நோக்கங்கள்) மற்றும் SLI (சேவை நிலை குறிகாட்டிகள்), தனிப்பட்ட அணிகள் தங்கள் சேவைகள் இந்த இலக்குகளுடன் சீரமைக்கப்படுவதை உறுதி செய்வதற்கு முன்னுரிமை அளிக்க வேண்டும் என்பது நியாயமானதாகத் தெரிகிறது. அதைத் தொடர்ந்து வருகிறது சேவை சார்ந்த காட்சிப்படுத்தல் அத்தகைய அணிகளுக்கு மிகவும் பொருத்தமானது.

தடயங்கள், குறிப்பாக மாதிரி இல்லாமல், விநியோகிக்கப்பட்ட அமைப்பின் ஒவ்வொரு கூறுகளையும் பற்றிய தகவல்களின் புதையல் ஆகும். இந்த தகவலை ஒரு தந்திரமான செயலிக்கு வழங்கலாம், அது பயனர்களுக்கு வழங்க முடியும் சேவை சார்ந்த கண்டுபிடிப்புகள் முன்கூட்டியே அடையாளம் காணப்படலாம் - பயனர் தடயங்களைப் பார்ப்பதற்கு முன்பே:

  1. மிக முக்கியமான கோரிக்கைகளுக்கு மட்டுமே தாமத விநியோக வரைபடங்கள் (வெளிப்புற கோரிக்கைகள்);
  2. சேவை SLO இலக்குகள் அடையப்படாத வழக்குகளுக்கான தாமத விநியோகத்தின் வரைபடங்கள்;
  3. வினவல்களில் மிகவும் "பொதுவான", "சுவாரஸ்யமான" மற்றும் "வித்தியாசமான" குறிச்சொற்கள் மீண்டும் மீண்டும் செய்யப்படுகின்றன;
  4. வழக்குகளுக்கான தாமத முறிவு பொறுத்து சேவைகள் அவற்றின் SLO இலக்குகளை அடையவில்லை;
  5. பல்வேறு கீழ்நிலை சேவைகளுக்கான தாமத முறிவு.

இந்தக் கேள்விகளில் சில, உள்ளமைக்கப்பட்ட அளவீடுகளால் வெறுமனே பதிலளிக்கப்படவில்லை, பயனர்கள் ஸ்பான்களை ஆராயும்படி கட்டாயப்படுத்துகிறது. இதன் விளைவாக, எங்களிடம் மிகவும் பயனர் விரோதப் பொறிமுறை உள்ளது.

இது கேள்வியை எழுப்புகிறது: வெவ்வேறு குழுக்களால் கட்டுப்படுத்தப்படும் பல்வேறு சேவைகளுக்கு இடையிலான சிக்கலான தொடர்புகள் பற்றி என்ன? இல்லையா சுவடு பார்வை அத்தகைய சூழ்நிலையை முன்னிலைப்படுத்த மிகவும் பொருத்தமான கருவியாக கருதப்படவில்லையா?

மொபைல் டெவலப்பர்கள், நிலையற்ற சேவைகளின் உரிமையாளர்கள், நிர்வகிக்கப்பட்ட மாநில சேவைகளின் உரிமையாளர்கள் (தரவுத்தளங்கள் போன்றவை) மற்றும் இயங்குதள உரிமையாளர்கள் வேறு ஏதாவது ஒன்றில் ஆர்வமாக இருக்கலாம் விளக்கக்காட்சி விநியோகிக்கப்பட்ட அமைப்பு; சுவடு பார்வை இந்த அடிப்படையில் வேறுபட்ட தேவைகளுக்கு மிகவும் பொதுவான தீர்வு. மிகவும் சிக்கலான மைக்ரோ சர்வீஸ் கட்டமைப்பில் கூட, சேவை உரிமையாளர்களுக்கு இரண்டு அல்லது மூன்று மேல்நிலை மற்றும் கீழ்நிலை சேவைகள் பற்றிய ஆழமான அறிவு தேவையில்லை. முக்கியமாக, பெரும்பாலான காட்சிகளில், பயனர்கள் தொடர்பான கேள்விகளுக்கு மட்டுமே பதிலளிக்க வேண்டும் வரையறுக்கப்பட்ட சேவைகளின் தொகுப்பு.

இது ஒரு சிறிய அளவிலான சேவைகளை பூதக்கண்ணாடி மூலம் ஆய்வு செய்வதற்காகப் பார்ப்பது போன்றது. இந்தச் சேவைகள் மற்றும் அவற்றின் உடனடி சார்புகளுக்கு இடையே உள்ள சிக்கலான தொடர்புகள் குறித்து மேலும் அழுத்தமான கேள்விகளைக் கேட்க இது பயனரை அனுமதிக்கும். இது பொறியாளருக்குத் தெரிந்த சேவை உலகில் பின்னடைவு போன்றது என்று தவறானது, மேலும் புரிந்து கொள்ள சுற்றியுள்ள சேவைகளில் என்ன நடக்கிறது என்பது பற்றிய சில புரிதலும் உள்ளது ஏன்.

நான் ஊக்குவிக்கும் அணுகுமுறையானது, மேல்-கீழ், ட்ரேஸ்வியூ அடிப்படையிலான அணுகுமுறைக்கு நேர் எதிரானது, அங்கு பகுப்பாய்வு முழுத் தடத்துடன் தொடங்கி, பின்னர் படிப்படியாக தனிப்பட்ட இடைவெளிகளுக்குச் செயல்படுகிறது. இதற்கு நேர்மாறாக, சம்பவத்தின் சாத்தியமான காரணத்திற்கு அருகில் உள்ள ஒரு சிறிய பகுதியை பகுப்பாய்வு செய்வதன் மூலம் ஒரு கீழ்நிலை அணுகுமுறை தொடங்குகிறது, பின்னர் தேடல் இடத்தை தேவைக்கேற்ப விரிவுபடுத்துகிறது (பரந்த அளவிலான சேவைகளை பகுப்பாய்வு செய்ய பிற குழுக்களைக் கொண்டுவரும் திறன் கொண்டது). ஆரம்ப கருதுகோள்களை விரைவாகச் சோதிக்க இரண்டாவது அணுகுமுறை மிகவும் பொருத்தமானது. உறுதியான முடிவுகள் கிடைத்தவுடன், இன்னும் இலக்கு மற்றும் விரிவான பகுப்பாய்விற்கு செல்ல முடியும்.

ஒரு இடவியல் உருவாக்கம்

பயனருக்குத் தெரிந்தால், சேவை சார்ந்த காட்சிகள் நம்பமுடியாத அளவிற்கு பயனுள்ளதாக இருக்கும் இது ஒரு சேவை அல்லது சேவைகளின் குழு தாமதத்தை அதிகரிப்பதற்கு அல்லது பிழைகளை ஏற்படுத்துவதற்கு பொறுப்பாகும். இருப்பினும், ஒரு சிக்கலான அமைப்பில், தவறு செய்யும் சேவையை அடையாளம் காண்பது ஒரு தோல்வியின் போது அற்பமான செயல் அல்ல, குறிப்பாக சேவைகளில் இருந்து பிழை செய்திகள் எதுவும் தெரிவிக்கப்படவில்லை என்றால்.

எந்த சேவையானது பிழை விகிதங்களில் ஸ்பைக் அல்லது தாமதத்தின் அதிகரிப்பை எதிர்கொள்கிறது என்பதைக் கண்டறிவதில் ஒரு சேவை இடவியலை உருவாக்குவது ஒரு பெரிய உதவியாக இருக்கும். டோபாலஜியை உருவாக்குவது பற்றி நான் பேசும்போது, ​​நான் சொல்லவில்லை சேவைகள் வரைபடம், கணினியில் கிடைக்கும் ஒவ்வொரு சேவையையும் காண்பிக்கும் மரண நட்சத்திரத்தின் வடிவத்தில் கட்டிடக்கலை வரைபடங்கள். இயக்கப்பட்ட அசைக்ளிக் வரைபடத்தை அடிப்படையாகக் கொண்ட ட்ரேஸ்வியூவை விட இந்தக் காட்சி சிறந்தது அல்ல. மாறாக நான் பார்க்க விரும்புகிறேன் மாறும் வகையில் உருவாக்கப்பட்ட சேவை இடவியல், பிழை விகிதம், மறுமொழி நேரம் அல்லது குறிப்பிட்ட சந்தேகத்திற்கிடமான சேவைகள் மூலம் நிலைமையை தெளிவுபடுத்த உதவும் பயனர் வரையறுக்கப்பட்ட அளவுருக்கள் போன்ற சில பண்புகளின் அடிப்படையில்.

ஒரு உதாரணத்தை எடுத்துக் கொள்வோம். ஒரு கற்பனையான செய்தி தளத்தை கற்பனை செய்து கொள்வோம். முகப்புப் பக்க சேவை (முன் பக்கம்) ரெடிஸுடன், சிபாரிசு சேவையுடன், விளம்பரச் சேவை மற்றும் வீடியோ சேவையுடன் தரவைப் பரிமாறிக் கொள்கிறது. வீடியோ சேவையானது S3 இலிருந்து வீடியோக்களையும் DynamoDB இலிருந்து மெட்டாடேட்டாவையும் எடுக்கிறது. பரிந்துரை சேவையானது DynamoDB இலிருந்து மெட்டாடேட்டாவைப் பெறுகிறது, Redis மற்றும் MySQL இலிருந்து தரவை ஏற்றுகிறது மற்றும் காஃப்காவிற்கு செய்திகளை எழுதுகிறது. விளம்பரச் சேவை MySQL இலிருந்து தரவைப் பெறுகிறது மற்றும் காஃப்காவுக்கு செய்திகளை எழுதுகிறது.

இந்த இடவியலின் திட்டவட்டமான பிரதிநிதித்துவம் கீழே உள்ளது (பல வணிக ரூட்டிங் திட்டங்கள் இடவியலை உருவாக்குகின்றன). சேவை சார்புகளை நீங்கள் புரிந்து கொள்ள வேண்டும் என்றால் இது பயனுள்ளதாக இருக்கும். எனினும், போது பிழைத்திருத்தம், ஒரு குறிப்பிட்ட சேவை (வீடியோ சேவை என்று சொல்லுங்கள்) அதிகரித்த மறுமொழி நேரத்தை வெளிப்படுத்தும் போது, ​​அத்தகைய இடவியல் மிகவும் பயனுள்ளதாக இருக்காது.

விநியோகிக்கப்பட்ட டிரேசிங்: நாங்கள் தவறு செய்தோம்
அனுமான செய்தி தளத்தின் சேவை வரைபடம்

கீழே உள்ள வரைபடம் மிகவும் பொருத்தமானதாக இருக்கும். சேவையில் சிக்கல் உள்ளது (காணொளி) மையத்தில் சரியாக சித்தரிக்கப்பட்டுள்ளது. பயனர் அதை உடனடியாக கவனிக்கிறார். இந்த காட்சிப்படுத்தலில் இருந்து, S3 மறுமொழி நேரத்தின் அதிகரிப்பு காரணமாக வீடியோ சேவை அசாதாரணமாக வேலை செய்கிறது என்பது தெளிவாகிறது, இது பிரதான பக்கத்தின் ஒரு பகுதியின் ஏற்றுதல் வேகத்தை பாதிக்கிறது.

விநியோகிக்கப்பட்ட டிரேசிங்: நாங்கள் தவறு செய்தோம்
"சுவாரஸ்யமான" சேவைகளை மட்டும் காட்டும் டைனமிக் டோபாலஜி

நிலையான சேவை வரைபடங்களைக் காட்டிலும், குறிப்பாக மீள், தானாக அளவிடும் உள்கட்டமைப்புகளில், மாறும் வகையில் உருவாக்கப்படும் இடவியல் மிகவும் திறமையானதாக இருக்கும். சேவை டோபாலஜிகளை ஒப்பிட்டுப் பார்க்கும் திறன் பயனரை மிகவும் பொருத்தமான கேள்விகளைக் கேட்க அனுமதிக்கிறது. கணினியைப் பற்றிய துல்லியமான கேள்விகள், கணினி எவ்வாறு இயங்குகிறது என்பதைப் பற்றிய சிறந்த புரிதலுக்கு வழிவகுக்கும்.

ஒப்பீட்டு காட்சி

மற்றொரு பயனுள்ள காட்சிப்படுத்தல் ஒரு ஒப்பீட்டு காட்சியாக இருக்கும். தற்போது தடயங்கள் பக்கவாட்டு ஒப்பீடுகளுக்கு மிகவும் பொருத்தமானவை அல்ல, எனவே ஒப்பீடுகள் பொதுவாக உள்ளன பரவியுள்ளது. இந்த கட்டுரையின் முக்கிய யோசனை என்னவென்றால், சுவடு முடிவுகளிலிருந்து மிகவும் மதிப்புமிக்க தகவல்களைப் பிரித்தெடுக்கும் அளவிற்கு இடைவெளிகள் மிகக் குறைந்த அளவில் உள்ளன.

இரண்டு தடயங்களை ஒப்பிடுவதற்கு அடிப்படையில் புதிய காட்சிப்படுத்தல்கள் தேவையில்லை. உண்மையில், ட்ரேஸ்வியூவாக அதே தகவலைக் குறிக்கும் ஹிஸ்டோகிராம் போன்றவை போதுமானது. ஆச்சரியப்படும் விதமாக, இந்த எளிய முறை கூட இரண்டு தடயங்களை தனித்தனியாக படிப்பதை விட அதிக பலனைத் தரும். இன்னும் சக்திவாய்ந்த சாத்தியம் இருக்கும் காட்சிப்படுத்து தடயங்களின் ஒப்பீடு மொத்தமாக. GC (குப்பை சேகரிப்பு) இயக்குவதற்கு சமீபத்தில் பயன்படுத்தப்பட்ட தரவுத்தள உள்ளமைவு மாற்றம், கீழ்நிலை சேவையின் மறுமொழி நேரத்தை பல மணிநேர அளவில் எவ்வாறு பாதிக்கிறது என்பதைப் பார்ப்பது மிகவும் பயனுள்ளதாக இருக்கும். நான் இங்கு விவரிப்பது உள்கட்டமைப்பு மாற்றங்களின் தாக்கத்தின் A/B பகுப்பாய்வு போல் இருந்தால் பல சேவைகளில் சுவடு முடிவுகளைப் பயன்படுத்தி, நீங்கள் உண்மையிலிருந்து வெகு தொலைவில் இல்லை.

முடிவுக்கு

ட்ரேசிங்கின் பயனை நான் கேள்வி கேட்கவில்லை. ஒரு தடயத்தில் உள்ளதைப் போல வளமான, காரண மற்றும் சூழ்நிலை சார்ந்த தரவுகளை சேகரிப்பதற்கு வேறு எந்த முறையும் இல்லை என்று நான் உண்மையாக நம்புகிறேன். இருப்பினும், அனைத்து டிரேசிங் தீர்வுகளும் இந்தத் தரவை மிகவும் திறமையற்ற முறையில் பயன்படுத்துகின்றன என்றும் நான் நம்புகிறேன். டிரேஸிங் கருவிகள் ட்ரேஸ்வியூ பிரதிநிதித்துவத்தில் சிக்கியிருக்கும் வரை, தடயங்களில் உள்ள தரவுகளிலிருந்து பிரித்தெடுக்கக்கூடிய மதிப்புமிக்க தகவலைப் பயன்படுத்துவதற்கான திறன் குறைவாகவே இருக்கும். கூடுதலாக, முற்றிலும் நட்பற்ற மற்றும் உள்ளுணர்வு இல்லாத காட்சி இடைமுகத்தை மேலும் உருவாக்கும் அபாயம் உள்ளது, இது பயன்பாட்டில் உள்ள பிழைகளை சரிசெய்வதற்கான பயனரின் திறனைக் கடுமையாகக் கட்டுப்படுத்தும்.

சிக்கலான அமைப்புகளை பிழைத்திருத்தம் செய்வது, சமீபத்திய கருவிகளுடன் கூட, நம்பமுடியாத அளவிற்கு கடினம். கருவிகள் டெவலப்பருக்கு ஒரு கருதுகோளை உருவாக்கவும் சோதிக்கவும் உதவ வேண்டும், தீவிரமாக வழங்கும் தொடர்புடைய தகவல்கள், வெளியாட்களை அடையாளம் காணுதல் மற்றும் தாமதங்களின் விநியோகத்தில் அம்சங்களைக் குறிப்பிடுதல். உற்பத்தி தோல்விகளைச் சரிசெய்தல் அல்லது பல சேவைகளில் உள்ள சிக்கல்களைத் தீர்க்கும் போது டெவலப்பர்களின் விருப்பக் கருவியாக டிரேஸிங் ஆக, அந்தச் சேவைகளை உருவாக்கி இயக்கும் டெவலப்பர்களின் மன மாதிரியுடன் மிகவும் இணக்கமான அசல் பயனர் இடைமுகங்கள் மற்றும் காட்சிப்படுத்தல்கள் தேவை.

பகுப்பாய்வு மற்றும் அனுமானத்தின் எளிமைக்கு உகந்த வகையில், சுவடு முடிவுகளில் கிடைக்கும் பல்வேறு சமிக்ஞைகளை பிரதிநிதித்துவப்படுத்தும் ஒரு அமைப்பை வடிவமைக்க குறிப்பிடத்தக்க மன முயற்சி தேவைப்படும். பிழைத்திருத்தத்தின் போது கணினி இடவியலை எவ்வாறு சுருக்குவது என்பது பற்றி நீங்கள் சிந்திக்க வேண்டும், இது பயனருக்கு தனிப்பட்ட தடயங்கள் அல்லது இடைவெளிகளைப் பார்க்காமல் குருட்டுப் புள்ளிகளைக் கடக்க உதவும்.

எங்களுக்கு நல்ல சுருக்கம் மற்றும் அடுக்கு திறன்கள் தேவை (குறிப்பாக UI இல்). நீங்கள் மீண்டும் மீண்டும் கேள்விகளைக் கேட்கலாம் மற்றும் கருதுகோள்களை சோதிக்கக்கூடிய கருதுகோள் சார்ந்த பிழைத்திருத்த செயல்முறைக்கு நன்கு பொருந்தக்கூடியவை. அவை தானாகவே அனைத்து கவனிப்பு சிக்கல்களையும் தீர்க்காது, ஆனால் அவை பயனர்கள் தங்கள் உள்ளுணர்வைக் கூர்மைப்படுத்தவும் சிறந்த கேள்விகளை உருவாக்கவும் உதவும். காட்சிப்படுத்தலுக்கு மிகவும் சிந்தனைமிக்க மற்றும் புதுமையான அணுகுமுறையை நான் அழைக்கிறேன். எல்லைகளை விரிவுபடுத்துவதற்கு இங்கு ஒரு உண்மையான வாய்ப்பு உள்ளது.

மொழிபெயர்ப்பாளரிடமிருந்து பி.எஸ்

எங்கள் வலைப்பதிவிலும் படிக்கவும்:

ஆதாரம்: www.habr.com

கருத்தைச் சேர்