కూ డేటా ప్లాట్ఫారమ్ — పార్ట్ 1: APACHE కాఫ్కా మరియు NiFi
By Koo App May 19, 2022
ఫనీష్ గురురాజ్ ద్వారా, జనవరి 3, 2022న
వారు చెప్పినట్లు డేటా ఏదైనా సంస్థ యొక్క విజయానికి ప్రధానమైనది, ప్రత్యేకించి కూ వంటి ఉత్పత్తికి ; మేము వివిధ డేటా పాయింట్లను నిజ సమయంలో క్యాప్చర్ చేస్తాము, ఇది మా వినియోగదారుల ప్రయాణాన్ని బాగా అర్థం చేసుకోవడంలో మాకు సహాయపడుతుంది. మేము ఉత్పత్తి చేస్తున్న వృద్ధితో, మా డేటా ప్లాట్ఫారమ్ను విశ్లేషణ మరియు స్ట్రీమింగ్ దృక్కోణాల నుండి స్కేల్ చేయడంలో నిరంతర సవాలు ఉంది. ఈ గమనికపై, మేము మా డేటా ప్లాట్ఫారమ్ను రూపొందించాలని నిర్ణయించుకున్నప్పుడు, కింది నిర్మాణ లక్ష్యాలను దృష్టిలో ఉంచుకుని మేము సమగ్ర విధానాన్ని తీసుకున్నాము.
ఈ బ్లాగ్ సిరీస్ పార్ట్ 1లో, మేము NiFi మరియు KAFKAలను కవర్ చేస్తాము.
స్కేలబుల్ ఇంజెక్షన్స్ పైప్లైన్లు
తక్కువ ధర డేటా నిల్వ.
ప్రశ్నించడం మరియు అవసరమైనప్పుడు బాహ్య డేటాను తీసుకురావడం సులభం.
ఓపెన్ సోర్స్.
యాక్సెస్ నియంత్రణలు.< /li>
ప్రాసెస్ చేయబడిన డేటా యొక్క స్నాప్షాట్లను నిల్వ చేయండి.
కాఫ్కా, నిఫై, హుడి, పార్కెట్, స్పార్క్ - అపాచీ స్టాక్ పైన నిర్మించబడిన కొన్ని సాధారణ నమూనాలను మేము విశ్లేషించాము.
మా డేటా పరిమాణం గురించి ఇక్కడ కొన్ని గణాంకాలు ఉన్నాయి
> ప్రతిరోజూ 500 GB అప్లికేషన్ లాగ్లు.
> వినియోగదారుల యొక్క 20 GB నిర్మాణాత్మక క్లిష్టమైన డేటా — ప్రొఫైల్, ప్రయాణం, రోజుకు క్లిష్టమైన చర్యలు.
> రోజుకు 3M ఇంప్రెషన్లు.
Kafka
మాకు యుద్ధం పరీక్షించిన సందేశం క్యూయింగ్ సిస్టమ్ అవసరం మరియు కాఫ్కా సరైన ఎంపిక. మా స్కేల్ కోసం, క్షితిజ సమాంతరంగా స్కేలబుల్ మరియు తప్పును తట్టుకునేది మాకు అవసరం.
కాఫ్కాలోని టాపిక్స్ అనే కాన్సెప్ట్ అనేక ఈవెంట్ల నిర్మాతలు ఉన్నందున మా ఇంజెషన్ ఆర్కిటెక్చర్ను సమర్ధవంతంగా లేయర్ చేయడానికి మాకు సహాయపడింది. విస్తృతంగా, మేము పట్టుకుంటాము
[కూస్ చదివిన వినియోగదారులు → ఇంప్రెషన్లు]
[కోస్ ఇష్టపడ్డారు, మళ్లీ కూడ్ చేసారు → ప్రతిచర్యలు]
[ప్రజలు అనుసరించారు / అనుసరించడం లేదు → నెట్వర్క్]
[సందర్శనలు → ప్రొఫైల్, చిత్రం, కూ-వివరాలు, స్క్రీన్]
NiFi
నిర్మాతల నుండి వివిధ ETLలను ఆర్కెస్ట్రేట్ చేయడానికి మరియు డేటా పైప్లైన్ను చైన్ చేయడానికి, NiFi మంచి అభ్యర్థి. రూపాంతరాలు మరియు పైప్లైన్లను కుట్టేటప్పుడు వివిధ అంతర్నిర్మిత కనెక్టర్లు చాలా ఉపయోగకరంగా ఉంటాయి.
NiFi యొక్క కొన్ని ముఖ్యమైన లక్షణాలు, అది చాలా ముఖ్యమైనది
రన్టైమ్ ఫ్లో మేనేజ్మెంట్ సాధ్యమవుతుంది.
డైనమిక్ ప్రాధాన్యత.
డేటా ప్రోవెన్స్ → డేటా పాత్ను ట్రాక్ చేయడం.
బ్యాక్ ప్రెజర్ మరియు స్కేల్ను ప్రభావవంతంగా నిర్వహించండి ప్రాసెసర్లు.
ముఖ్యమైన సోషల్ మీడియా ఎంటిటీగా, Koo క్రియేటర్స్ మరియు యూజర్ల కమ్యూనిటీలను ప్రాంతీయ భాషలు మరియు స్థానిక థీమ్ల చుట్టూ క్యూరేట్ చేస్తుంది, ఇది దైనందిన జీవితంలో ముఖ్యమైన అర్థవంతమైన, సుసంపన్నమైన పరస్పర చర్యలకు దారి తీస్తుంది.
దిగువ గ్రాఫ్ మా ఇంప్రెషన్ల కోసం చార్ట్ను చూపుతుంది (మా అనేక ML పైప్లైన్లకు శక్తినిచ్చే క్లిష్టమైన విశ్లేషణాత్మక డేటా). డేటా కాఫ్కా గుండా ప్రవహిస్తుంది మరియు చివరకు S3లో స్థిరపడుతుంది, a
పరివర్తనాల సమూహం వర్తింపజేయబడుతుంది
సమయంలో త్వరిత సూచన కోసం ఇతర మూలాధారాల నుండి డేటా తీసుకోబడుతుంది
కొన్ని షరతులపై ఆధారపడి పైప్లైన్లోని తదుపరి ప్రాసెసర్కి డేటా పంపబడుతుంది< /li>
మా NiFi వినియోగ కేసుకు చాలా విలీనం అవసరం → మరిన్ని వివరాలు ఇక్కడ ఉన్నాయి. మీరు పై గ్రాఫ్ నుండి చూస్తున్నట్లుగా. విలీనం యొక్క rpm చాలా ఎక్కువగా ఉంది. కొన్నిసార్లు, సాధారణంగా జరిగే స్థిరమైన స్థితితో పోలిస్తే నిర్దిష్ట అభ్యర్థనల కోసం మరిన్ని వనరులను అందించడం ద్వారా పైప్లైన్లను వేగవంతం చేయడానికి మేము కొన్ని ప్రవాహాలను ట్రిగ్గర్ చేస్తాము. ఇన్ఫ్రాకు భంగం కలగకుండా వనరులను నిర్వహించడంలో మాకు సహాయపడే పెద్ద ప్రయోజనం ఇది.
డేటా పైప్లైన్లను సమర్ధవంతంగా సెటప్ చేయడానికి కాఫ్కా మరియు నిఫై శక్తివంతమైన కలయికను ఏర్పరుస్తాయి. రెండు సాంకేతికతల యొక్క క్షితిజ సమాంతర స్కేలబుల్ స్వభావం కూడా చాలా క్లిష్టమైన అంశం. NiFiని బాగా అర్థం చేసుకోవడానికి FlowFiles మరియు Processorsని కొంచెం లోతుగా అర్థం చేసుకోవాలి.
FlowFiles — Apache NiFiలో ఫ్లోఫైల్ అనేది ప్రాథమిక ప్రాసెసింగ్ ఎంటిటీ. ఇది డేటా కంటెంట్లు మరియు లక్షణాలను కలిగి ఉంది, వీటిని డేటాను ప్రాసెస్ చేయడానికి NiFi ప్రాసెసర్లు ఉపయోగిస్తాయి. ఫైల్ కంటెంట్ సాధారణంగా మూల వ్యవస్థల నుండి పొందబడిన డేటాను కలిగి ఉంటుంది.
ప్రాసెసర్లు — Apache NiFi డేటాఫ్లో సృష్టించడానికి ప్రాసెసర్ ప్రాథమిక బిల్డింగ్ బ్లాక్ను ఏర్పరుస్తుంది. ప్రాసెసర్లు ఇంటర్ఫేస్ను అందిస్తాయి, దీని ద్వారా NiFi FlowFile, దాని లక్షణాలు మరియు దాని కంటెంట్కు యాక్సెస్ను అందిస్తుంది.
దృశ్యం - నోటిఫికేషన్ ఈవెంట్ల సమయంలో ఆకస్మిక స్పైక్ లేదా కొన్ని కూ వైరల్ అవుతోంది
ఈ ఆకస్మిక స్పైక్లను నిర్వహించడానికి NiFi బాగా పనిచేస్తుంది మరియు మన అవసరాలకు అనుగుణంగా బ్యాక్ ప్రెజర్ని చక్కగా ట్యూన్ చేసుకోవచ్చు.
P1 → P2 → P3
ఉదా: మాకు 3 ప్రాసెసర్లు ఉన్నాయి - P1, P2 మరియు P3. p3 కోసం బ్యాక్ ప్రెజర్ కాన్ఫిగర్ చేయబడింది, మనం 10Kకి చెప్పుకుందాం. ఇవి మృదువైన పరిమితులు మరియు డేటా మార్గం మరియు సమయాన్ని బట్టి కాన్ఫిగర్ చేయబడతాయి. అలాగే, p2 1M ఫ్లో ఫైల్లను సృష్టిస్తే, ఈ 1M మొత్తం డౌన్స్ట్రీమ్ సిస్టమ్ అయిన p3కి డంప్ చేయబడుతుంది. p3 దాని అన్ని సందేశాలను ప్రాసెస్ చేయడం పూర్తయ్యే వరకు, p2 షెడ్యూలర్ పాజ్ చేయబడింది. ఈ విధంగా, మేము ఆకస్మిక స్పైక్ను కూడా నియంత్రించగలుగుతాము.
పరామితి సందర్భం
ఉదా: Koo వద్ద, మేము ఆడియో, వీడియో, చిత్రాల రూపంలో ఉన్న మీడియాను స్వీకరిస్తాము. మేము మీడియా ఆబ్జెక్ట్ → (చిత్రం, వీడియో లేదా ఆడియో కావచ్చు) గురించి కొంత మెటా-డేటాను కలిగి ఉన్న సందేశ ఆబ్జెక్ట్ని కలిగి ఉన్నాము, పారామీటర్ సందర్భం మంచి ఉపయోగ సందర్భం. ఈ సందేశ వస్తువు NiFi పైప్లైన్ను తాకినప్పుడు, సందర్భ వస్తువు మొదట ప్రేరేపించబడుతుంది మరియు తగిన ప్రొజెక్షన్ మరియు చైనింగ్ ఏర్పాటు చేయబడుతుంది. ఆడియో, ఇమేజ్ మరియు వీడియో కోసం వేర్వేరు పైప్లైన్లను నిర్మించవచ్చు. అలాగే, కొన్ని సాధారణ లక్షణాలు ఒకసారి మాత్రమే సంగ్రహించబడతాయి మరియు బదిలీ చేయబడతాయి. ఈ పారామితి సందర్భం వారసత్వనిఫై యొక్క తాజా వెర్షన్ — 1.15.0 ఇది చాలా ప్రభావవంతంగా ఉంటుంది. ఇంజనీర్గా ఒకరు సమర్థవంతమైన కోడ్ను ఎలా వ్రాస్తారో అదే విధంగా పైప్లైన్లను బాగా డిజైన్ చేయవచ్చు.
సారాంశం
NiFi ఒక గొప్ప డేటా పైప్లైన్ బిల్డర్. బలమైన పైప్లైన్లను సెటప్ చేయడానికి మరియు సమర్ధవంతంగా నిర్వహించడానికి ఆసక్తి ఉన్న డేటా ఇంజనీర్కు, ఇది అతని / ఆమె కచేరీలకు గొప్ప జోడింపు. మేము మా డేటా ప్లాట్ఫారమ్ బృందాన్ని నియమించుకుంటున్నాము మరియు రూపొందిస్తున్నాము. ఈ బృందంలో చేరడానికి వ్యక్తుల కోసం వెతుకుతున్నాము — దయచేసి మీ ప్రొఫైల్లను @ ta@kooapp.com భాగస్వామ్యం చేయండి
మా బ్లాగ్ యొక్క తదుపరి భాగంలో, మేము మా s3 నిర్మాణం, విభజన వ్యూహం మరియు కొన్ని వినియోగ సందర్భాలలో లోతుగా వెళ్తాము.