የውሂብ ጎታዎች በኩበርኔትስ ውስጥ ይኖራሉ?

የውሂብ ጎታዎች በኩበርኔትስ ውስጥ ይኖራሉ?

እንደምንም ፣ በታሪክ ፣ የአይቲ ኢንዱስትሪ በማንኛውም ምክንያት በሁለት ሁኔታዊ ካምፖች የተከፈለ ነው - “ለ” እና “ተቃዋሚዎች” የሆኑት። ከዚህም በላይ የክርክር ርዕሰ ጉዳይ ሙሉ በሙሉ የዘፈቀደ ሊሆን ይችላል. የትኛው ስርዓተ ክወና የተሻለ ነው: Win ወይም Linux? በአንድሮይድ ወይም iOS ስማርትፎን ላይ? ሁሉንም ነገር በደመና ውስጥ ማከማቸት ወይም በቀዝቃዛ RAID ማከማቻ ላይ ማስቀመጥ እና ዊንጮቹን በደህንነት ውስጥ ማስቀመጥ አለቦት? ፒኤችፒ ሰዎች ፕሮግራመር የመባል መብት አላቸው? እነዚህ አለመግባባቶች አንዳንድ ጊዜ በተፈጥሯቸው ብቸኛ ህልውና ያላቸው እና ከስፖርት ፍላጎት ውጪ ምንም መሰረት የላቸውም።

ልክ እንደ ኮንቴይነሮች መምጣት እና ይህ ሁሉ ተወዳጅ ምግብ ከዶክ እና ሁኔታዊ k8s ጋር ፣ “ለ” እና “በመቃወም” በተለያዩ የጀርባ አከባቢዎች አዳዲስ ችሎታዎችን የመጠቀም ክርክሮች ጀመሩ ። (በዚህ ውይይት ውስጥ ኩበርኔትስ ብዙውን ጊዜ እንደ ኦርኬስትራ ቢገለጽም ፣ የዚህ ልዩ መሣሪያ ምርጫ መሠረታዊ ጠቀሜታ እንደሌለው አስቀድመን ቦታ እንያዝ። ይልቁንም ለእርስዎ በጣም ምቹ እና የተለመደ የሚመስለውን ማንኛውንም ሌላ መተካት ይችላሉ። .)

እና፣ ይህ የሚመስለው፣ በአንድ ሳንቲም ሁለት ገጽታዎች መካከል ያለ ቀላል ክርክር ነው። በዊን vs ሊኑክስ መካከል ያለው ዘላለማዊ ግጭት፣ መሀል ላይ በቂ ሰዎች የሚኖሩበት፣ ትርጉም የለሽ እና ምህረት የለሽ ነው። ነገር ግን በመያዣው ውስጥ, ሁሉም ነገር በጣም ቀላል አይደለም. ብዙውን ጊዜ እንደዚህ ባሉ ክርክሮች ውስጥ ምንም አይነት ትክክለኛ ጎን የለም, ነገር ግን የውሂብ ጎታዎችን ለማከማቸት "መጠቀም" ወይም "አይጠቀሙም" መያዣዎችን በተመለከተ ሁሉም ነገር ወደ ታች ይለወጣል. ምክንያቱም በተወሰነ መልኩ የዚህ አካሄድ ደጋፊዎችም ሆኑ ተቃዋሚዎች ትክክል ናቸው።

በጎ ጎን

የ Light Side ክርክር በአንድ ሐረግ በአጭሩ ሊገለጽ ይችላል፡- “ሄሎ፣ 2k19 ከመስኮቱ ውጪ ነው!” በእርግጥ ህዝባዊነት ይመስላል, ነገር ግን ሁኔታውን በዝርዝር ካስተዋሉ, ጥቅሞቹ አሉት. አሁን እናስተካክላቸው።

