የአገልጋይ ትንታኔ ስርዓቶች

ይህ ስለ የትንታኔ ሥርዓቶች ተከታታይ መጣጥፎች ሁለተኛ ክፍል ነው (ወደ ክፍል 1 ሊንክ).

የአገልጋይ ትንታኔ ስርዓቶች

ዛሬ ጥንቃቄ የተሞላበት የውሂብ ሂደት እና የውጤቶች ትርጓሜ ማንኛውንም የንግድ ሥራ ሊረዳ እንደሚችል ምንም ጥርጥር የለውም። በዚህ ረገድ, የትንታኔ ስርዓቶች በመለኪያዎች ተጭነዋል, እና በመተግበሪያዎች ውስጥ ቀስቅሴዎች እና የተጠቃሚ ክስተቶች ቁጥር እያደገ ነው.
በዚህ ምክንያት ኩባንያዎች ተንታኞቻቸውን ለመተንተን እና ወደ ጤናማ ውሳኔዎች እንዲቀይሩ ብዙ እና ተጨማሪ ጥሬ መረጃዎችን እየሰጡ ነው. ለኩባንያው የትንታኔ ስርዓት አስፈላጊነት ግምት ውስጥ መግባት የለበትም, እና ስርዓቱ ራሱ አስተማማኝ እና የተረጋጋ መሆን አለበት.

የደንበኛ ተንታኞች

የደንበኛ ትንታኔ አንድ ኩባንያ ከድረ-ገጹ ወይም አፕሊኬሽኑ ጋር በኦፊሴላዊው ኤስዲኬ በኩል የሚያገናኝ፣ በራሱ ኮድ ቤዝ ውስጥ የሚዋሃድ እና የክስተት ቀስቅሴዎችን የሚመርጥ አገልግሎት ነው። ለዚህ አካሄድ ግልጽ የሆነ አሉታዊ ጎን አለ፡ በመረጡት ማንኛውም አገልግሎት ውስንነት የተነሳ የተሰበሰቡት መረጃዎች ሁሉ ልክ እንደፈለጋችሁት ላይሰሩ ይችላሉ። ለምሳሌ, በአንድ ስርዓት MapReduce ተግባራትን ማካሄድ ቀላል አይሆንም, በሌላ በኩል የእርስዎን ሞዴል ማሄድ አይችሉም. ሌላው ጉዳት ለአገልግሎቶች መደበኛ (አስደናቂ) ሂሳብ ነው።
በገበያ ላይ ብዙ የደንበኞች ትንታኔ መፍትሄዎች አሉ, ነገር ግን ፈጥኖም ሆነ ዘግይቶ ተንታኞች ለእያንዳንዱ ተግባር ተስማሚ የሆነ አንድ ዓለም አቀፍ አገልግሎት የለም (ለእነዚህ ሁሉ አገልግሎቶች ዋጋዎች በየጊዜው እየጨመረ በሚሄድበት ጊዜ) ይጋፈጣሉ. በእንደዚህ ዓይነት ሁኔታ ውስጥ ኩባንያዎች ብዙውን ጊዜ ሁሉንም አስፈላጊ ብጁ ቅንጅቶች እና ችሎታዎች በመጠቀም የራሳቸውን የትንታኔ ስርዓት ለመፍጠር ይወስናሉ.

የአገልጋይ ተንታኞች

የአገልጋይ ጎን ትንታኔ በአንድ ኩባንያ ውስጥ በራሱ አገልጋዮች እና (በተለምዶ) በራሱ ጥረት ሊሰማራ የሚችል አገልግሎት ነው። በዚህ ሞዴል ውስጥ, ሁሉም የተጠቃሚ ክስተቶች በውስጣዊ አገልጋዮች ላይ ተከማችተዋል, ይህም ገንቢዎች የተለያዩ የማከማቻ የውሂብ ጎታዎችን እንዲሞክሩ እና በጣም ምቹ የሆነውን ስነ-ህንፃ እንዲመርጡ ያስችላቸዋል. እና አሁንም ለአንዳንድ ተግባራት የሶስተኛ ወገን የደንበኛ ትንታኔን መጠቀም ቢፈልጉም አሁንም የሚቻል ይሆናል።
የአገልጋይ-ጎን ትንታኔዎች በሁለት መንገዶች ሊተገበሩ ይችላሉ. መጀመሪያ፡ አንዳንድ የክፍት ምንጭ መገልገያዎችን ይምረጡ፣ በማሽኖችዎ ላይ ያሰፍሯቸው እና የንግድ አመክንዮ ያዳብሩ።

