Server analytics systems

Qhov no yog qhov thib ob ntawm cov kab lus hais txog kev tshuaj ntsuam xyuas (link mus part 1).

Server analytics systems

Niaj hnub no tsis muaj qhov tsis ntseeg tias ua tib zoo ua cov ntaub ntawv thiab txhais cov txiaj ntsig tuaj yeem pab yuav luag txhua hom kev lag luam. Hauv qhov no, kev tshuaj ntsuam xyuas cov tshuab tau nce ntxiv nrog cov tsis muaj, thiab tus naj npawb ntawm qhov tshwm sim thiab cov neeg siv cov xwm txheej hauv kev siv tau loj hlob.
Vim li no, cov tuam txhab muab lawv cov kws tshuaj ntsuam xyuas ntau thiab ntau cov ntaub ntawv nyoos los tshuaj xyuas thiab hloov mus rau kev txiav txim siab zoo. Qhov tseem ceeb ntawm kev txheeb xyuas qhov system rau ib lub tuam txhab yuav tsum tsis txhob kwv yees, thiab qhov system nws tus kheej yuav tsum muaj kev ntseeg siab thiab ruaj khov.

Cov neeg soj ntsuam

Kev txheeb xyuas cov neeg siv khoom yog ib qho kev pabcuam uas lub tuam txhab txuas rau nws lub vev xaib lossis daim ntawv thov los ntawm cov nom SDK, koom ua ke rau hauv nws tus kheej codebase thiab xaiv cov xwm txheej tshwm sim. Muaj qhov pom tseeb downside rau txoj hauv kev no: tag nrho cov ntaub ntawv khaws tseg yuav tsis ua tiav raws nraim li koj xav tau vim muaj kev txwv ntawm txhua qhov kev pabcuam koj xaiv. Piv txwv li, ntawm ib qho system nws yuav tsis yooj yim rau khiav MapReduce cov haujlwm, ntawm lwm qhov koj yuav tsis tuaj yeem khiav koj tus qauv. Lwm qhov tsis zoo yuav yog daim nqi tsis tu ncua (zoo siab) rau cov kev pabcuam.
Muaj ntau ntau cov neeg siv kev tshuaj ntsuam kev daws teeb meem ntawm kev ua lag luam, tab sis sai lossis tom qab cov kws tshuaj ntsuam xyuas tau ntsib nrog qhov tseeb tias tsis muaj ib qho kev pabcuam thoob ntiaj teb tsim nyog rau txhua txoj haujlwm (thaum tus nqi rau tag nrho cov kev pabcuam no tau nce txhua lub sijhawm). Nyob rau hauv cov xwm txheej zoo li no, cov tuam txhab feem ntau txiav txim siab los tsim lawv tus kheej kev tshuaj ntsuam xyuas nrog txhua qhov tsim nyog kev cai thiab peev xwm.

Cov kws tshuaj ntsuam xyuas

Server-side analytics yog ib qho kev pabcuam uas tuaj yeem xa mus rau hauv ib lub tuam txhab ntawm nws tus kheej servers thiab (feem ntau) nrog nws cov kev siv zog. Hauv cov qauv no, txhua tus neeg siv cov xwm txheej tau muab khaws cia rau hauv cov servers sab hauv, tso cai rau cov neeg tsim khoom sim cov ntaub ntawv khaws cia sib txawv thiab xaiv cov qauv yooj yim tshaj plaws. Thiab txawm hais tias koj tseem xav siv cov neeg thib peb cov neeg siv tshuaj ntsuam xyuas rau qee qhov haujlwm, nws tseem yuav ua tau.
Server-side analytics tuaj yeem siv tau ob txoj hauv kev. Ua ntej: xaiv qee qhov chaw siv hluav taws xob qhib, xa lawv ntawm koj lub tshuab thiab tsim kev lag luam logic.

Yav tas los
Daim ntawv

Koj tuaj yeem kho txhua yam koj xav tau
Qhov no feem ntau nyuaj heev thiab xav tau cov neeg tsim khoom cais

Thib ob: coj SaaS cov kev pabcuam (Amazon, Google, Azure) es tsis txhob siv koj tus kheej. Peb yuav tham txog SaaS kom nthuav dav ntxiv hauv ntu thib peb.

