કૂનું ડેટા પ્લેટફોર્મ — ભાગ 1: Apache Kafka અને NiFi

By Koo App

ફનીશ ગુરુરાજ દ્વારા, 3 જાન્યુઆરી, 2022ના રોજ

તેઓ કહે છે તેમ ડેટા કોઈપણ સંસ્થાની સફળતા માટે ખાસ કરીને Koo જેવા ઉત્પાદન માટે મુખ્ય છે; અમે વાસ્તવિક સમયમાં વિવિધ ડેટા પોઈન્ટ્સ કેપ્ચર કરીએ છીએ જે અમને અમારા વપરાશકર્તાઓની મુસાફરીને વધુ સારી રીતે સમજવામાં મદદ કરે છે. અમે જે વિકાસ કરી રહ્યા છીએ તેની સાથે, અમારા ડેટા પ્લેટફોર્મને વિશ્લેષણ અને સ્ટ્રીમિંગ બંને દ્રષ્ટિકોણથી સ્કેલ કરવાનો સતત પડકાર છે. આ નોંધ પર, જ્યારે અમે અમારું ડેટા પ્લેટફોર્મ બનાવવાનું નક્કી કર્યું ત્યારે અમે નીચેના આર્કિટેક્ચર લક્ષ્યોને ધ્યાનમાં રાખીને સર્વગ્રાહી અભિગમ અપનાવ્યો.

આ બ્લોગ શ્રેણીના ભાગ 1 માં, અમે નિફી અને કાફકાને આવરી લઈશું.

સ્કેલેબલ ઇન્જેશન પાઇપલાઇન્સ
  • ઓછી કિંમતનો ડેટા સ્ટોરેજ.
  • જરૂરીયાત મુજબ ક્વેરી કરવામાં અને બાહ્ય ડેટા લાવવા માટે સરળ.
  • ઓપન સોર્સ.
  • એક્સેસ કંટ્રોલ્સ.< /li>
  • પ્રક્રિયા કરેલ ડેટાના સ્નેપશોટ સ્ટોર કરો.

અમે અપાચે સ્ટેકની ટોચ પર બનેલી કેટલીક સામાન્ય પેટર્નનું મૂલ્યાંકન કર્યું છે — કાફકા, નિફાઇ, હુડી, પારક્વેટ, સ્પાર્ક

અહીં અમારા ડેટાના કદ વિશેના કેટલાક આંકડા છે

  • > દરરોજ 500 GB એપ્લિકેશન લોગ થાય છે.
  • > વપરાશકર્તાઓનો 20 GB સંરચિત મહત્વપૂર્ણ ડેટા — પ્રોફાઇલ, પ્રવાસ, દિવસ દીઠ જટિલ ક્રિયાઓ.
  • > પ્રતિ દિવસ 3M છાપ.
Kafka

અમને યુદ્ધ પરીક્ષણ સંદેશ કતાર સિસ્ટમની જરૂર હતી અને કાફકા આદર્શ પસંદગી હતી. અમારા સ્કેલ માટે, અમને એવી કોઈ વસ્તુની જરૂર છે જે આડી રીતે માપી શકાય તેવું અને દોષ સહન કરી શકે.

કાફકામાં વિષયો ની વિભાવનાએ અમને અમારા ઇન્જેશન આર્કિટેક્ચરને અસરકારક રીતે સ્તર આપવામાં મદદ કરી કારણ કે ત્યાં ઇવેન્ટના બહુવિધ ઉત્પાદકો છે. વ્યાપક રીતે, અમે કેપ્ચર

  • [વપરાશકર્તાઓ દ્વારા વાંચવામાં આવેલ Koos → છાપ]
  • [Koosને ગમ્યું, ફરીથી કર્યું → પ્રતિક્રિયાઓ]
  • [લોકો અનુસરે છે / અનુસરવાનું બંધ કરે છે → નેટવર્ક]
  • [મુલાકાતો → પ્રોફાઇલ, છબી, કૂ-વિગતો, સ્ક્રીન]
NiFi

ઉત્પાદકો પાસેથી વિવિધ ETL નું આયોજન કરવા અને ડેટા પાઇપલાઇનને સાંકળવા માટે, NiFi એક સારો ઉમેદવાર છે. વિવિધ બિલ્ટ-ઇન કનેક્ટર્સ ટ્રાન્સફોર્મેશન અને પાઇપલાઇનને સ્ટીચ કરતી વખતે ખૂબ જ કામમાં આવે છે.