ደማቅ
Минусы

የሚፈልጉትን ማንኛውንም ነገር ማበጀት ይችላሉ
ይህ ብዙውን ጊዜ በጣም አስቸጋሪ እና የተለየ ገንቢዎችን ይፈልጋል

ሁለተኛ፡ እራስዎ ከማሰማራት ይልቅ የSaaS አገልግሎቶችን (Amazon, Google, Azure) ይውሰዱ። በሶስተኛው ክፍል ውስጥ ስለ SaaS በበለጠ ዝርዝር እንነጋገራለን.

ደማቅ
Минусы

በመካከለኛ ጥራዞች ርካሽ ሊሆን ይችላል, ነገር ግን በትልቅ እድገት አሁንም በጣም ውድ ይሆናል
ሁሉንም መለኪያዎች መቆጣጠር የሚቻል አይሆንም

አስተዳደር ሙሉ በሙሉ ወደ አገልግሎት ሰጪው ትከሻዎች ይተላለፋል
በአገልግሎቱ ውስጥ ምን እንዳለ ሁልጊዜ አይታወቅም (ላያስፈልግ ይችላል)

የአገልጋይ ትንታኔ እንዴት እንደሚሰበስብ

የደንበኛ ትንታኔዎችን ከመጠቀም ወጥተን የራሳችንን ለመገንባት ከፈለግን በመጀመሪያ የአዲሱን ስርዓት አርክቴክቸር ማሰብ አለብን። ከዚህ በታች ምን ግምት ውስጥ ማስገባት እንዳለቦት, እያንዳንዱ እርምጃ ለምን እንደሚያስፈልግ እና ምን አይነት መሳሪያዎችን መጠቀም እንደሚችሉ ደረጃ በደረጃ እነግራችኋለሁ.

1. መረጃን መቀበል

ልክ እንደ የደንበኛ ትንታኔዎች, በመጀመሪያ, የኩባንያ ተንታኞች ለወደፊቱ ማጥናት የሚፈልጓቸውን የዝግጅቶች ዓይነቶች በመምረጥ ወደ ዝርዝር ውስጥ ይሰበስባሉ. በተለምዶ እነዚህ ክስተቶች የሚከሰቱት በተወሰነ ቅደም ተከተል ነው፣ “የክስተት ጥለት” ይባላል።
በመቀጠል የሞባይል መተግበሪያ (ድህረ-ገጽ) መደበኛ ተጠቃሚዎች (መሳሪያዎች) እና ብዙ አገልጋዮች እንዳሉት አስብ። ክስተቶችን ደህንነቱ በተጠበቀ ሁኔታ ከመሳሪያዎች ወደ አገልጋይ ለማስተላለፍ መካከለኛ ንብርብር ያስፈልጋል። በሥነ ሕንጻው ላይ በመመስረት የተለያዩ የክስተቶች ወረፋዎች ሊኖሩ ይችላሉ።
Apache Kafka ነው መጠጥ ቤት / ንዑስ ወረፋክስተቶችን ለመሰብሰብ እንደ ወረፋ የሚያገለግል።

እንደ በ Quora ላይ ይለጥፉ እ.ኤ.አ. በ 2014 የአፓቼ ካፍካ ፈጣሪ ሶፍትዌሩን በፍራንዝ ካፍካ ለመሰየም ወሰነ ምክንያቱም "ለመፃፍ የተመቻቸ ስርዓት ነው" እና የካፍ ስራዎችን ስለሚወድ። - ዊኪፔዲያ