ትልቅ የድር ፕሮጀክት አለህ እንበል። እሱ በመጀመሪያ በማይክሮ አገልግሎት አቀራረብ ላይ የተመሠረተ ሊሆን ይችላል ፣ ወይም በሆነ ጊዜ በዝግመተ ለውጥ መንገድ ወደ እሱ መጣ - ይህ በእውነቱ በጣም አስፈላጊ አይደለም ። ፕሮጀክታችንን ወደ ተለያዩ ማይክሮ ሰርቪስ በትነዋል፣ ኦርኬስትራ አቋቁመሃል፣ ሸክም ማመጣጠን እና ልኬት። እና አሁን፣ በንፁህ ህሊና፣ የወደቁ አገልጋዮችን ከማፍራት ይልቅ በሃብራ ኢፌክት ጊዜ ሞጂቶ በ hammock ውስጥ ይጠጡታል። ግን በሁሉም ድርጊቶች ውስጥ ወጥነት ያለው መሆን አለብዎት. በጣም ብዙ ጊዜ፣ አፕሊኬሽኑ ራሱ ብቻ ነው-ኮዱ-በመያዣ ተያይዟል። ከኮድ ውጪ ሌላ ምን አለን?

ትክክል ነው፣ ውሂብ። የማንኛውም ፕሮጀክት ልብ ውሂቡ ነው፡ ይህ ወይ የተለመደ ዲቢኤምኤስ ሊሆን ይችላል - MySQL፣ Postgre፣ MongoDB፣ ወይም ለፍለጋ የሚያገለግል ማከማቻ (ElasticSearch)፣ ለመሸጎጫ ቁልፍ እሴት ማከማቻ - ለምሳሌ፣ redis፣ ወዘተ በአሁኑ ጊዜ እኛ አይደለንም። በደንብ ባልተፃፉ ጥያቄዎች ምክንያት የመረጃ ቋቱ ሲበላሽ ስለ ጠማማ የጀርባ አተገባበር አማራጮች እንነጋገራለን ፣ እና በምትኩ በደንበኛ ጭነት ውስጥ የዚህን የውሂብ ጎታ ስህተት መቻቻል ስለማረጋገጥ እንነጋገራለን ። ለነገሩ፣ ማመልከቻችንን ወደ ኮንቴይነር ስናይዘው እና ማንኛውንም ገቢ ጥያቄዎችን ለማስኬድ በነፃነት እንዲመዘን ስንፈቅድ፣ ይህ በተፈጥሮ የውሂብ ጎታ ላይ ያለውን ጭነት ይጨምራል።

እንደውም የመረጃ ቋቱን ለማግኘት ቻናል እና የሚሠራበት ሰርቨር በእኛ ውብ ኮንቴይነር ጀርባ የመርፌ አይን ይሆናል። በተመሳሳይ ጊዜ, ኮንቴይነሮች ቨርቹዋል ዋና ተነሳሽነት የመንቀሳቀስ እና የመተጣጠፍ መዋቅር ነው, ይህም በተቻለ መጠን በተሟላ ሁኔታ በሚቀርቡልን መሠረተ ልማቶች ላይ ከፍተኛ ጭነት ማከፋፈልን እንድናደራጅ ያስችለናል. ማለትም ሁሉንም የስርዓቱን አካላት በክላስተር ውስጥ ካላስቀመጥን እና ካልዘረጋን በጣም ከባድ ስህተት እየሠራን ነው።

አፕሊኬሽኑን ራሱ ብቻ ሳይሆን መረጃን ለማከማቸት ኃላፊነት ያላቸውን አገልግሎቶች ማሰባሰብ የበለጠ ምክንያታዊ ነው። ራሳቸውን ችለው የሚሰሩ ዌብ ሰርቨሮችን በማሰባሰብ እና በማሰማራት ሸክሙን በk8s እርስ በርስ በማከፋፈል የዳታ ማመሳሰልን ችግር ከወዲሁ እየፈታን ነው - በልጥፎች ላይ ተመሳሳይ አስተያየቶች አንዳንድ ሚዲያዎችን ወይም የብሎግ መድረክን እንደ ምሳሌ ብንወስድ። ያም ሆነ ይህ፣ የመረጃ ቋቱን እንደ ውጫዊ አገልግሎት የሚወክል ውስጠ-ክላስተር፣ ምናባዊም ቢሆን አለን። ጥያቄው ዳታቤዙ ራሱ ገና አልተሰበሰበም ነው - በኪዩብ ውስጥ የተሰማሩት የድር አገልጋዮች በተናጥል ከሚሽከረከረው የኛ የማይንቀሳቀስ የውጊያ ዳታቤዝ ስለ ለውጦች መረጃ ይወስዳሉ።

