Apache Storm 2.0 faib cov khoos phis tawj muaj

Pom qhov kaj tseem ceeb tso tawm ntawm ib qho kev faib txheej txheem txheej txheem Apache Cua daj 2.0, tseem ceeb rau nws txoj kev hloov mus rau qhov tshiab architecture siv hauv Java, es tsis txhob siv cov lus Clojure yav dhau los.

Qhov project tso cai rau koj los npaj kev lav phib xaub ntawm ntau yam xwm txheej hauv lub sijhawm. Piv txwv li, Cua daj tuaj yeem siv los txheeb xyuas cov ntaub ntawv ntws hauv lub sijhawm, khiav haujlwm ntawm kev kawm tshuab, teeb tsa kev suav txuas ntxiv, siv RPC, ETL, thiab lwm yam. Lub kaw lus txhawb kev sib koom ua ke, tsim cov teeb meem tsis raug cai, lav cov ntaub ntawv ua hom thiab muaj kev ua haujlwm siab, txaus los ua ntau tshaj li ib lab thov ib ob ntawm ib pawg ntawm cov.

Kev koom ua ke nrog ntau yam kab ua haujlwm thiab cov ntaub ntawv thev naus laus zis tau txais kev txhawb nqa. Lub Storm architecture cuam tshuam nrog kev txais thiab kev ua haujlwm tsis tu ncua, hloov kho cov ntaub ntawv txuas ntxiv siv cov txheej txheem nyuaj uas muaj peev xwm muab faib nruab nrab ntawm ntau theem ntawm kev suav. Qhov project tau raug xa mus rau Apache zej zog tom qab Twitter tau txais BackType, lub tuam txhab uas pib tsim lub moj khaum. Hauv kev xyaum, cua daj cua dub tau siv hauv BackType los txheeb xyuas qhov kev xav ntawm cov xwm txheej hauv microblogs, los ntawm kev sib piv ntawm ya tshiab tweets thiab cov kev sib txuas siv hauv lawv (piv txwv li, nws tau soj ntsuam seb cov kev sib txuas sab nraud lossis tshaj tawm hauv Twitter tau tshaj tawm los ntawm lwm tus neeg koom. ).

Cua daj lub luag haujlwm yog piv rau Hadoop platform, nrog rau qhov sib txawv tseem ceeb yog tias cov ntaub ntawv tsis khaws cia hauv lub tsev khaws khoom, tab sis tau noj sab nraud thiab ua tiav hauv lub sijhawm. Cua daj tsis muaj txheej txheem cia thiab cov lus nug analytical pib siv rau cov ntaub ntawv nkag mus txog thaum nws raug muab tso tseg (thaum Hadoop siv sijhawm kawg ntawm MapReduce txoj haujlwm, Cua daj siv lub tswv yim ntawm kev ua haujlwm tsis tu ncua "topologies"). Kev tua cov neeg tuav haujlwm tuaj yeem faib thoob plaws ntau lub servers - Cua daj tuaj yeem ua haujlwm nrog cov xov ntawm cov pawg sib txawv.

Lub kaw lus tau sau tseg hauv Clojure thiab khiav hauv JVM virtual tshuab. Apache Foundation tau pib ua ib qho kev pib rau kev tsiv cua daj cua dub mus rau lub kernel tshiab sau nyob rau hauv Java, cov txiaj ntsig ntawm qhov tau thov hauv kev tso tawm Apache Storm 2.0. Txhua yam tseem ceeb ntawm lub platform yog rov sau dua hauv Java. Kev them nyiaj yug rau kev sau ntawv tuav hauv Clojure tau khaws cia, tab sis tam sim no muaj nyob rau hauv daim ntawv ntawm kev khi. Cua daj 2.0.0 xav tau Java 8. Cov qauv ua ntau txoj xov tau raug kho dua tshiab, tso cai rau ua tiav ib qho kev nce ntxiv hauv kev ua tau zoo (rau qee qhov topologies, qeeb tau txo los ntawm 50-80%).

Apache Storm 2.0 faib cov khoos phis tawj muaj

