மற்றொரு கண்காணிப்பு அமைப்பு

மற்றொரு கண்காணிப்பு அமைப்பு
16 மோடம்கள், 4 செல்லுலார் ஆபரேட்டர்கள் = வெளிச்செல்லும் வேகம் 933.45 Mbit/s

அறிமுகம்

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

திட்டம் பற்றி

எங்களிடம் ஒரு குறிப்பிட்ட தயாரிப்பு உள்ளது. தரவு பரிமாற்ற சேனல்களின் செயல்திறன் மற்றும் தவறு சகிப்புத்தன்மையை சுருக்கமாக ஒரு விரிவான தீர்வை நாங்கள் உருவாக்குகிறோம். பல சேனல்கள் இருக்கும் போது, ​​ஆபரேட்டர்1 (40Mbit/s) + Operator2 (30Mbit/s)+ வேறு ஏதாவது (5 Mbit/s) என்று வைத்துக்கொள்வோம், இதன் விளைவாக ஒரு நிலையான மற்றும் வேகமான சேனல், இதன் வேகம் இப்படி இருக்கும். இது: (40+ 30+5)x0.92=75×0.92=69 Mbit/s.

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

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

பிரச்சனை அறிக்கை

கண்காணிப்பு அமைப்பு இரண்டு அடிப்படையில் வேறுபட்ட வகுப்புகளின் அளவீடுகளை வழங்குகிறது: நிகழ் நேர அளவீடுகள் மற்றும் மற்ற அனைத்தும். கண்காணிப்பு அமைப்பு பின்வரும் தேவைகளை மட்டுமே கொண்டுள்ளது:

  1. நிகழ்நேர அளவீடுகளின் உயர் அதிர்வெண் ஒத்திசைவான கையகப்படுத்தல் மற்றும் தாமதமின்றி தொடர்பு மேலாண்மை அமைப்புக்கு அவற்றை மாற்றுதல்.
    வெவ்வேறு அளவீடுகளின் உயர் அதிர்வெண் மற்றும் ஒத்திசைவு முக்கியமானது மட்டுமல்ல, தரவு பரிமாற்ற சேனல்களின் என்ட்ரோபியை பகுப்பாய்வு செய்வதற்கு இது இன்றியமையாதது. ஒரு தரவு பரிமாற்ற சேனலில் சராசரி தாமதம் 30 மில்லி விநாடிகள் எனில், ஒரு மில்லி விநாடியின் மீதமுள்ள அளவீடுகளுக்கு இடையில் ஒத்திசைப்பதில் பிழை ஏற்பட்டால், அதன் விளைவாக வரும் சேனலின் வேகம் தோராயமாக 5% குறையும். 1 சேனல்களில் நேரத்தை 4 மில்லி விநாடிகள் தவறாகப் பயன்படுத்தினால், வேகச் சிதைவு எளிதாக 30% ஆகக் குறையும். கூடுதலாக, சேனல்களில் உள்ள என்ட்ரோபி மிக விரைவாக மாறுகிறது, எனவே ஒவ்வொரு 0.5 மில்லி விநாடிகளுக்கும் ஒரு முறைக்கு குறைவாக அதை அளந்தால், சிறிய தாமதத்துடன் வேகமான சேனல்களில் நாம் அதிவேக சிதைவைப் பெறுவோம். நிச்சயமாக, அத்தகைய துல்லியம் எல்லா அளவீடுகளுக்கும் தேவையில்லை மற்றும் எல்லா நிலைகளிலும் தேவையில்லை. சேனலின் தாமதம் 500 மில்லி விநாடிகளாக இருக்கும்போது, ​​​​நாங்கள் வேலை செய்யும் போது, ​​1 மில்லி விநாடிகளின் பிழை கிட்டத்தட்ட கவனிக்கப்படாது. மேலும், லைஃப் சப்போர்ட் சிஸ்டம் அளவீடுகளுக்கு, எங்களிடம் போதுமான வாக்குப்பதிவு மற்றும் ஒத்திசைவு விகிதங்கள் 2 வினாடிகள் உள்ளன, ஆனால் கண்காணிப்பு அமைப்பே அதி-உயர் வாக்குப்பதிவு விகிதங்கள் மற்றும் அளவீடுகளின் தீவிர-துல்லியமான ஒத்திசைவுடன் செயல்பட வேண்டும்.
  2. குறைந்தபட்ச வள நுகர்வு மற்றும் ஒற்றை அடுக்கு.
    இறுதிச் சாதனம் சாலையில் உள்ள நிலைமையை பகுப்பாய்வு செய்யக்கூடிய அல்லது மக்களின் பயோமெட்ரிக் பதிவுகளை மேற்கொள்ளக்கூடிய சக்திவாய்ந்த ஆன்-போர்டு வளாகமாக இருக்கலாம் அல்லது வீடியோவை அனுப்ப ஒரு சிறப்புப் படை வீரர் தனது உடல் கவசத்தின் கீழ் அணிந்திருக்கும் உள்ளங்கை அளவிலான ஒற்றை பலகை கணினியாக இருக்கலாம். மோசமான தகவல்தொடர்பு நிலைகளில் உண்மையான நேரம். பலவிதமான கட்டமைப்புகள் மற்றும் கம்ப்யூட்டிங் சக்தி இருந்தபோதிலும், நாங்கள் அதே மென்பொருள் அடுக்கை வைத்திருக்க விரும்புகிறோம்.
  3. குடை கட்டிடக்கலை
    இறுதிச் சாதனத்தில் அளவீடுகள் சேகரிக்கப்பட்டு ஒருங்கிணைக்கப்பட வேண்டும், உள்ளூர் சேமிப்பகத்தைக் கொண்டிருக்க வேண்டும், மேலும் உண்மையான நேரத்திலும் பின்னோக்கிப் பார்க்க வேண்டும். இணைப்பு இருந்தால், மத்திய கண்காணிப்பு அமைப்புக்கு தரவை மாற்றவும். இணைப்பு இல்லாதபோது, ​​அனுப்பும் வரிசை குவிந்து ரேம் பயன்படுத்தக்கூடாது.
  4. வாடிக்கையாளரின் கண்காணிப்பு அமைப்பில் ஒருங்கிணைப்பதற்கான API, ஏனெனில் யாருக்கும் பல கண்காணிப்பு அமைப்புகள் தேவையில்லை. வாடிக்கையாளர் எந்த சாதனங்கள் மற்றும் நெட்வொர்க்குகளிலிருந்தும் தரவை ஒரே கண்காணிப்பில் சேகரிக்க வேண்டும்.

