Apache Storm 2.0 விநியோகிக்கப்பட்ட கணினி அமைப்பு உள்ளது

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

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

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

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

இந்த அமைப்பு முதலில் க்ளோஜூரில் எழுதப்பட்டது மற்றும் JVM மெய்நிகர் இயந்திரத்தில் இயங்குகிறது. அப்பாச்சி அறக்கட்டளையானது ஜாவாவில் எழுதப்பட்ட புதிய கர்னலுக்கு புயலை நகர்த்துவதற்கான ஒரு முயற்சியைத் தொடங்கியுள்ளது, அதன் முடிவுகள் அப்பாச்சி புயல் 2.0 வெளியீட்டில் முன்மொழியப்பட்டுள்ளன. தளத்தின் அனைத்து அடிப்படை கூறுகளும் ஜாவாவில் மீண்டும் எழுதப்படுகின்றன. Clojure இல் எழுதும் கையாளுபவர்களுக்கான ஆதரவு தக்கவைக்கப்பட்டுள்ளது, ஆனால் இப்போது பிணைப்புகள் வடிவில் வழங்கப்படுகிறது. புயல் 2.0.0 க்கு ஜாவா 8 தேவைப்படுகிறது. மல்டி-த்ரெட் செயலாக்க மாதிரி முற்றிலும் மறுவடிவமைப்பு செய்யப்பட்டுள்ளது, அனுமதிக்கிறது அடைய செயல்திறனில் குறிப்பிடத்தக்க அதிகரிப்பு (சில இடவியல்களுக்கு, தாமதங்கள் 50-80% குறைக்கப்பட்டன).

Apache Storm 2.0 விநியோகிக்கப்பட்ட கணினி அமைப்பு உள்ளது

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

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

புயலுக்கு விண்ணப்பிக்கும் பகுதிகள்:

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

புயல் அம்சங்கள்:

  • நிகழ்நேர தரவு செயலாக்கத்தை பெரிதும் எளிதாக்கும் ஒரு எளிய நிரலாக்க மாதிரி;
  • எந்த நிரலாக்க மொழிகளுக்கும் ஆதரவு. Java, Ruby மற்றும் Python ஆகியவற்றிற்கு தொகுதிகள் கிடைக்கின்றன, மற்ற மொழிகளுக்கான தழுவல் மிகவும் எளிமையான தகவல்தொடர்பு நெறிமுறைக்கு நன்றி, இது ஆதரிக்க 100 வரிகளின் குறியீடு தேவைப்படுகிறது;
  • தவறு சகிப்புத்தன்மை: தரவு செயலாக்க வேலையை இயக்க, நீங்கள் குறியீட்டுடன் ஒரு ஜார் கோப்பை உருவாக்க வேண்டும். புயல் இந்த ஜார் கோப்பை கிளஸ்டர் முனைகளில் சுயாதீனமாக விநியோகிக்கும், அதனுடன் தொடர்புடைய ஹேண்ட்லர்களை இணைத்து, கண்காணிப்பை ஒழுங்கமைக்கும். வேலை முடிந்ததும், எல்லா முனைகளிலும் குறியீடு தானாகவே முடக்கப்படும்;
  • கிடைமட்ட அளவிடுதல். அனைத்து கணக்கீடுகளும் இணையான பயன்முறையில் செய்யப்படுகின்றன; சுமை அதிகரிக்கும் போது, ​​புதிய முனைகளை கிளஸ்டருடன் இணைக்க போதுமானது;
  • நம்பகத்தன்மை. ஒவ்வொரு உள்வரும் செய்தியும் குறைந்தது ஒரு முறையாவது முழுமையாக செயலாக்கப்படுவதை புயல் உறுதி செய்கிறது. அனைத்து ஹேண்ட்லர்கள் வழியாகச் செல்லும்போது பிழைகள் இல்லாவிட்டால் மட்டுமே செய்தி ஒருமுறை செயலாக்கப்படும்; சிக்கல்கள் ஏற்பட்டால், தோல்வியுற்ற செயலாக்க முயற்சிகள் மீண்டும் மீண்டும் செய்யப்படும்.
  • வேகம். புயலின் குறியீடு உயர் செயல்திறனை மனதில் கொண்டு எழுதப்பட்டுள்ளது மற்றும் வேகமான ஒத்திசைவற்ற செய்திக்கு கணினியைப் பயன்படுத்துகிறது ZeroMQ.

ஆதாரம்: opennet.ru

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