Tus tshiab version kuj muaj qhov tshiab ntaus Stream API uas tso cai rau koj los txhais cov neeg ua haujlwm siv cov haujlwm ua haujlwm-style. API tshiab yog siv rau sab saum toj ntawm tus qauv hauv paus API thiab txhawb nqa kev sib koom ua ke ntawm kev ua haujlwm kom zoo rau lawv cov kev ua haujlwm. Lub Windowing API rau kev ua haujlwm qhov rai tau ntxiv kev txhawb nqa rau kev txuag thiab kho lub xeev hauv qab.

Kev them nyiaj yug rau kev noj nyiaj txiag ntxiv thaum txiav txim siab tsis txwv rau
CPU thiab nco, xws li network thiab GPU teeb tsa. Ntau qhov kev txhim kho tau ua kom ntseeg tau tias kev koom ua ke nrog lub platform Kafka. Cov kev tswj xyuas kev nkag tau raug nthuav dav kom suav nrog kev muaj peev xwm los tsim cov pab pawg tswj hwm thiab tso cai rau tokens. Ntxiv kev txhim kho ntsig txog SQL thiab kev ntsuas kev txhawb nqa. Cov lus txib tshiab tau tshwm sim hauv tus thawj coj interface rau kev debugging lub xeev pawg.

Cov cheeb tsam ntawm kev thov rau cua daj cua dub:

  • Ua cov kwj ntawm cov ntaub ntawv tshiab lossis cov ntaub ntawv hloov tshiab hauv lub sijhawm;
  • Kev suav txuas ntxiv: Cua daj tuaj yeem khiav cov lus nug txuas ntxiv thiab ua cov kwj deg tas mus li, xa cov txiaj ntsig ua tiav rau tus neeg siv khoom raws sijhawm.
  • Distributed Remote Procedure Call (RPC): Cua daj tuaj yeem siv los muab kev ua kom zoo sib xws ntawm cov lus nug uas muaj peev xwm siv tau. Ib txoj hauj lwm ("topology") nyob rau hauv Cua daj yog ib qho kev faib tawm thoob plaws cov kab uas tos cov lus tuaj txog uas yuav tsum tau ua. Tom qab tau txais cov lus, lub luag haujlwm ua nws hauv cov ntsiab lus hauv zos thiab xa cov txiaj ntsig rov qab. Ib qho piv txwv ntawm kev siv RPC faib yuav yog los ua cov lus nug tshawb fawb nyob rau hauv tib lub sijhawm lossis ua haujlwm ntawm ntau pawg.

Cua daj cua dub nta:

  • Ib qho qauv programming yooj yim uas yooj yim heev rau kev ua cov ntaub ntawv hauv lub sijhawm;
  • Txhawb rau txhua hom lus programming. Muaj cov qauv rau Java, Ruby thiab Python, kev yoog rau lwm yam lus tsis yooj yim vim yog kev sib txuas lus yooj yim heev, uas yuav tsum muaj txog 100 kab ntawm cov lej los txhawb;
  • Kev ua txhaum cai: txhawm rau ua haujlwm ua cov ntaub ntawv, koj yuav tsum tsim kom muaj cov ntaub ntawv ntim nrog cov lej. Cua daj yuav nws tus kheej faib cov ntaub ntawv ntim no hla cov pawg nodes, txuas cov neeg tuav haujlwm cuam tshuam nrog nws, thiab teeb tsa kev saib xyuas. Thaum ua tiav txoj haujlwm, cov lej yuav raug txiav tawm ntawm txhua lub pob;
  • Kab rov tav scalability. Tag nrho cov kev suav yog ua nyob rau hauv parallel hom; raws li lub load nce, nws yog txaus kom yooj yim txuas cov nodes tshiab rau pawg;
  • Kev ntseeg tau. Cua daj ua kom ntseeg tau tias txhua cov lus tuaj tau ua tiav tsawg kawg ib zaug. Cov lus yuav raug ua tiav ib zaug nkaus xwb yog tias tsis muaj qhov yuam kev thaum dhau los ntawm txhua tus neeg tuav haujlwm; yog tias muaj teeb meem tshwm sim, tom qab ntawd kev sim ua tsis tiav yuav rov ua dua.
  • Ceev. Storm's code yog sau nrog kev ua haujlwm siab hauv siab thiab siv lub kaw lus rau kev xa xov sai asynchronous ZeroMQ.

Tau qhov twg los: opennet.ru

Ntxiv ib saib