NiFi ની કેટલીક મહત્વપૂર્ણ લાક્ષણિકતાઓ, તે ખૂબ જ મહત્વપૂર્ણ છે

  • રનટાઇમ ફ્લો મેનેજમેન્ટ શક્ય છે.
  • ડાયનેમિક પ્રાથમિકતા.
  • ડેટા પ્રોવેનન્સ → ડેટા પાથ ટ્રેકિંગ.
  • બેક પ્રેશર અને સ્કેલને અસરકારક રીતે મેનેજ કરો પ્રોસેસર્સ.

નોંધપાત્ર સોશિયલ મીડિયા એન્ટિટી તરીકે, Koo પ્રાદેશિક ભાષાઓ અને સ્થાનિક થીમ્સની આસપાસના સર્જકો અને વપરાશકર્તાઓના સમુદાયોને ક્યુરેટ કરશે જે અર્થપૂર્ણ, સમૃદ્ધ ક્રિયાપ્રતિક્રિયાઓ તરફ દોરી જશે જે રોજિંદા જીવનમાં મહત્વપૂર્ણ છે.

નીચેનો ગ્રાફ અમારી છાપ માટેનો ચાર્ટ બતાવે છે (એક મહત્વપૂર્ણ વિશ્લેષણાત્મક ડેટા જે અમારી ઘણી ML પાઇપલાઇન્સને શક્તિ આપે છે). જેમ જેમ ડેટા કાફકામાંથી વહે છે અને અંતે S3 માં સ્થાયી થાય છે, એ

  • પરિવર્તનનો સમૂહ લાગુ કરવામાં આવે છે
  • ક્યારેક ઝડપી સંદર્ભ માટે ડેટા અન્ય સ્ત્રોતોમાંથી ખેંચવામાં આવે છે
  • કેટલીક શરતોના આધારે ડેટા પાઇપલાઇનમાંના આગલા પ્રોસેસરને મોકલવામાં આવે છે< /li>

અમારો NiFi ઉપયોગ કેસ ઘણો મર્જ કરવાની માંગ કરે છે → વધુ વિગતો અહીં. જેમ તમે ઉપરના ગ્રાફમાંથી જુઓ છો. મર્જ કરવાની આરપીએમ ખૂબ ઊંચી છે. કેટલીકવાર, અમે સામાન્ય રીતે એવી સ્થિર સ્થિતિની તુલનામાં અમુક વિનંતીઓ માટે વધુ સંસાધનોની જોગવાઈ કરીને પાઇપલાઇન્સને વેગ આપવા માટે કેટલાક પ્રવાહોને ટ્રિગર કરીએ છીએ. આ એક મોટો ફાયદો છે જે ઇન્ફ્રાને ખલેલ પહોંચાડ્યા વિના સંસાધનોનું સંચાલન કરવામાં અમને મદદ કરે છે.

કાફકા અને NiFi ડેટા પાઇપલાઇન્સને અસરકારક રીતે સેટ કરવા માટે એક શક્તિશાળી સંયોજન બનાવે છે. બંને ટેક્નોલૉજીની આડી સ્કેલેબલ પ્રકૃતિ પણ ખૂબ જ મહત્વપૂર્ણ પાસું છે. NiFi ને વધુ સારી રીતે સમજવા માટે FlowFiles અને Processors ને થોડી વધુ ઊંડાણમાં સમજવાની જરૂર છે.

ફ્લોફાઈલ્સ — એક ફ્લોફાઈલ એ Apache NiFi માં મૂળભૂત પ્રોસેસિંગ એન્ટિટી છે. તેમાં ડેટા સમાવિષ્ટો અને વિશેષતાઓ છે, જેનો ઉપયોગ NiFi પ્રોસેસર્સ દ્વારા ડેટા પર પ્રક્રિયા કરવા માટે થાય છે. ફાઇલ સામગ્રીમાં સામાન્ય રીતે સ્રોત સિસ્ટમ્સમાંથી મેળવેલ ડેટા હોય છે.

પ્રોસેસર્સ — Apache NiFi ડેટાફ્લો બનાવવા માટે પ્રોસેસર મૂળભૂત બિલ્ડીંગ બ્લોક બનાવે છે. પ્રોસેસર્સ એક ઇન્ટરફેસ પ્રદાન કરે છે જેના દ્વારા NiFi ફ્લોફાઇલ, તેના લક્ષણો અને તેની સામગ્રીની ઍક્સેસ પ્રદાન કરે છે.