என்ன நடந்தது

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

வெவ்வேறு நெட்வொர்க் டோபாலஜிகளுக்கான மூன்று சேனல்களின் செயல்திறனை சுருக்கமாகக் கூறுதல்


சில முக்கிய அளவீடுகளின் காட்சிப்படுத்தல்

மற்றொரு கண்காணிப்பு அமைப்பு
மற்றொரு கண்காணிப்பு அமைப்பு
மற்றொரு கண்காணிப்பு அமைப்பு
மற்றொரு கண்காணிப்பு அமைப்பு

கட்டிடக்கலை

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

இந்த அமைப்பு கிளாசிக் மாடுலர் கொள்கையின்படி செயல்படுத்தப்படுகிறது மற்றும் பல துணை அமைப்புகளைக் கொண்டுள்ளது:

  1. அளவீடுகள் பதிவு.
    ஒவ்வொரு மெட்ரிக்கும் அதன் சொந்த நூல் மூலம் வழங்கப்படுகிறது மற்றும் சேனல்கள் முழுவதும் ஒத்திசைக்கப்படுகிறது. 10 நானோ விநாடிகள் வரை ஒத்திசைவு துல்லியத்தை எங்களால் அடைய முடிந்தது.
  2. அளவீடுகள் சேமிப்பு
    நேரத் தொடருக்கு சொந்தமாக சேமிப்பகத்தை எழுதுவதையோ அல்லது ஏற்கனவே கிடைக்கக்கூடிய ஒன்றைப் பயன்படுத்துவதையோ நாங்கள் தேர்வு செய்தோம். அடுத்தடுத்த காட்சிப்படுத்தலுக்கு உட்பட்ட பின்னோக்கி தரவுகளுக்கு தரவுத்தளம் தேவை. அதாவது, ஒவ்வொரு 0.5 மில்லி விநாடிகளிலும் சேனலில் ஏற்படும் தாமதங்கள் அல்லது போக்குவரத்து நெட்வொர்க்கில் பிழை அளவீடுகள் பற்றிய தரவு இதில் இல்லை, ஆனால் ஒவ்வொரு இடைமுகத்திலும் ஒவ்வொரு 500 மில்லி விநாடிகளுக்கும் வேகம் இருக்கும். குறுக்கு-தளம் மற்றும் குறைந்த வள நுகர்வுக்கான உயர் தேவைகளுக்கு கூடுதலாக, நாங்கள் செயலாக்க முடியும் என்பது மிகவும் முக்கியமானது. தரவு எங்கே சேமிக்கப்படுகிறது. இது மிகப்பெரிய கணினி வளங்களை சேமிக்கிறது. நாங்கள் 2016 ஆம் ஆண்டு முதல் இந்தத் திட்டத்தில் Tarantool DBMS ஐப் பயன்படுத்துகிறோம், இதுவரை அதற்கான மாற்றீட்டை அடிவானத்தில் பார்க்கவில்லை. நெகிழ்வான, உகந்த வள நுகர்வுடன், போதுமான தொழில்நுட்ப ஆதரவை விட அதிகம். டரான்டூல் ஒரு GIS தொகுதியையும் செயல்படுத்துகிறது. நிச்சயமாக, இது PostGIS போன்ற சக்தி வாய்ந்தது அல்ல, ஆனால் சில இருப்பிடம் தொடர்பான அளவீடுகளை (போக்குவரத்திற்கு பொருத்தமானது) சேமித்து வைப்பதற்கு இது போதுமானது.
  3. அளவீடுகளின் காட்சிப்படுத்தல்
    இங்கே எல்லாம் ஒப்பீட்டளவில் எளிமையானது. நாங்கள் கிடங்கில் இருந்து தரவை எடுத்து அதை நிகழ்நேரத்தில் அல்லது பின்னோக்கி காண்பிப்போம்.
  4. மத்திய கண்காணிப்பு அமைப்புடன் தரவை ஒத்திசைத்தல்.
    மத்திய கண்காணிப்பு அமைப்பு அனைத்து சாதனங்களிலிருந்தும் தரவைப் பெறுகிறது, அதை ஒரு குறிப்பிட்ட வரலாற்றுடன் சேமித்து API வழியாக வாடிக்கையாளரின் கண்காணிப்பு அமைப்புக்கு அனுப்புகிறது. கிளாசிக் கண்காணிப்பு அமைப்புகளைப் போலல்லாமல், அதில் "தலை" சுற்றிச் சென்று தரவுகளை சேகரிக்கிறது, எங்களிடம் எதிர் திட்டம் உள்ளது. இணைப்பு இருக்கும்போது சாதனங்களே தரவை அனுப்புகின்றன. இது மிக முக்கியமான விஷயம், ஏனெனில் சாதனம் கிடைக்காத காலங்களுக்கு சாதனத்திலிருந்து தரவைப் பெறவும், சாதனம் கிடைக்காதபோது சேனல்கள் மற்றும் ஆதாரங்களை ஏற்றாமல் இருக்கவும் இது உங்களை அனுமதிக்கிறது. Influx கண்காணிப்பு சேவையகத்தை மத்திய கண்காணிப்பு அமைப்பாகப் பயன்படுத்துகிறோம். அதன் ஒப்புமைகளைப் போலன்றி, இது பின்னோக்கித் தரவை இறக்குமதி செய்ய முடியும் (அதாவது, அளவீடுகள் பெறப்பட்ட தருணத்திலிருந்து வேறுபட்ட நேர முத்திரையுடன்). சேகரிக்கப்பட்ட அளவீடுகள் கிராஃபானாவால் காட்சிப்படுத்தப்பட்டு, கோப்புடன் மாற்றியமைக்கப்படுகின்றன. எந்தவொரு வாடிக்கையாளர் கண்காணிப்பு அமைப்புடன் ஆயத்த API ஒருங்கிணைப்புகளைக் கொண்டிருப்பதால், இந்த நிலையான ஸ்டாக் தேர்ந்தெடுக்கப்பட்டது.
  5. மைய சாதன மேலாண்மை அமைப்புடன் தரவு ஒத்திசைவு.
    சாதன மேலாண்மை அமைப்பு ஜீரோ டச் ப்ரோவிஷனிங்கை செயல்படுத்துகிறது (ஃபார்ம்வேர், உள்ளமைவு போன்றவற்றைப் புதுப்பித்தல்) மற்றும் கண்காணிப்பு அமைப்பைப் போலல்லாமல், ஒவ்வொரு சாதனத்திற்கும் சிக்கல்களை மட்டுமே பெறுகிறது. இவை ஆன்-போர்டு ஹார்டுவேர் வாட்ச்டாக் சேவைகளின் செயல்பாட்டிற்கான தூண்டுதல்கள் மற்றும் லைஃப் சப்போர்ட் சிஸ்டங்களின் அனைத்து அளவீடுகள்: CPU மற்றும் SSD வெப்பநிலை, CPU சுமை, இலவச இடம் மற்றும் வட்டுகளில் ஸ்மார்ட் ஆரோக்கியம். துணை அமைப்பு சேமிப்பகமும் டரான்டூலில் கட்டமைக்கப்பட்டுள்ளது. இது ஆயிரக்கணக்கான சாதனங்களில் நேரத் தொடரை ஒருங்கிணைப்பதில் குறிப்பிடத்தக்க வேகத்தை அளிக்கிறது, மேலும் இந்த சாதனங்களுடன் தரவை ஒத்திசைப்பதில் உள்ள சிக்கலையும் முழுமையாக தீர்க்கிறது. டரான்டூல் சிறந்த வரிசை மற்றும் உத்தரவாத விநியோக முறையைக் கொண்டுள்ளது. இந்த முக்கியமான அம்சத்தை பெட்டியிலிருந்து வெளியே எடுத்தோம், அருமை!