መያዙን ይሰማዎታል? ጭነቱን ለማከፋፈል እና ዋናውን የድር አገልጋይ እንዳያበላሹ k8s ወይም Swarm እንጠቀማለን ነገርግን ይህንን ለዳታቤዝ አናደርገውም። ነገር ግን የመረጃ ቋቱ ከተበላሸ፣ ያኔ አጠቃላይ የተሰባሰቡ መሠረተ ልማቶቻችን ምንም ትርጉም የላቸውም - የውሂብ ጎታ መዳረሻ ስህተትን የሚመልሱ ባዶ ድረ-ገጾች ምን ፋይዳ አላቸው?

ለዚህም ነው በተለምዶ እንደሚደረገው የድር አገልጋዮችን ብቻ ሳይሆን የውሂብ ጎታ መሠረተ ልማትን ጭምር ማሰባሰብ አስፈላጊ የሆነው። በዚህ መንገድ ብቻ በአንድ ቡድን ውስጥ ሙሉ ለሙሉ የሚሰራውን መዋቅር ማረጋገጥ እንችላለን, ግን በተመሳሳይ ጊዜ እርስ በርስ ነጻ ነው. ከዚህም በላይ ግማሹ ከኋላችን “ቢወድም” በጭነት ቢወድቅም ቀሪው ይድናል፣ እና የመረጃ ቋቶቹን በክላስተር ውስጥ እርስ በርስ የማመሳሰል አሰራር እና አዳዲስ ክላስተርዎችን ያለማቋረጥ የመጠን እና የማሰማራት ችሎታ ወደሚፈለገው አቅም በፍጥነት ለመድረስ ይረዳል ። - በመረጃ ማእከል ውስጥ መደርደሪያዎች ቢኖሩ ኖሮ።

በተጨማሪም ፣ በክላስተር ውስጥ የተሰራጨው የመረጃ ቋቱ ሞዴል ይህንን የመረጃ ቋት ወደሚያስፈልገው ቦታ እንዲወስዱ ያስችልዎታል ። ስለ ዓለም አቀፋዊ አገልግሎት እየተነጋገርን ከሆነ በሳን ፍራንሲስኮ አካባቢ አንድ ቦታ ላይ የድር ክላስተር ማሽከርከር እና በተመሳሳይ ጊዜ በሞስኮ ክልል ውስጥ የውሂብ ጎታ ሲደርሱ እና ወደ ኋላ መላክ ምክንያታዊ አይደለም ።

እንዲሁም የመረጃ ቋቱ መያዣ ሁሉንም የስርዓቱን አካላት በተመሳሳይ የአብስትራክሽን ደረጃ እንዲገነቡ ያስችልዎታል። ይህ ደግሞ የአስተዳዳሪዎች ንቁ ተሳትፎ ሳይኖር በገንቢዎች ይህንን ስርዓት በቀጥታ ከኮድ ማስተዳደር ያስችላል። ገንቢዎቹ ለአዲሱ ንዑስ ፕሮጀክት የተለየ DBMS እንደሚያስፈልግ አስበው ነበር - ቀላል! የ yaml ፋይል ፃፈ፣ ወደ ክላስተር ሰቀለው እና ጨርሰሃል።

እና በእርግጥ, ውስጣዊ አሠራር በጣም ቀላል ነው. ንገረኝ ፣ አንድ አዲስ ቡድን አባል እጁን ወደ የውጊያ ዳታቤዝ ለስራ ሲያስገባ ምን ያህል ጊዜ አይንህን ጨፍነሃል? የቱ ነው፣ በእውነቱ፣ ያለህ እና አሁን እየተሽከረከረ ያለው? እርግጥ ነው፣ እኛ እዚህ ሁላችንም ጎልማሶች ነን፣ እና የሆነ ቦታ አዲስ የመጠባበቂያ ክምችት አለን፣ እና እንዲያውም ራቅ ያለ - ከመደርደሪያው በስተጀርባ ከአያቶች ዱባዎች እና ከአሮጌ ስኪዎች ጋር - ሌላ ምትኬ ፣ ምናልባትም በቀዝቃዛ ማከማቻ ውስጥ ፣ ምክንያቱም ቢሮዎ ቀድሞውኑ በእሳት ላይ አንድ ጊዜ ነበር። ነገር ግን ሁሉም ተመሳሳይ, የውጊያ መሠረተ ልማት መዳረሻ ጋር አዲስ ቡድን አባል እና እርግጥ ነው, የውጊያ ዳታቤዝ ጋር ሁሉ መግቢያ ሁሉ ዙሪያ validol አንድ ባልዲ ነው. ደህና, ማን ያውቀዋል, አዲስ ሰው, ምናልባት እሱ ተሻጋሪ ሊሆን ይችላል? ያስፈራል፣ ትስማማለህ።