በእኛ ምሳሌ ውስጥ ብዙ የመረጃ አምራቾች እና የውሂብ ተጠቃሚዎች (መሳሪያዎች እና ሰርቨሮች) አሉ እና ካፍካ እርስ በርስ እንዲገናኙ ይረዳል. ሸማቾች ዋና ዋና ጉዳዮች በሚሆኑበት በሚቀጥሉት ደረጃዎች በበለጠ ዝርዝር ይገለፃሉ ። አሁን የውሂብ አምራቾችን (ክስተቶችን) ብቻ እንመለከታለን.
ካፍካ የወረፋ እና ክፍልፋዮችን ፅንሰ-ሀሳቦችን ያጠቃልላል ። ስለዚህ ጉዳይ ሌላ ቦታ (ለምሳሌ ፣ እ.ኤ.አ.) የበለጠ ማንበብ የተሻለ ነው ። ሰነድ). ወደ ዝርዝር ጉዳዮች ሳንገባ የሞባይል አፕሊኬሽን ለሁለት የተለያዩ ስርዓተ ክወናዎች እንደተከፈተ እናስብ። ከዚያ እያንዳንዱ ስሪት የራሱ የሆነ የክስተት ዥረት ይፈጥራል። አምራቾች ክስተቶችን ወደ ካፍካ ይልካሉ, ተስማሚ በሆነ ወረፋ ውስጥ ይመዘገባሉ.
የአገልጋይ ትንታኔ ስርዓቶች
(ሥዕል እዚህ)

በተመሳሳይ ጊዜ ካፍካ በትናንሽ ስብስቦች ውስጥ እንዲያነቡ እና የክስተቶችን ዥረት እንዲያካሂዱ ይፈቅድልዎታል። ካፍካ በማደግ ላይ ባሉ ፍላጎቶች (ለምሳሌ በክስተቶች ጂኦግራፊያዊ አቀማመጥ) የሚለካ በጣም ምቹ መሳሪያ ነው።
ብዙውን ጊዜ አንድ ሸርተቴ በቂ ነው, ነገር ግን በሚለካበት ጊዜ ነገሮች ይበልጥ የተወሳሰቡ ይሆናሉ (ሁልጊዜ እንደሚያደርጉት). ምናልባት ማንም ሰው በምርት ውስጥ አንድ አካላዊ ስብርባሪ ብቻ መጠቀም አይፈልግም ፣ ምክንያቱም አርክቴክቸር ስህተትን የሚቋቋም መሆን አለበት። ከካፍካ በተጨማሪ ሌላ በጣም የታወቀ መፍትሄ አለ - RabbitMQ. በምርት ውስጥ ለክስተቶች ትንታኔዎች እንደ ወረፋ አልተጠቀምንበትም (እንደዚህ አይነት ልምድ ካሎት በአስተያየቶቹ ውስጥ ስለ እሱ ይንገሩን!) ሆኖም፣ AWS Kinesis ተጠቀምን።

ወደ ቀጣዩ ደረጃ ከመቀጠልዎ በፊት አንድ ተጨማሪ የስርዓቱን ንብርብር - ጥሬ የሎግ ማከማቻን መጥቀስ አለብን. ይህ የሚፈለግ ንብርብር አይደለም፣ ነገር ግን የሆነ ችግር ከተፈጠረ እና በካፍ ውስጥ ያሉ የክስተት ወረፋዎች ዳግም ከተጀመሩ ጠቃሚ ይሆናል። ጥሬ ምዝግብ ማስታወሻዎችን ማከማቸት ውስብስብ እና ውድ መፍትሄን አይጠይቅም, በቀላሉ አንድ ቦታ በትክክለኛው ቅደም ተከተል (በሃርድ ድራይቭ ላይም ቢሆን) መጻፍ ይችላሉ.
የአገልጋይ ትንታኔ ስርዓቶች

2. የክስተት ዥረቶችን ማካሄድ