நெட்வொர்க் மேலாண்மை அமைப்பு

மற்றொரு கண்காணிப்பு அமைப்பு

அடுத்தது என்ன

இதுவரை, எங்கள் பலவீனமான இணைப்பு மத்திய கண்காணிப்பு அமைப்பு ஆகும். இது ஒரு நிலையான அடுக்கில் 99.9% செயல்படுத்தப்படுகிறது மற்றும் பல குறைபாடுகள் உள்ளன:

  1. சக்தி இழக்கப்படும்போது InfluxDB தரவை இழக்கிறது. ஒரு விதியாக, வாடிக்கையாளர் சாதனங்களிலிருந்து வரும் அனைத்தையும் உடனடியாக சேகரிக்கிறார் மற்றும் தரவுத்தளத்தில் 5 நிமிடங்களுக்கு மேல் உள்ள தரவு இல்லை, ஆனால் எதிர்காலத்தில் இது ஒரு வேதனையாக மாறும்.
  2. கிராஃபனா தரவு திரட்டுதல் மற்றும் அதன் காட்சியை ஒத்திசைப்பதில் பல சிக்கல்களைக் கொண்டுள்ளது. தரவுத்தளமானது 2:00:00 முதல் தொடங்கும் 00 வினாடிகளின் இடைவெளியுடன் நேரத் தொடரைக் கொண்டிருக்கும் போது மிகவும் பொதுவான பிரச்சனையாகும், மேலும் கிராஃபனா +1 வினாடியில் இருந்து ஒருங்கிணைக்கப்பட்ட தரவைக் காட்டத் தொடங்குகிறது. இதன் விளைவாக, பயனர் ஒரு நடன வரைபடத்தைப் பார்க்கிறார்.
  3. மூன்றாம் தரப்பு கண்காணிப்பு அமைப்புகளுடன் API ஒருங்கிணைப்புக்கான அதிகப்படியான குறியீடு. இது மிகவும் கச்சிதமானது மற்றும் நிச்சயமாக Go இல் மீண்டும் எழுதப்படலாம்)

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

முடிவுக்கு

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

இந்தக் கட்டுரையின் எல்லைக்கு அப்பால் யாருக்கேனும் கேள்விகள் இருந்தால், நீங்கள் a.rodin @ qedr.com இல் எனக்கு எழுதலாம்

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

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