ኮንቴይነር እና፣ በእውነቱ፣ የፕሮጀክትህ የውሂብ ጎታ የተሰራጨው ፊዚካል ቶፖሎጂ እንደዚህ አይነት የማረጋገጫ ጊዜዎችን ለማስወገድ ይረዳል። አዲስ ሰው አታምኑም? እሺ! አብሮ ለመስራት የራሱን ክላስተር እንስጠው እና የውሂብ ጎታውን ከሌሎች ዘለላዎች ማቋረጥ - ማመሳሰል በእጅ በመገፋፋት እና በተመሳሰለ በሁለት ቁልፎች ማሽከርከር ብቻ (አንዱ ለቡድን መሪ ፣ ሌላኛው ለአስተዳዳሪ)። እና ሁሉም ሰው ደስተኛ ነው።

እና አሁን ወደ የውሂብ ጎታ ስብስብ ተቃዋሚዎች ለመለወጥ ጊዜው አሁን ነው።

ጨለማ ጎን

ለምንድነው ዳታቤዙን በኮንቴይነር ማስቀመጥ እና በአንድ ማእከላዊ ሰርቨር ላይ መስራቱን መቀጠል ለምን አያዋጣም ብለን በመሟገት ወደ ኦርቶዶክሶች እና እንደ “አያቶች ዳታቤዝ በሃርድዌር ላይ ይሰሩ ነበር፣ እኛም እንደዛው ነን!” ወደሚሉት ንግግሮች አንገባም። ይልቁንስ ኮንቴይነሬሽን ተጨባጭ ትርፍ የሚያስገኝበትን ሁኔታ ለመፍጠር እንሞክር።

እስማማለሁ፣ በኮንቴይነር ውስጥ በእውነት መሰረት የሚያስፈልጋቸው ፕሮጀክቶች ምርጥ ወፍጮ ማሽን ኦፕሬተር ሳይሆን በአንድ እጅ ጣቶች ላይ ሊቆጠሩ ይችላሉ። በአብዛኛው ፣ የ k8s ወይም Docker Swarm አጠቃቀም ራሱ ብዙ ነው - ብዙውን ጊዜ እነዚህ መሳሪያዎች የሚጠቀሙት በቴክኖሎጂ አጠቃላይ ድምቀት እና በስርዓተ-ፆታ ሰው ውስጥ ባለው “ሁሉን ቻይ” አስተሳሰብ ምክንያት ሁሉንም ነገር ወደ ውስጥ ለመግፋት ነው። ደመናዎች እና መያዣዎች. ደህና, ምክንያቱም አሁን ፋሽን ነው እና ሁሉም ሰው ያደርገዋል.

ከጉዳዮቹ ውስጥ ቢያንስ በግማሽ ያህል፣ ኩበርኔትስ ወይም ዶከርን በፕሮጄክት ላይ ብቻ መጠቀም ብዙ ጊዜ የማይፈለግ ነው። ጉዳዩ የደንበኛውን መሠረተ ልማት ለመጠበቅ የተቀጠሩ ሁሉም ቡድኖች ወይም የውጭ ኩባንያዎች ይህንን አያውቁም. ኮንቴይነሮች ሲጫኑ በጣም የከፋ ነው, ምክንያቱም ለደንበኛው የተወሰነ መጠን ያለው ሳንቲም ስለሚያስከፍል ነው.