ሁሉንም ዝግጅቶች ካዘጋጀን በኋላ በተገቢው ወረፋዎች ውስጥ ካስቀመጥን በኋላ ወደ ማቀነባበሪያው ደረጃ እንቀጥላለን. እዚህ ስለ ሁለቱ በጣም የተለመዱ የማስኬጃ አማራጮች እነግራችኋለሁ.
የመጀመሪያው አማራጭ Spark Streaming በ Apache ሲስተም ውስጥ ማንቃት ነው። ሁሉም የ Apache ምርቶች በኤችዲኤፍኤስ ላይ ይኖራሉ፣ ደህንነቱ የተጠበቀ የፋይል ስርዓት ከፋይል ቅጂዎች ጋር። ስፓርክ ዥረት ለአጠቃቀም ቀላል የሆነ የዥረት ውሂብን እና ሚዛኖችን በደንብ የሚይዝ መሳሪያ ነው። ሆኖም ግን, ለማቆየት አስቸጋሪ ሊሆን ይችላል.
ሌላው አማራጭ የራስዎን ክስተት ተቆጣጣሪ መገንባት ነው. ይህንን ለማድረግ, ለምሳሌ, የ Python መተግበሪያን ለመጻፍ, በ Docker ውስጥ ይገንቡ እና ለካፍካ ወረፋ ይመዝገቡ. ቀስቅሴዎች ወደ መትከያው ተቆጣጣሪዎች ሲደርሱ፣ ሂደቱ ይጀምራል። በዚህ ዘዴ, አፕሊኬሽኖችን በማንኛውም ጊዜ እንዲሰሩ ማድረግ አለብዎት.
ከላይ ከተገለጹት አማራጮች ውስጥ አንዱን እንደመረጥን እናስብ እና ወደ ሂደቱ ራሱ እንሂድ. ማቀነባበሪያዎች የመረጃውን ትክክለኛነት በማጣራት, ቆሻሻን እና "የተበላሹ" ክስተቶችን በማጣራት መጀመር አለባቸው. ለማረጋገጫ ብዙውን ጊዜ እንጠቀማለን ከሴርበረስ. ከዚህ በኋላ, የውሂብ ካርታ ማድረግ ይችላሉ: ከተለያዩ ምንጮች የተገኘው መረጃ ወደ አንድ የጋራ ሠንጠረዥ ለመጨመር መደበኛ እና ደረጃውን የጠበቀ ነው.
የአገልጋይ ትንታኔ ስርዓቶች

3. የውሂብ ጎታ

ሦስተኛው እርምጃ የተለመዱ ክስተቶችን መጠበቅ ነው. ከተዘጋጀው የትንታኔ ስርዓት ጋር ስንሰራ ብዙ ጊዜ ልንደርስባቸው ይገባል, ስለዚህ ምቹ የውሂብ ጎታ መምረጥ አስፈላጊ ነው.
ውሂቡ ከቋሚ እቅድ ጋር በደንብ የሚስማማ ከሆነ መምረጥ ይችላሉ። ጠቅታ ቤት ወይም ሌላ የአምድ ዳታቤዝ። በዚህ መንገድ ውህደቶቹ በጣም በፍጥነት ይሰራሉ. ጉዳቱ እቅዱ በጥብቅ የተስተካከለ ስለሆነ ያለማሻሻያ (ለምሳሌ መደበኛ ያልሆነ ክስተት ሲከሰት) የዘፈቀደ ነገሮችን መጨመር አይቻልም። ግን በጣም በፍጥነት መቁጠር ይችላሉ።
ላልተደራጀ መረጃ NoSQL መውሰድ ይችላሉ ለምሳሌ፡- Apache Cassandra. በኤችዲኤፍኤስ ላይ ይሰራል፣ በደንብ ይደግማል፣ ብዙ ጉዳዮችን ማንሳት ትችላለህ፣ እና ስህተትን ታጋሽ ነው።
እንዲሁም ቀለል ያለ ነገር ማንሳት ይችላሉ ፣ ለምሳሌ ፣ MongODB. እሱ በጣም ቀርፋፋ እና ለአነስተኛ ጥራዞች ነው። ግን ተጨማሪው በጣም ቀላል እና ስለዚህ ለመጀመር ተስማሚ ነው.
የአገልጋይ ትንታኔ ስርዓቶች

4. ስብስቦች