Yav tas los
Daim ntawv

Tej zaum nws yuav pheej yig dua ntawm cov ntim nruab nrab, tab sis nrog kev loj hlob loj nws tseem yuav kim dhau
Nws yuav tsis muaj peev xwm tswj tau tag nrho cov kev txwv

Kev tswj hwm tag nrho raug xa mus rau lub xub pwg nyom ntawm tus neeg muab kev pabcuam
Nws tsis yog ib txwm paub tias dab tsi nyob hauv qhov kev pabcuam (nws yuav tsis xav tau)

Yuav ua li cas sau server analytics

Yog tias peb xav txav deb ntawm kev siv cov neeg siv kev tshuaj ntsuam xyuas thiab tsim peb tus kheej, ua ntej ntawm txhua yam peb yuav tsum xav txog los ntawm kev tsim cov txheej txheem tshiab. Hauv qab no kuv yuav qhia koj ib kauj ruam yog kauj ruam koj yuav tsum xav txog, vim li cas txhua kauj ruam thiaj li xav tau thiab cov cuab yeej twg koj tuaj yeem siv.

1. Tau txais cov ntaub ntawv

Ib yam li nyob rau hauv cov ntaub ntawv ntawm cov neeg siv khoom analytics, ua ntej ntawm tag nrho cov, cov tuam txhab tshuaj ntsuam xyuas xaiv hom txheej xwm uas lawv xav mus kawm yav tom ntej thiab sau rau hauv ib daim ntawv teev. Feem ntau, cov xwm txheej no tshwm sim hauv ib qho kev txiav txim, hu ua "kev tshwm sim qauv."
Tom ntej no, xav txog tias daim ntawv thov mobile (lub vev xaib) muaj cov neeg siv tsis tu ncua (cov cuab yeej) thiab ntau lub servers. Txhawm rau hloov cov xwm txheej los ntawm cov khoom siv mus rau servers kom ruaj ntseg, yuav tsum muaj txheej txheej nruab nrab. Nyob ntawm cov architecture, tej zaum yuav muaj ntau yam kev tshwm sim sib txawv.
Apache Kafka Yog pub/sub, uas yog siv los ua ib qho kev sib sau ua ke.

Raws li tshaj tawm ntawm Quora Nyob rau hauv 2014, tus creator ntawm Apache Kafka txiav txim siab rau npe lub software tom qab Franz Kafka vim hais tias "nws yog ib tug system optimized rau sau ntawv" thiab vim hais tias nws hlub Kafka cov hauj lwm. β€” Wikipedia

Hauv peb qhov piv txwv, muaj ntau cov ntaub ntawv tsim tawm thiab cov neeg siv cov ntaub ntawv (cov cuab yeej thiab cov servers), thiab Kafka pab txuas lawv rau ib leeg. Cov neeg siv khoom yuav tau piav qhia ntau ntxiv hauv cov kauj ruam hauv qab no, qhov twg lawv yuav yog cov ntsiab lus tseem ceeb. Tam sim no peb yuav txiav txim siab tsuas yog cov ntaub ntawv tsim tawm (cov xwm txheej).
Kafka encapsulates lub ntsiab lus ntawm kab thiab muab faib; nws yog qhov zoo dua los nyeem ntau ntxiv txog qhov no lwm qhov (piv txwv li, hauv cov ntaub ntawv). Yog tsis nkag mus rau hauv cov ntsiab lus, cia peb xav txog tias daim ntawv thov mobile tau pib rau ob qhov sib txawv OSes. Tom qab ntawd txhua lub version tsim nws tus kheej cais qhov xwm txheej ntws. Cov neeg tsim khoom xa cov xwm txheej mus rau Kafka, lawv tau kaw rau hauv cov kab tsim nyog.
Server analytics systems
(daim duab ntawm no)