በአጠቃላይ፣ ዶከር/ኩብ ማፍያ እነዚህን የመሠረተ ልማት ጉዳዮችን የሚያቀርቡ ደንበኞችን በሞኝነት እየጨፈጨፈ ነው የሚል አስተያየት አለ። ከሁሉም በላይ, ከክላስተር ጋር ለመስራት, ይህንን ችሎታ ያላቸው እና በአጠቃላይ የተተገበረውን የመፍትሄውን አርክቴክቸር የሚረዱ መሐንዲሶች ያስፈልጉናል. በአንድ ወቅት ጉዳያችንን በሪፐብሊኩ ህትመት ገለጽነው - እዚያ የደንበኛውን ቡድን በ Kubernetis እውነታዎች ውስጥ እንዲሰራ አሰልጥነናል እና ሁሉም ሰው ረክቷል። እና ጨዋ ነበር። ብዙውን ጊዜ k8s “አስፈጻሚዎች” የደንበኛውን መሠረተ ልማት ታግተው ይወስዳሉ - ምክንያቱም አሁን ሁሉም ነገር እዚያ እንዴት እንደሚሰራ የሚረዱት ብቻ ነው ፣ ከደንበኛው ጎን ምንም ልዩ ባለሙያዎች የሉም።

አሁን በዚህ መንገድ የድረ-ገጽ አገልጋይ ክፍልን ብቻ ሳይሆን የውሂብ ጎታውን ጥገናን ጭምር እንደምናወጣ አስቡት. BD ልብ ነው፣ እና የልብ መጥፋት ለማንኛውም ህይወት ያለው አካል ገዳይ ነው ብለናል። በአጭሩ, ተስፋዎቹ በጣም የተሻሉ አይደሉም. ስለዚህ ፣ Kubernetis ከማበረታቻ ይልቅ ፣ ብዙ ፕሮጀክቶች በቀላሉ ለ AWS መደበኛ ታሪፍ መጨነቅ የለባቸውም ፣ ይህም በጣቢያቸው / ፕሮጄክታቸው ላይ ያለውን ጭነት ሁሉንም ችግሮች ይፈታል ። ግን AWS ከአሁን በኋላ ፋሽን አይደለም፣ እና ትርኢቶች ከገንዘብ የበለጠ ዋጋ አላቸው - በሚያሳዝን ሁኔታ፣ በአይቲ አካባቢም ጭምር።

እሺ ምናልባት ፕሮጀክቱ በእርግጥ ክላስተር ያስፈልገዋል፣ነገር ግን አገር በሌላቸው አፕሊኬሽኖች ሁሉም ነገር ግልጽ ከሆነ፣እንዴት ጨዋ የአውታረ መረብ ግንኙነትን ለተከታታይ ዳታቤዝ ማደራጀት እንችላለን?

ስለ አንድ እንከን የለሽ የምህንድስና መፍትሔ እየተነጋገርን ከሆነ፣ ወደ k8s የሚደረገው ሽግግር ምን እንደሆነ፣ ዋናው ራስ ምታታችን በተሰበሰበ የውሂብ ጎታ ውስጥ የመረጃ ማባዛት ነው። አንዳንድ ዲቢኤምኤስዎች በመጀመሪያ በነጠላ አጋጣሚዎች መካከል ለውሂብ ስርጭት ታማኝ ናቸው። ሌሎች ብዙዎች እንግዳ ተቀባይ አይደሉም። እና ብዙ ጊዜ ለፕሮጀክታችን ዲቢኤምኤስን በምንመርጥበት ጊዜ ዋናው መከራከሪያ በትንሹ የሃብት እና የምህንድስና ወጪዎች የመድገም ችሎታ አይደለም። በተለይም ፕሮጀክቱ መጀመሪያ ላይ እንደ ማይክሮ ሰርቪስ የታቀደ ካልሆነ, ግን በቀላሉ በዚህ አቅጣጫ የተሻሻለ ከሆነ.

ስለ ኔትወርክ ተሽከርካሪዎች ፍጥነት ማውራት አያስፈልግም ብለን እናስባለን - እነሱ ቀርፋፋ ናቸው። እነዚያ። አሁንም ቢሆን እውነተኛ እድል የለንም, የሆነ ነገር ከተፈጠረ, ተጨማሪ ባለበት ቦታ የ DBMS ምሳሌን እንደገና ለማስጀመር, ለምሳሌ, ፕሮሰሰር ሃይል ወይም ነጻ ራም. ወደ ምናባዊ የዲስክ ንዑስ ስርዓት አፈፃፀም በጣም በፍጥነት እንሮጣለን ። በዚህ መሠረት ዲቢኤምኤስ በቅርበት በሚገኙት የራሱ የግል ስብስብ ማሽኖች ላይ መቸነከር አለበት። ወይም ለተገመተው ክምችት በበቂ ሁኔታ ፈጣን የመረጃ ማመሳሰልን በተናጥል ማቀዝቀዝ ያስፈልጋል።