ሁሉንም ክስተቶች በጥንቃቄ ካስቀመጥን በኋላ, ከመጣው ስብስብ ሁሉንም አስፈላጊ መረጃዎችን መሰብሰብ እና የውሂብ ጎታውን ማዘመን እንፈልጋለን. በአለምአቀፍ ደረጃ፣ ተዛማጅ ዳሽቦርዶችን እና መለኪያዎችን ማግኘት እንፈልጋለን። ለምሳሌ የተጠቃሚ መገለጫን ከክስተቶች ሰብስብ እና በሆነ መንገድ ባህሪን ለካ። ክስተቶች ተሰብስበው፣ ተሰብስበው እንደገና ተቀምጠዋል (በተጠቃሚ ሰንጠረዦች)። በተመሳሳይ ጊዜ ማጣሪያን ከአሰባሳቢ-አስተባባሪ ጋር ማገናኘት እንዲችሉ ስርዓት መገንባት ይችላሉ-ተጠቃሚዎችን ከአንድ የተወሰነ ክስተት ብቻ ይሰብስቡ።
ከዚያ በኋላ, በቡድኑ ውስጥ ያለ አንድ ሰው ከፍተኛ ደረጃ ትንታኔዎችን ብቻ የሚያስፈልገው ከሆነ, የውጭ ትንታኔ ስርዓቶች ሊገናኙ ይችላሉ. Mixpanel ን እንደገና መውሰድ ይችላሉ። ግን በጣም ውድ ስለሆነ ሁሉም የተጠቃሚ ክስተቶች ወደዚያ አይላኩም ፣ ግን የሚያስፈልገው ብቻ። ይህንን ለማድረግ አንዳንድ ጥሬ ክስተቶችን ወይም እኛ እራሳችን ቀደም ብለን ያሰባሰብነውን ነገር ወደ ውጫዊ ስርዓቶች፣ ኤፒአይዎች ወይም የማስታወቂያ መድረኮች የሚያስተላልፍ አስተባባሪ መፍጠር አለብን።
የአገልጋይ ትንታኔ ስርዓቶች

5. የፊት ለፊት

የፊት ለፊቱን ከተፈጠረው ስርዓት ጋር ማገናኘት ያስፈልግዎታል. ጥሩ ምሳሌ አገልግሎት ነው። መቅላትዳሽቦርዶችን ለመገንባት የሚያግዝ የውሂብ ጎታ GUI ነው። መስተጋብር እንዴት እንደሚሰራ፡-

  1. ተጠቃሚው የSQL ጥያቄ ያቀርባል።
  2. በምላሹም ምልክት ይቀበላል.
  3. ለእሱ 'አዲስ ምስላዊ' ይፈጥራል እና ለራስዎ ማስቀመጥ የሚችሉትን የሚያምር ግራፍ ያገኛል።

በአገልግሎቱ ውስጥ የሚታዩ ምስሎች በራስ-እየተዘመኑ ናቸው፣ የእርስዎን ክትትል ማበጀት እና መከታተል ይችላሉ። ሬዳሽ በራሱ የሚስተናገድ ከሆነ ነፃ ነው፣ ግን እንደ SaaS በወር $50 ያስከፍላል።
የአገልጋይ ትንታኔ ስርዓቶች

መደምደሚያ

ከላይ ያሉትን ሁሉንም ደረጃዎች ካጠናቀቁ በኋላ የአገልጋይ ትንታኔን ይፈጥራሉ. እባክዎን ይህ የደንበኛ ትንታኔዎችን እንደማገናኘት ቀላል እንዳልሆነ ያስተውሉ, ምክንያቱም ሁሉም ነገር እራስዎ ማዋቀር ያስፈልገዋል. ስለዚህ የራስዎን ስርዓት ከመፍጠርዎ በፊት ለከባድ የትንታኔ ስርዓት አስፈላጊነት እሱን ለመመደብ ፈቃደኛ ከሆኑ ሀብቶች ጋር ማወዳደር ጠቃሚ ነው።
ሒሳብን ከጨረስክ እና ወጪው በጣም ብዙ እንደሆነ ካወቅክ በሚቀጥለው ክፍል እንዴት ርካሽ የሆነ የአገልጋይ ጎን ትንታኔን መስራት እንደሚቻል አወራለሁ።

ስላነበቡ እናመሰግናለን! በአስተያየቶቹ ውስጥ ጥያቄዎችን በመጠየቅ ደስተኛ ነኝ.

ምንጭ: hab.com

አስተያየት ያክሉ