Nyob rau tib lub sijhawm, Kafka tso cai rau koj nyeem hauv chunks thiab ua cov kwj ntawm cov xwm txheej hauv mini-batch. Kafka yog ib qho cuab yeej yooj yim uas ntsuas tau zoo nrog cov kev xav tau loj hlob (piv txwv li, los ntawm geolocation ntawm cov xwm txheej).
Feem ntau ib qho shard txaus, tab sis tej yam yuav nyuaj dua thaum scaling (raws li lawv ib txwm ua). Tej zaum tsis muaj leej twg yuav xav siv tsuas yog ib qho kev sib zog ntawm lub cev hauv kev tsim khoom, txij li cov architecture yuav tsum ua txhaum. Ntxiv rau Kafka, muaj lwm qhov kev daws teeb meem zoo - RabbitMQ. Peb tsis tau siv nws nyob rau hauv ntau lawm raws li ib tug queue rau kev tshwm sim analytics (yog tias koj muaj xws li kev, qhia rau peb txog nws nyob rau hauv cov lus!). Txawm li cas los xij, peb siv AWS Kinesis.

Ua ntej tsiv mus rau cov kauj ruam tom ntej, peb yuav tsum tau hais txog ib txheej ntxiv ntawm qhov system - raw log cia. Qhov no tsis yog ib txheej uas yuav tsum tau, tab sis nws yuav pab tau yog tias ib yam dab tsi mus tsis ncaj ncees lawm thiab cov kev tshwm sim queues nyob rau hauv Kafka yog pib dua. Kev khaws cov ntaub ntawv nyoos tsis tas yuav muaj kev daws teeb meem nyuaj thiab kim; koj tuaj yeem sau lawv qhov chaw nyob hauv qhov kev txiav txim kom raug (txawm tias ntawm lub hard drive).
Server analytics systems

2. Ua cov txheej xwm ntws

Tom qab peb tau npaj tag nrho cov txheej xwm thiab muab tso rau hauv qhov tsim nyog queues, peb txav mus rau theem ua haujlwm. Ntawm no kuv yuav qhia rau koj txog ob txoj kev ua ntau tshaj plaws.
Thawj qhov kev xaiv yog qhib Spark Streaming hauv Apache system. Txhua yam khoom Apache nyob ntawm HDFS, kev ruaj ntseg cov ntaub ntawv nrog cov ntaub ntawv replicas. Spark Streaming yog ib qho yooj yim-rau-siv cuab yeej uas lis streaming cov ntaub ntawv thiab teev tau zoo. Txawm li cas los xij, nws yuav nyuaj rau khaws cia.
Lwm qhov kev xaiv yog los tsim koj tus kheej qhov kev tshwm sim handler. Txhawm rau ua qhov no, koj xav tau, piv txwv li, sau daim ntawv thov Python, tsim nws hauv Docker thiab sau npe rau Kafka kab. Thaum cov kev tshwm sim tuaj txog ntawm tus docker handlers, kev ua haujlwm yuav pib. Nrog rau txoj kev no, koj yuav tsum khaws cov ntawv thov ua haujlwm txhua lub sijhawm.
Cia peb xav tias peb tau xaiv ib qho ntawm cov kev xaiv tau piav qhia saum toj no thiab txav mus rau kev ua nws tus kheej. Cov txheej txheem yuav tsum pib los ntawm kev tshuaj xyuas qhov siv tau ntawm cov ntaub ntawv, lim cov khib nyiab thiab cov xwm txheej "tawg". Rau validation peb feem ntau siv Cerberus. Tom qab qhov no, koj tuaj yeem ua cov ntaub ntawv qhia: cov ntaub ntawv los ntawm ntau qhov chaw yog normalized thiab standardized nyob rau hauv thiaj li yuav muab ntxiv rau ib tug ntau lub rooj.
Server analytics systems

3. Database

Qhov thib peb kauj ruam yog tswj cov txheej xwm normalized. Thaum ua hauj lwm nrog ib tug npaj txhij-ua analytical system, peb yuav tsum tau nkag mus rau lawv ntau zaus, yog li nws yog ib qho tseem ceeb rau xaiv ib tug yooj yim database.
Yog tias cov ntaub ntawv haum zoo rau hauv cov txheej txheem ruaj khov, koj tuaj yeem xaiv clickhouse los yog lwm yam columnar database. Ua li no, kev sib sau ua ke yuav ua haujlwm sai heev. Lub downside yog tias lub tswv yim yog rigidly tsau thiab yog li nws yuav tsis muaj peev xwm ntxiv cov khoom arbitrary yam tsis muaj kev hloov kho (piv txwv li, thaum muaj xwm txheej tsis zoo tshwm sim). Tab sis koj tuaj yeem suav tau sai heev.
Rau cov ntaub ntawv tsis tsim nyog, koj tuaj yeem nqa NoSQL, piv txwv li, Apache Cassandra. Nws khiav ntawm HDFS, rov ua dua zoo, koj tuaj yeem tsa ntau qhov xwm txheej, thiab ua txhaum kev zam.
Koj tuaj yeem tsa tej yam yooj yim dua, piv txwv li, MongoDB. Nws yog qeeb heev thiab rau cov ntim me me. Tab sis qhov ntxiv yog tias nws yooj yim heev thiab yog li tsim nyog rau kev pib.
Server analytics systems