የቨርቹዋል ፋይል ስርዓቶችን ርዕስ መቀጠል፡ Docker Volumes፣ በሚያሳዝን ሁኔታ፣ ከችግር ነጻ አይደሉም። በአጠቃላይ፣ እንደ ረጅም ጊዜ የሚቆይ አስተማማኝ የመረጃ ማከማቻ ጉዳይ፣ በጣም ቴክኒካል ቀላል እቅዶችን መስራት እፈልጋለሁ። እና አዲስ የአብስትራክሽን ንብርብር ከእቃ መያዣው ኤፍኤስ ወደ ኤፍኤስ የወላጅ አስተናጋጅ መጨመር በራሱ አደጋ ነው። ነገር ግን የመያዣው የድጋፍ ስርዓት አሠራር በእነዚህ ንብርብሮች መካከል መረጃን በማስተላለፍ ረገድ ችግሮች ሲያጋጥመው ፣ ያ በእውነቱ ጥፋት ነው። በአሁኑ ወቅት፣ በተራማጅ የሰው ልጅ ዘንድ የሚታወቁት አብዛኞቹ ችግሮች የተወገዱ ይመስላሉ። ነገር ግን ተረድተዋል, ዘዴው ይበልጥ የተወሳሰበ, በቀላሉ ይሰብራል.

ከእነዚህ ሁሉ “ጀብዱዎች” አንፃር የመረጃ ቋቱን በአንድ ቦታ ማስቀመጥ የበለጠ ትርፋማ እና ቀላል ነው ፣ እና ምንም እንኳን ትግበራውን መያዣ ማድረግ ቢፈልጉም ፣ በራሱ እንዲሰራ እና በስርጭት መተላለፊያው በኩል በተመሳሳይ ጊዜ ከ ዳታቤዝ፣ አንድ ጊዜ ብቻ የሚነበብ እና የሚፃፍ እና በአንድ ቦታ። ይህ አካሄድ ስህተቶችን እና አለመመሳሰልን በትንሹ ይቀንሳል።

ወደ ምን እየመራን ነው? በተጨማሪም የውሂብ ጎታ መያዣው ትክክለኛ ፍላጎት በሚኖርበት ጊዜ ተገቢ ነው. የሙሉ መተግበሪያ ዳታቤዝ መሙላት እና ሁለት ደርዘን የማይክሮ አገልግሎት እንዳሎት ማሽከርከር አይችሉም - በዚህ መንገድ አይሰራም። እና ይህ በግልጽ መረዳት አለበት.

በውጤ ፈንታ

“የውሂብ ጎታውን ምናባዊ ለማድረግ ወይም ላለማድረግ” ግልጽ የሆነ መደምደሚያ እየጠበቁ ከሆነ እኛ እናሳዝነዎታለን - እዚህ አይሆንም። ምክንያቱም ማንኛውንም የመሠረተ ልማት መፍትሄ ሲፈጥሩ በፋሽን እና በእድገት ሳይሆን በመጀመሪያ ደረጃ, በማስተዋል መመራት አለበት.

ከኩበርኔቲስ ጋር የሚመጡት መርሆች እና መሳሪያዎች በትክክል የሚስማሙባቸው ፕሮጀክቶች አሉ, እና በእንደዚህ አይነት ፕሮጀክቶች ውስጥ ቢያንስ ቢያንስ በጀርባ አከባቢ ሰላም አለ. እና መደበኛ የአገልጋይ መሠረተ ልማት የማያስፈልጋቸው ፕሮጄክቶች አሉ ፣ ምክንያቱም በመሠረቱ ወደ ማይክሮ ሰርቪስ ክላስተር ሞዴል እንደገና ማመጣጠን አይችሉም ፣ ምክንያቱም ይወድቃሉ።

ምንጭ: hab.com

አስተያየት ያክሉ