Системаи ҳисоббарории тақсимшудаи Apache Storm 2.0 дастрас аст

Нурро дид барориши назарраси системаи коркарди ҳодисаҳои тақсимшуда Тӯфони Apache 2.0, ки бо гузариш ба меъмории наве, ки дар Java амалӣ карда шудааст, ба ҷои забони қаблан истифодашудаи Clojure назаррас аст.

Лоиҳа ба шумо имкон медиҳад, ки коркарди кафолатноки рӯйдодҳои гуногунро дар вақти воқеӣ ташкил кунед. Масалан, Storm метавонад барои таҳлили ҷараёнҳои додаҳо дар вақти воқеӣ, иҷрои вазифаҳои омӯзиши мошинсозӣ, ташкили ҳисоббарории пайваста, татбиқи RPC, ETL ва ғайра истифода шавад. Система кластерсозӣ, эҷоди конфигуратсияҳои ба хатогиҳо тобовар, режими кафолатноки коркарди маълумотро дастгирӣ мекунад ва дорои маҳсулнокии баландест, ки барои коркарди беш аз як миллион дархост дар як сония дар як гиреҳи кластер кифоя аст.

Интегратсия бо системаҳои гуногуни коркарди навбат ва технологияҳои пойгоҳи додаҳо дастгирӣ карда мешавад. Меъмории Storm қабул ва коркарди ҷараёнҳои доданашуда ва пайваста навшавандаро бо истифода аз протсессорҳои мураккаби ихтиёрӣ бо қобилияти тақсим кардани марҳилаҳои гуногуни ҳисобҳо дар бар мегирад. Лоиҳа пас аз ба даст овардани BackType, ширкате, ки дар ибтидо чаҳорчӯба таҳия кардааст, Twitter ба ҷомеаи Apache супурда шуд. Дар амал, Storm дар BackType барои таҳлили инъикоси рӯйдодҳо дар микроблогҳо бо роҳи муқоисаи твитҳои нав ва истинодҳои дар онҳо истифодашуда истифода мешуд (масалан, муайян карда шуд, ки чӣ гуна истинодҳои беруна ё эълонҳои дар Twitter нашршуда аз ҷониби дигар иштирокчиён дубора пахш карда мешаванд. ).

Функсияи Storm бо платформаи Hadoop муқоиса карда мешавад, бо фарқияти калидӣ дар он аст, ки маълумот дар анбор нигоҳ дошта намешавад, балки берунӣ ворид карда мешавад ва дар вақти воқеӣ коркард мешавад. Тӯфон қабати нигаҳдории дарунсохт надорад ва дархости таҳлилӣ ба маълумоти воридотӣ то лағви он татбиқ карда мешавад (дар ҳоле ки Hadoop корҳои ниҳоии MapReduce-ро истифода мебарад, Storm идеяи пайваста кор кардани "топологияҳо" -ро истифода мебарад). Иҷрои коркардкунандагонро дар якчанд серверҳо тақсим кардан мумкин аст - Storm кор бо риштаҳоро дар гиреҳҳои гуногуни кластер ба таври худкор параллел мекунад.

Система дар ибтидо дар Clojure навишта шуда буд ва дар дохили мошини виртуалии JVM кор мекунад. Бунёди Apache ташаббусро барои интиқоли Storm ба ядрои наве, ки дар Java навишта шудааст, оғоз кард, ки натиҷаҳои он дар нашри Apache Storm 2.0 пешниҳод шудаанд. Ҳама ҷузъҳои асосии платформа дар Java навишта шудаанд. Дастгирии коркардкунандагони навиштан дар Clojure нигоҳ дошта шудааст, аммо ҳоло дар шакли бастабандӣ пешниҳод карда мешавад. Storm 2.0.0 Java 8-ро талаб мекунад. Модели коркарди чанд ришта комилан аз нав тарҳрезӣ шудааст, ки имкон медиҳад барои расидан ба ҳадаф афзоиши назарраси иҷроиш (барои баъзе топологияҳо, таъхирҳо 50-80% кам карда шуданд).

Системаи ҳисоббарории тақсимшудаи Apache Storm 2.0 дастрас аст