4. Kev sib sau ua ke

Ua tib zoo khaws tag nrho cov xwm txheej, peb xav sau tag nrho cov ntaub ntawv tseem ceeb los ntawm batch uas tuaj txog thiab hloov kho cov ntaub ntawv. Thoob plaws ntiaj teb, peb xav kom tau txais cov dashboards thiab ntsuas. Piv txwv li, sau tus neeg siv profile los ntawm cov xwm txheej thiab qee qhov ntsuas tus cwj pwm. Cov xwm txheej tau sib sau ua ke, sau, thiab khaws cia dua (hauv cov neeg siv cov ntxhuav). Nyob rau tib lub sijhawm, koj tuaj yeem tsim lub kaw lus kom koj tuaj yeem txuas lub lim mus rau cov neeg sib sau ua ke-coordinator: sau cov neeg siv los ntawm qee yam kev tshwm sim.
Tom qab ntawd, yog tias ib tus neeg hauv pab pawg tsuas yog xav tau kev tshuaj ntsuam xyuas qib siab, cov kev ntsuas sab nraud tuaj yeem txuas nrog. Koj tuaj yeem noj Mixpanel dua. tab sis vim nws kim heev, tsis yog txhua tus neeg siv cov xwm txheej raug xa mus rau ntawd, tab sis tsuas yog qhov xav tau xwb. Txhawm rau ua qhov no, peb yuav tsum tsim kom muaj ib tus neeg sib koom tes uas yuav hloov qee cov xwm txheej nyoos lossis qee yam uas peb tus kheej tau sau ua ntej rau sab nraud, APIs lossis cov platform tshaj tawm.
Server analytics systems

5. Pem hauv ntej

Koj yuav tsum txuas lub frontend mus rau qhov tsim system. Ib qho piv txwv zoo yog kev pabcuam redash, yog database GUI uas pab tsim dashboards. Qhov kev sib tshuam ua haujlwm li cas:

  1. Tus neeg siv ua ib qho lus nug SQL.
  2. Nyob rau hauv teb nws tau txais ib tug kos npe rau.
  3. Nws tsim 'kev pom tshiab' rau nws thiab tau txais daim duab zoo nkauj uas koj tuaj yeem txuag tau rau koj tus kheej.

Visualizations nyob rau hauv cov kev pab cuam yog pib-hloov kho tshiab, koj yuav customize thiab taug qab koj saib xyuas. Redash yog pub dawb yog tias nws yog tus tswv, tab sis raws li SaaS nws yuav raug nqi $ 50 toj ib hlis.
Server analytics systems

xaus

Tom qab ua tiav tag nrho cov kauj ruam saum toj no, koj yuav tsim koj lub server analytics. Thov nco ntsoov tias qhov no tsis yooj yim li tsuas yog txuas cov neeg siv khoom txheeb xyuas, vim tias txhua yam yuav tsum tau teeb tsa koj tus kheej. Yog li ntawd, ua ntej tsim koj tus kheej qhov system, nws tsim nyog muab piv rau qhov xav tau rau qhov kev tshuaj ntsuam xyuas hnyav nrog cov peev txheej uas koj txaus siab faib rau nws.
Yog tias koj tau ua lej thiab pom tias cov nqi siab dhau lawm, hauv ntu tom ntej kuv yuav tham txog yuav ua li cas thiaj li pheej yig dua ntawm server-sab analytics.

Tsaug nyeem ntawv! Kuv yuav zoo siab nug cov lus nug hauv cov lus.

Tau qhov twg los: www.hab.com

Ntxiv ib saib