Na li-database li lula Kubernetes?

Na li-database li lula Kubernetes?

Ka tsela e itseng, historing, indasteri ea IT e arotsoe ka likampo tse peli tse nang le maemo ka lebaka leha e le lefe: ba "bakeng sa" le ba "khahlanong le". Ho feta moo, taba ea likhohlano e ka ba e sa lumellaneng ka ho feletseng. Ke OS efe e betere: Win kapa Linux? Ho smartphone ea Android kapa iOS? Na u lokela ho boloka ntho e 'ngoe le e' ngoe marung kapa u e behe sebakeng se batang sa RAID ebe u beha li-screws sebakeng se sireletsehileng? Na batho ba PHP ba na le tokelo ea ho bitsoa baetsi ba mananeo? Likhohlano tsena, ka linako tse ling, li teng ka tlhaho feela 'me ha li na motheo ntle le lithahasello tsa lipapali.

Ho ile ha etsahala hore ka ho fihla ha lijana le lijo tsena tsohle tse ratoang tse nang le li-docker le k8s tse nang le maemo, lipuisano tsa "bakeng sa" le "khahlanong" le tšebeliso ea bokhoni bo bocha libakeng tse sa tšoaneng tsa backend li qalile. (Ha re etse pehelo esale pele hore le hoja Kubernetes hangata a tla bontšoa e le sebini sa 'mino puisanong ena, khetho ea sesebelisoa sena ha se ea bohlokoa haholo. Ho e-na le hoo, u ka nkela sebaka leha e le sefe se bonahalang se le bonolo ebile se tloaelehile ho uena. )

'Me, ho bonahala eka, ena e ne e tla ba phehisano e bonolo pakeng tsa mahlakore a mabeli a chelete ea tšepe e le 'ngoe. Joalo ka ho hloka kelello le ho hloka mohau joalo ka khohlano e sa feleng lipakeng tsa Win vs Linux, moo ho nang le batho ba lekaneng kae-kae bohareng. Empa tabeng ea ho kenya lisebelisoa, ha se ntho e 'ngoe le e' ngoe e bonolo haholo. Hangata likhohlanong tse joalo ha ho na lehlakore le nepahetseng, empa tabeng ea "sebelisa" kapa "ho se sebelise" lijana bakeng sa ho boloka li-database, ntho e 'ngoe le e' ngoe e fetoha. Hobane ka tsela e itseng, batšehetsi le bahanyetsi ba mokhoa ona ba nepahetse.

Lehlakore le hlakileng

Khang ea Light Side e ka hlalosoa ka bokhutšoanyane ka poleloana e le 'ngoe: "Lumela, 2k19 e ka ntle ho fensetere!" Ho utloahala eka ke populism, ha e le hantle, empa haeba u hlahloba boemo ka botlalo, e na le melemo ea eona. A re li lokiseng hona joale.

Ha re re u na le morero o moholo oa tepo. E ka be e hahiloe qalong motheong oa mokhoa oa microservice, kapa ka nako e 'ngoe e fihlile ho eona ka tsela ea ho iphetola ha lintho - sena ha se bohlokoa haholo, ha e le hantle. U ile ua hasanya morero oa rona ho li-microservices tse arohaneng, ho theha 'mino oa liletsa, ho leka-lekanya thepa, le ho phahamisa. 'Me joale, ka letsoalo le hloekileng, u noa mojito ka hammock nakong ea liphello tsa habra ho e-na le ho phahamisa li-server tse oeleng. Empa liketsong tsohle u tlameha ho ba le botsitso. Hangata, ke ts'ebeliso feela ka boeona - khoutu - e kentsoeng. Ke eng hape eo re nang le eona ntle le khoutu?

Ke 'nete, data. Pelo ea morero ofe kapa ofe ke data ea eona: ena e ka ba DBMS e tloaelehileng - MySQL, Postgre, MongoDB, kapa polokelo e sebelisetsoang ho batla (ElasticSearch), polokelo ea bohlokoa bakeng sa caching - mohlala, redis, joalo-joalo. Hajoale ha re joalo. re tla bua ka mekhoa e khopameng ea ts'ebetsong ea backend ha database e senyeha ka lebaka la lipotso tse ngotsoeng hampe, 'me ho e-na le hoo re tla bua ka ho netefatsa mamello ea phoso ea database ena tlas'a mojaro oa bareki. Ntle le moo, ha re kenya kopo ea rona mme re e lumella hore e phethe ka bolokolohi ho sebetsana le palo efe kapa efe ea likopo tse kenang, ka tlhaho sena se eketsa mojaro ho database.

Ha e le hantle, mocha oa ho fihlella polokelongtshedimosetso le seva eo e tsamaeang ho eona e fetoha leihlo la nale sebakeng sa rona se setle sa backend. Ka nako e ts'oanang, sepheo se seholo sa virtualization ea setshelo ke ho sisinyeha le ho feto-fetoha ha sebopeho, e leng se re lumellang ho hlophisa kabo ea meroalo e phahameng ho pholletsa le lisebelisoa tsohle tse fumanehang ho rona ka katleho kamoo ho ka khonehang. E leng hore ha re ka ra etsa li-container and roll out all available of the system through the cluster, re etsa phoso e kholo haholo.

Hoa utloahala ho kopanya eseng feela ts'ebeliso ka boeona, empa le lits'ebeletso tse ikarabellang bakeng sa ho boloka data. Ka ho kopanya le ho romela lisebelisoa tsa marang-rang tse sebetsang ka boithaopo le ho aba mojaro har'a bona ka k8s, re se re ntse re rarolla bothata ba ho hokahanya ha data - litlhaloso tse tšoanang ho li-post, haeba re nka mecha ea litaba kapa sethala sa blog e le mohlala. Leha ho le joalo, re na le intra-cluster, esita le e bonahalang, e emelang database e le ExternalService. Potso ke hore database ka boeona ha e so kopane - li-server tsa marang-rang tse kentsoeng ka har'a cube li nka tlhahisoleseling mabapi le liphetoho ho tsoa ho database ea rona ea ntoa e sa fetoheng, e potolohang ka thoko.

Na u utloa ho tšoasa? Re sebelisa k8s kapa Swarm ho aba mojaro le ho qoba ho senya seva sa mantlha sa webo, empa ha re etse sena bakeng sa database. Empa haeba database e senyeha, lisebelisoa tsa rona tse kopaneng ha li na kelello - na maqephe a marang-rang a se nang letho a khutlisetsa phoso ea phihlello ea database?

Ke ka lebaka leo ho hlokahalang ho kopanya eseng feela li-server tsa marang-rang, joalo ka ha ho etsoa hangata, empa hape le lisebelisoa tsa motheo tsa database. Ke ka tsela ena feela re ka netefatsang sebopeho se sebetsang ka botlalo sehlopheng se le seng, empa ka nako e ts'oanang se ikemetseng ho tloha ho tse ling. Ho feta moo, le haeba halofo ea "backend" ea rona e "oela" ka tlas'a mojaro, tse ling kaofela li tla pholoha, 'me tsamaiso ea ho hokahanya li-database le tse ling ka har'a sehlopha le bokhoni ba ho lekanya ka ho sa feleng le ho kenya lihlopha tse ncha ho tla thusa kapele ho finyella bokhoni bo hlokahalang - haeba feela ho ne ho e-na le li-racks setsing sa data.

Ho feta moo, mohlala oa database o abuoang ka lihlopha o u lumella ho isa database ena moo e hlokahalang; Haeba re bua ka ts'ebeletso ea lefats'e, joale ha ho utloahale ho hlahisa sehlopha sa marang-rang kae-kae sebakeng sa San Francisco mme ka nako e ts'oanang u romelle lipakete ha u fihlella database sebakeng sa Moscow le morao.

Hape, ho kenngoa ha database ho u lumella ho aha likarolo tsohle tsa sistimi ka mokhoa o ts'oanang oa ts'ebetso. E leng, ka lehlakoreng le leng, e etsa hore ho khonehe ho laola tsamaiso ena ka ho toba ho tloha khoutu, ke bahlahisi, ntle le ho kenya letsoho ka mafolofolo ha batsamaisi. Bahlahisi ba ne ba nahana hore ho hlokahala DBMS e arohaneng bakeng sa morero o mocha - o bonolo! o ngotse file ea yaml, oa e kenya sehlopheng mme o qetile.

'Me ehlile, ts'ebetso ea kahare e nolofalitsoe haholo. Ak'u mpolelle, u koetse mahlo a hau ka makhetlo a makae ha setho se secha sa sehlopha se beha matsoho ka har'a database ea ntoa bakeng sa mosebetsi? Ha e le hantle, ke efe feela eo u nang le eona 'me e ntse e bilika hona joale? Ha e le hantle, kaofela re batho ba baholo mona, 'me kae-kae re na le "backup" e ncha, esita le ho feta - ka mor'a sethala se nang le likomkomere tsa nkhono le li-skis tsa khale - "backup" e' ngoe, mohlomong esita le polokelong e batang, hobane ofisi ea hau e ne e se e ntse e tuka hang. Empa leha ho le joalo, kenyelletso e 'ngoe le e' ngoe ea setho se secha sa sehlopha se nang le phihlello ea meaho ea ntoa, 'me, ha e le hantle, ho database ea ntoa ke nkho ea validol bakeng sa bohle ba potolohileng. Hantle, ke mang ea mo tsebang, ngoana ea sa tsoa tsoaloa, mohlomong o na le matsoho? Hoa tšosa, u tla lumela.

Containerization, 'me, ha e le hantle, topology e ajoang ea database ea projeke ea hau e thusa ho qoba linako tse joalo tsa netefatso. Ha u tšepe ngoana e mocha? HO LOKILE! Ha re mo fe sehlopha sa hae seo a ka sebetsang le sona le ho hakolla database ho tsoa ho lihlopha tse ling - ho hokahanya feela ka ho sutumetsa ka letsoho le ho potoloha ha linotlolo tse peli (e 'ngoe bakeng sa moetapele oa sehlopha, e' ngoe bakeng sa admin). Mme bohle ba thabile.

'Me joale ke nako ea ho fetoha bahanyetsi ba pokello ea database.

Lehlakore le lefifi

Ha re pheha khang ea hore na ke hobane'ng ha ho sa tšoanelehe ho boloka polokelo ea boitsebiso le ho tsoela pele ho e sebelisa ho seva e le 'ngoe e bohareng, re ke ke ra inehela ho lipolelo tsa li-orthodoxies le lipolelo tse kang "bo-ntate-moholo ba ile ba sebelisa lisebelisoa tsa lisebelisoa, le rona re tla etsa joalo!" Ho e-na le hoo, a re lekeng ho tla le boemo boo ho bona containation e ka lefang meputso e bonahalang.

Lumellana, merero e hlileng e hlokang motheo ka har'a setshelo e ka baloa ka menoana ea letsoho le le leng ke eseng mochine o motle ka ho fetisisa oa ho sila. Boholo, esita le ts'ebeliso ea k8s kapa Docker Swarm ka boeona ha e na thuso - hangata lisebelisoa tsena li sebelisoa ka lebaka la hype e akaretsang ea mahlale a mahlale le maikutlo a "ea matla 'ohle" ho batho ba bong ho sutumelletsa tsohle ho maru le lijana. Hantle, hobane joale e se e le feshene 'me bohle ba e etsa.

Bonyane halofo ea linyeoe, ho sebelisa Kubernetis kapa Docker feela morerong ha ho na thuso. Taba ke hore ha se lihlopha tsohle kapa lik'hamphani tse tsoang kantle ho naha tse hiretsoeng ho boloka meaho ea bareki li tseba ka sena. Ho hobe le ho feta ha lijana li behiloe, hobane li bitsa chelete e itseng ea tšepe ho moreki.

Ka kakaretso, ho na le maikutlo a hore docker / cube mafia e hatella bareki ba tsoang kantle ho litaba tsena tsa motheo. Ntle le moo, e le hore re sebetse le lihlopha, re hloka baenjiniere ba khonang ho etsa sena mme ka kakaretso ba utloisisa meralo ea tharollo e kentsoeng tšebetsong. Re kile ra hlalosa nyeoe ea rona ka khatiso ea Rephabliki - moo re ileng ra koetlisa sehlopha sa bareki ho sebetsa ka 'nete ea Kubernetis,' me bohle ba khotsofetse. 'Me e ne e le ntle. Hangata, "basebelisi" ba k8 ba nka thepa ea litšebeletso tsa bareki - hobane joale ke bona feela ba utloisisang hore na ntho e 'ngoe le e' ngoe e sebetsa joang moo; ha ho na litsebi ka lehlakoreng la moreki.

Joale ak'u nahane hore ka tsela ena ha re fane ka karolo ea seva sa marang-rang feela, empa hape le tlhokomelo ea database. Re itse BD ke pelo, 'me ho lahleheloa ke pelo ho bolaea ntho leha e le efe e phelang. Ka bokhutšoanyane, litebello ha li ntle ka ho fetisisa. Kahoo, sebakeng sa hype Kubernetis, merero e mengata ha ea lokela ho khathatseha ka tefiso e tloaelehileng ea AWS, e tla rarolla mathata ohle ka mojaro setšeng sa bona / morero. Empa AWS ha e sa le fesheneng, 'me li-show-offs li bohlokoa ho feta chelete - ka bomalimabe le tikolohong ea IT.

HO LOKILE. Mohlomong morero o hlile o hloka ho kopanya, empa haeba ntho e 'ngoe le e' ngoe e hlakile ka lits'ebetso tse se nang palo, joale re ka hlophisa khokahanyo e ntle ea marang-rang bakeng sa database e kopaneng?

Haeba re bua ka tharollo ea boenjiniere e se nang moeli, e leng seo phetoho ea k8 e leng sona, joale hlooho ea rona e ka sehloohong ke ho pheta-pheta ha data ka har'a database e kopantsoeng. Li-DBMS tse ling qalong li ts'epahalla kabong ea data lipakeng tsa maemo a bona ka bomong. Ba bang ba bangata ha ba amohelehe hakaalo. 'Me hangata khang ea mantlha ea ho khetha DBMS bakeng sa projeke ea rona ha se bokhoni ba ho ikatisa ka litšenyehelo tse fokolang tsa lisebelisoa le boenjiniere. Haholo-holo haeba morero o ne o sa reroa qalong e le microservice, empa o bile teng ka tsela ena.

Re nahana hore ha ho hlokahale ho bua ka lebelo la li-drive tsa marang-rang - li lieha. Tseo. Re ntse re se na monyetla oa sebele, haeba ho etsahala ntho e itseng, ho qala hape mohlala oa DBMS kae-kae moo ho nang le ho feta, mohlala, matla a processor kapa RAM ea mahala. Re tla potlakela ho kena ts'ebetsong ea "virtualized disk subsystem". Ka hona, DBMS e tlameha ho khokhotheloa mochining oa eona oa botho o haufi. Kapa hoa hlokahala hore ka tsela e itseng u pholisoe ka ho lekaneng ka mokhoa o lekaneng oa ho hokahanya ha data bakeng sa libaka tseo ho nahanoang hore li boloketsoe.

Ho tsoela pele ka sehlooho sa litsamaiso tsa faele tsa sebele: Meqolo ea Docker, ka bomalimabe, ha e na mathata. Ka kakaretso, tabeng e kang ea nako e telele e ka tšeptjoang ea polokelo ea data, ke kopa ho etsa ka merero e bonolo ka ho fetisisa ea theknoloji. 'Me ho kenyelletsa lera le lecha le tsoang ho FS ea setshelo ho ea ho FS ea moamoheli oa motsoali ke kotsi ka boeona. Empa ha ts'ebetso ea sistimi ea ts'ehetso ea lisebelisoa le eona e kopana le mathata a ho fetisa data lipakeng tsa likarolo tsena, joale ke koluoa. Hajoale, mathata a mangata a tsejoang ke batho ba tsoelang pele ho bonahala a felisitsoe. Empa ua utloisisa, ha mochine o rarahane haholoanyane, o robeha habonolo.

Ka lebaka la "liphoofolo" tsena kaofela, ho na le chelete e ngata ebile ho bonolo ho boloka polokelo ea polokelo sebakeng se le seng, mme leha o hloka ho kenya ts'ebeliso, e tlohelle e iketsetse 'me ka heke ea phepelo e fumane puisano ka nako e le ngoe le database, e tla baloa le ho ngoloa hang feela le Sebakeng se le seng. Mokhoa ona o fokotsa menyetla ea liphoso le desynchronization ho bonyane.

Re lebisa ho eng? Ho feta moo, polokelo ea database e nepahetse moo ho nang le tlhoko ea 'nete ea eona. U ke ke ua kenya database ea app e felletseng 'me ua e bilika joalokaha eka u na le li-microservices tse peli - ha e sebetse ka tsela eo. 'Me sena se tlameha ho utloisisoa ka ho hlaka.

Ho e-na le liphello

Haeba u emetse qeto e hlakileng ea "ho etsa database kapa che," re tla u soabisa: e ke ke ea ba teng. Hobane ha ho etsoa tharollo leha e le efe ea mekhoa ea motheo, motho ha aa lokela ho tataisoa ke feshene le tsoelo-pele, empa, pele ho tsohle, ka kutloisiso e tloaelehileng.

Ho na le merero eo melao-motheo le lisebelisoa tse tlang le Kubernetis li lumellanang hantle, 'me mererong e joalo ho na le khotso bonyane sebakeng sa backend. Mme ho na le merero e sa hlokeng lisebelisoa, empa lisebelisoa tse tloaelehileng tsa seva, hobane ha e le hantle li ke ke tsa khutlela ho mofuta oa sehlopha sa microservice, hobane li tla oa.

Source: www.habr.com

Eketsa ka tlhaloso