Версияи нав инчунин API-и нави чопшудаи Streams-ро пешниҳод мекунад, ки ба шумо имкон медиҳад коркардкунандагонро бо истифода аз амалиёти функсионалии барномасозӣ муайян кунед. API-и нав дар болои API базаи стандартӣ амалӣ карда мешавад ва якҷоякунии автоматии амалиётҳоро барои оптимизатсияи коркарди онҳо дастгирӣ мекунад. API-и Windowing барои амалиёти равзана дастгирии ҳифз ва барқарорсозии ҳолати пуштибонро илова кардааст.

Дастгирии ба назар гирифтани захираҳои иловагӣ ҳангоми қабули қарорҳо, на бо
CPU ва хотира, ба монанди танзимоти шабака ва GPU. Барои таъмини ҳамгироӣ бо платформа шумораи зиёди беҳбудиҳо анҷом дода шуданд Кафка. Системаи назорати дастрасӣ васеъ карда шудааст, то қобилияти эҷоди гурӯҳҳои маъмурӣ ва нишонаҳо вакилонро дар бар гирад. Такмилҳои марбут ба SQL ва дастгирии метрикӣ илова карда шуданд. Фармонҳои нав дар интерфейси администратор барои ислоҳи ҳолати кластер пайдо шуданд.

Самтҳои татбиқи Storm:

  • Коркарди ҷараёнҳои маълумоти нав ё навсозии пойгоҳи додаҳо дар вақти воқеӣ;
  • Ҳисобкунии доимӣ: Сторм метавонад дархостҳои пайваста иҷро кунад ва ҷараёнҳои пайвастаро коркард кунад ва натиҷаҳои коркардро дар вақти воқеӣ ба муштарӣ расонад.
  • Даъвати Тақсимшудаи Протседура (RPC): Тӯфонро барои таъмини иҷрои мувозии дархостҳои захиравӣ истифода бурдан мумкин аст. Кор ("топология") дар Storm ин функсияест, ки дар саросари гиреҳҳо тақсим карда мешавад, ки интизори расидани паёмҳое мебошад, ки бояд коркард шаванд. Пас аз гирифтани паём, функсия онро дар контексти маҳаллӣ коркард мекунад ва натиҷаро бармегардонад. Намунаи истифодаи RPC-и тақсимшуда коркарди дархостҳои ҷустуҷӯӣ дар мувозӣ ё иҷрои амалиётҳо дар маҷмӯи калони маҷмӯаҳо мебошад.

Хусусиятҳои тӯфон:

  • Модели оддии барномасозӣ, ки коркарди маълумотро дар вақти воқеӣ хеле осон мекунад;
  • Дастгирии ҳама гуна забонҳои барномасозӣ. Модулҳо барои Java, Ruby ва Python дастрасанд, мутобиқшавӣ ба забонҳои дигар ба шарофати як протоколи хеле соддаи иртибот осон аст, ки барои дастгирӣ тақрибан 100 сатри кодро талаб мекунад;
  • Таҳаммулпазирии хатогиҳо: барои иҷро кардани кори коркарди додаҳо, шумо бояд файли jar бо код тавлид кунед. Storm ин файли кӯзаро дар гиреҳҳои кластер мустақилона паҳн мекунад, коркардкунандагони бо он алоқамандро пайваст мекунад ва мониторингро ташкил мекунад. Вақте ки кор ба итмом мерасад, код дар ҳама гиреҳҳо ба таври худкор хомӯш карда мешавад;
  • Миқёспазирии уфуқӣ. Ҳама ҳисобҳо дар реҷаи параллелӣ анҷом дода мешаванд, вақте ки сарборӣ зиёд мешавад, танҳо пайваст кардани гиреҳҳои нав ба кластер кифоя аст;
  • Эътимоднокӣ. Сторм кафолат медиҳад, ки ҳар як паёми воридотӣ ҳадди аққал як маротиба пурра коркард карда мешавад. Паём танҳо як маротиба коркард карда мешавад, агар ҳангоми гузаштан аз ҳамаи коркардкунандагон хатогӣ вуҷуд надошта бошад; агар мушкилот ба миён ояд, кӯшишҳои коркарди номуваффақ такрор мешаванд.
  • Суръат. Рамзи Storm бо дарназардошти иҷрои баланд навишта шудааст ва системаро барои паёмнависии асинхронии зуд истифода мебарад ZeroMQ.

Манбаъ: opennet.ru

Илова Эзоҳ