દૃશ્ય - સૂચના ઇવેન્ટ્સ દરમિયાન અચાનક સ્પાઇક અથવા ચોક્કસ કૂના વાયરલ થઈ રહ્યા છે

આ અચાનક સ્પાઇક્સને હેન્ડલ કરવા માટે NiFi ખરેખર સારી રીતે કામ કરે છે અને અમે અમારી જરૂરિયાતોને અનુરૂપ બેક પ્રેશરને ફાઇન ટ્યુન કરી શકીએ છીએ.

P1 → P2 → P3

દા.ત: અમારી પાસે 3 પ્રોસેસર્સ છે — P1, P2 અને P3. p3 માટે પાછળનું દબાણ ગોઠવેલું છે ચાલો આપણે 10K કહીએ. આ નરમ મર્યાદાઓ છે અને ડેટા પાથ અને સમયના આધારે ગોઠવી શકાય છે. ઉપરાંત, જો p2 1M ફ્લો ફાઇલો બનાવે છે, તો આ તમામ 1M p3 પર ડમ્પ કરવામાં આવશે જે ડાઉનસ્ટ્રીમ સિસ્ટમ છે. જ્યાં સુધી p3 તેના તમામ સંદેશાઓ પર પ્રક્રિયા કરવાનું પૂર્ણ કરે ત્યાં સુધી, p2 શેડ્યૂલર થોભાવવામાં આવે છે. આ રીતે, અમે અચાનક થતા સ્પાઇકને પણ નિયંત્રિત કરવામાં સક્ષમ છીએ.

પરિમાણ સંદર્ભ

દા.ત.: Koo ખાતે, અમે મીડિયા પ્રાપ્ત કરીએ છીએ જે ઑડિઓ, વિડિયો, છબીઓના રૂપમાં છે. અમારી પાસે એક મેસેજ ઑબ્જેક્ટ છે જેમાં મીડિયા ઑબ્જેક્ટ વિશે કેટલાક મેટા-ડેટા છે → (છબી, વિડિઓ અથવા ઑડિઓ હોઈ શકે છે), પરિમાણ સંદર્ભ એ એક સારો ઉપયોગ કેસ છે. જ્યારે આ મેસેજ ઑબ્જેક્ટ NiFi પાઇપલાઇનને હિટ કરે છે, ત્યારે સંદર્ભ ઑબ્જેક્ટ પ્રથમ ટ્રિગર થાય છે અને યોગ્ય પ્રક્ષેપણ અને સાંકળ સ્થાપિત થાય છે. ઓડિયો, ઈમેજ અને વિડિયો માટે અલગ અલગ પાઈપલાઈન બનાવી શકાય છે. ઉપરાંત, કેટલીક સામાન્ય ગુણધર્મોને માત્ર એક જ વાર બહાર કાઢી શકાય છે અને આગળ પસાર કરી શકાય છે. આ પેરામીટર સંદર્ભ વારસા NiFi — 1.15.0 ના નવીનતમ સંસ્કરણમાં ઉપલબ્ધ છે જે તદ્દન કાર્યક્ષમ છે. એન્જિનિયર તરીકે વ્યક્તિ કેવી રીતે કાર્યક્ષમ કોડ લખે છે તેના જેવી જ પાઇપલાઇન સારી રીતે ડિઝાઇન કરી શકે છે.

સારાંશ

NiFi એક મહાન ડેટા પાઇપલાઇન બિલ્ડર છે. ડેટા એન્જીનીયર કે જેઓ મજબૂત પાઈપલાઈન સ્થાપિત કરવા અને તેનું અસરકારક રીતે સંચાલન કરવા ઉત્સુક છે, તે તેના/તેણીના ભંડારમાં એક મહાન ઉમેરો છે. અમે અમારી ડેટા પ્લેટફોર્મ ટીમને હાયર અને બનાવી રહ્યા છીએ. આ ટીમમાં જોડાવા માટે લોકો શોધી રહ્યાં છીએ — કૃપા કરીને તમારી પ્રોફાઇલ્સ શેર કરો @ ta@kooapp.com

અમારા બ્લોગના આગળના ભાગમાં, અમે અમારા s3 આર્કિટેક્ચર, પાર્ટીશન વ્યૂહરચના અને કેટલાક ઉપયોગના કેસોમાં ઊંડાણપૂર્વક જઈશું.

ટિપ્પણી કરો

Your email address will not be published. Required fields are marked *