Cov databases puas nyob hauv Kubernetes?

Cov databases puas nyob hauv Kubernetes?

Yuav ua li cas, keeb kwm, kev lag luam IT tau muab faib ua ob lub chaw pw hav zoov rau ib qho laj thawj: cov neeg uas "rau" thiab cov "tawm tsam". Tsis tas li ntawd, cov ntsiab lus ntawm kev tsis sib haum xeeb tuaj yeem ua tiav arbitrary. Qhov twg OS zoo dua: Yeej lossis Linux? Hauv Android lossis iOS smartphone? Koj puas yuav tsum khaws txhua yam hauv huab lossis muab tso rau hauv RAID txias cia thiab muab cov ntsia hlau tso rau hauv qhov chaw nyab xeeb? Cov neeg PHP puas muaj cai hu ua programmers? Cov kev tsis sib haum xeeb no, qee zaum, tsuas yog muaj nyob hauv qhov xwm txheej thiab tsis muaj lub hauv paus uas tsis yog kev nyiam ua kis las.

Nws tsuas yog tshwm sim uas nrog qhov tshwm sim ntawm cov thawv thiab tag nrho cov khoom noj uas nyiam no nrog docker thiab cov xwm txheej k8s, kev sib cav "rau" thiab "tiv thaiv" kev siv cov peev txheej tshiab hauv ntau qhov chaw ntawm lub backend pib. (Cia peb teev ua ntej tias txawm hais tias Kubernetes feem ntau yuav raug qhia tias yog tus kws qhia suab paj nruag hauv qhov kev sib tham no, kev xaiv ntawm cov cuab yeej tshwj xeeb no tsis yog qhov tseem ceeb. Xwb, koj tuaj yeem hloov lwm tus uas zoo li yooj yim tshaj plaws thiab paub rau koj. .)

Thiab, nws yuav zoo li, qhov no yuav yog ib qho kev sib cav yooj yim ntawm ob sab ntawm tib lub npib. Raws li tsis muaj kev nkag siab thiab tsis muaj kev hlub tshua zoo li qhov kev sib cav nyob mus ib txhis ntawm Win vs Linux, uas cov neeg tsim nyog muaj nyob hauv nruab nrab. Tab sis nyob rau hauv cov ntaub ntawv ntawm containerization, tsis yog txhua yam yog li ntawd yooj yim. Feem ntau nyob rau hauv xws li kev tsis sib haum xeeb tsis muaj txoj cai, tab sis nyob rau hauv cov ntaub ntawv ntawm "siv" los yog "tsis siv" ntim rau khaws cia databases, txhua yam tig upside down. Vim hais tias nyob rau hauv ib qho kev txiav txim siab, ob qho tib si cov neeg txhawb nqa thiab cov neeg tawm tsam ntawm txoj kev no yog txoj cai.

Sab kaj

Lub Teeb Side qhov kev sib cav tuaj yeem piav qhia luv luv hauv ib kab lus: "Nyob zoo, 2k19 nyob sab nraum lub qhov rais!" Nws suab zoo li populism, tau kawg, tab sis yog tias koj delve rau hauv qhov xwm txheej kom meej, nws muaj nws qhov zoo. Cia peb txheeb lawv tam sim no.

Wb hais tias koj muaj lub vev xaib loj. Nws tuaj yeem tau pib tsim los ntawm lub hauv paus ntawm kev pabcuam microservice, lossis qee lub sijhawm nws tuaj rau nws los ntawm txoj kev hloov pauv - qhov no tsis tseem ceeb, qhov tseeb. Koj tau tawg peb qhov project mus rau hauv microservices cais, teeb tsa orchestration, load balancing, thiab scaling. Thiab tam sim no, nrog lub siab ntshiab, koj haus ib qho mojito hauv hammock thaum muaj teebmeem los ntawm kev nce cov servers poob. Tab sis nyob rau hauv txhua yam kev ua koj yuav tsum ua tib zoo sib xws. Feem ntau, tsuas yog daim ntawv thov nws tus kheej-cov cai-yog ntim. Dab tsi ntxiv peb muaj dua li code?

Yog lawm, data. Lub plawv ntawm ib qhov project yog nws cov ntaub ntawv: qhov no tuaj yeem yog ib qho DBMS - MySQL, Postgre, MongoDB, lossis cia siv rau kev tshawb nrhiav (ElasticSearch), tus nqi tseem ceeb cia rau caching - piv txwv li, redis, thiab lwm yam. Tam sim no peb tsis yog peb yuav tham txog kev siv cov kev xaiv yuam kev rov qab thaum cov ntaub ntawv sib tsoo vim cov lus nug tsis zoo, thiab peb yuav tham txog kev ua kom muaj kev ua txhaum ntawm qhov kev lees paub ntawm cov ntaub ntawv hauv qab cov neeg siv khoom. Tom qab tag nrho, thaum peb ntim peb daim ntawv thov thiab tso cai rau nws dawb do scale los ua ib tug xov tooj ntawm kev thov tuaj, qhov no ib txwm nce lub load ntawm lub database.

Qhov tseeb, cov channel rau kev nkag mus rau hauv cov ntaub ntawv thiab cov neeg rau zaub mov uas nws khiav dhau los ua lub qhov muag ntawm rab koob hauv peb lub thawv zoo nkauj backend. Nyob rau tib lub sijhawm, lub hom phiaj tseem ceeb ntawm lub thawv virtualization yog kev txav mus los thiab hloov tau yooj yim ntawm cov qauv, uas tso cai rau peb los npaj cov kev faib tawm ntawm cov khoom siv siab tshaj plaws thoob plaws tag nrho cov txheej txheem muaj rau peb kom ua tau raws li qhov ua tau. Ntawd yog, yog tias peb tsis ntim thiab yob tawm tag nrho cov khoom uas twb muaj lawm ntawm lub kaw lus thoob plaws pawg, peb ua yuam kev loj heev.

Nws yog ntau qhov laj thawj rau pawg tsis yog daim ntawv thov nws tus kheej xwb, tab sis kuj yog cov kev pabcuam lub luag haujlwm rau khaws cov ntaub ntawv. Los ntawm pawg thiab xa cov web servers uas ua haujlwm ntawm nws tus kheej thiab faib cov khoom ntawm lawv tus kheej hauv k8s, peb twb tau daws qhov teeb meem ntawm cov ntaub ntawv synchronization - tib cov lus ntawm cov ntawv tshaj tawm, yog tias peb coj qee qhov kev tshaj tawm lossis blog platform ua piv txwv. Nyob rau hauv txhua rooj plaub, peb muaj ib tug intra-cluster, txawm virtual, sawv cev ntawm database raws li ib tug ExternalService. Cov lus nug yog tias cov ntaub ntawv nws tus kheej tseem tsis tau sib cais - cov web servers xa mus rau hauv lub voos xwmfab coj cov ntaub ntawv hais txog kev hloov pauv ntawm peb cov ntaub ntawv sib ntaus sib tua zoo li qub, uas tig sib cais.

Koj puas paub qhov ntes? Peb siv k8s lossis Swarm los faib cov khoom thauj thiab tsis txhob cuam tshuam lub vev xaib tseem ceeb, tab sis peb tsis ua qhov no rau cov ntaub ntawv. Tab sis yog tias cov ntaub ntawv sib tsoo, ces peb tag nrho cov kev sib koom ua ke ua rau tsis muaj kev nkag siab - dab tsi yog qhov zoo ntawm cov nplooj ntawv web uas rov qab nkag mus rau qhov yuam kev?

Tias yog vim li cas nws yog ib qho tsim nyog los pab pawg tsis yog cov web servers nkaus xwb, raws li feem ntau ua, tab sis kuj tseem muaj cov txheej txheem database. Tsuas yog nyob rau hauv txoj kev no peb tuaj yeem ua kom muaj cov qauv ua haujlwm tag nrho hauv ib pab pawg, tab sis tib lub sijhawm ywj pheej ntawm ib leeg. Ntxiv mus, txawm tias ib nrab ntawm peb cov backend "collapses" nyob rau hauv load, tus so yuav ciaj sia, thiab cov txheej txheem ntawm synchronizing cov ntaub ntawv nrog rau ib leeg nyob rau hauv pawg thiab muaj peev xwm mus rau qhov kawg scale thiab xa cov tshiab pawg yuav pab kom sai li sai tau mus cuag lub peev xwm yuav tsum tau. - yog tias tsuas muaj racks hauv cov ntaub ntawv chaw.

Tsis tas li ntawd, cov qauv database muab faib rau hauv pawg tso cai rau koj coj cov ntaub ntawv no mus rau qhov twg nws xav tau; Yog tias peb tab tom tham txog kev pabcuam thoob ntiaj teb, ces nws yog qhov tsis txaus ntseeg los tig lub vev xaib ib qho chaw hauv San Francisco cheeb tsam thiab tib lub sijhawm xa cov pob ntawv thaum nkag mus rau cov ntaub ntawv hauv cheeb tsam Moscow thiab rov qab.

Tsis tas li ntawd, containerization ntawm lub database tso cai rau koj los tsim tag nrho cov ntsiab lus ntawm lub system nyob rau tib theem ntawm abstraction. Uas, nyob rau hauv lem, ua rau nws muaj peev xwm los tswj no heev system ncaj qha los ntawm code, los ntawm developers, tsis muaj kev koom tes ntawm cov thawj coj. Cov neeg tsim khoom xav tias yuav tsum muaj DBMS cais rau qhov project tshiab - yooj yim! sau ib yaml cov ntaub ntawv, muab tso rau hauv pawg thiab koj ua tiav.

Thiab ntawm chav kawm, kev ua haujlwm sab hauv yog yooj yim heev. Qhia rau kuv, muaj pes tsawg zaus koj tau kaw koj lub qhov muag thaum tus tswv cuab tshiab muab nws txhais tes rau hauv kev sib ntaus sib tua database rau kev ua haujlwm? Qhov twg, qhov tseeb, tsuas yog ib qho koj muaj thiab tab tom tig tam sim no? Yog lawm, peb txhua tus yog cov neeg laus nyob ntawm no, thiab qhov chaw peb muaj cov thaub qab tshiab, thiab tseem nyob deb - tom qab lub txee nrog pog yawg lub cucumbers thiab cov qub caij skis - lwm qhov thaub qab, tej zaum txawm nyob hauv qhov txias txias, vim tias koj lub chaw ua haujlwm twb tau hluav taws ib zaug. Tab sis txhua yam zoo ib yam, txhua qhov kev qhia ntawm ib pab neeg tshiab nrog kev nkag mus rau kev sib ntaus sib tua thiab, ntawm chav kawm, mus rau kev sib ntaus sib tua database yog lub thoob ntawm validol rau txhua tus neeg nyob ib puag ncig. Zoo, leej twg paub nws, tus tshiab, tej zaum nws tau hla? Txaus ntshai, koj yuav pom zoo.

Containerization thiab, qhov tseeb, qhov kev faib tawm ntawm lub cev ntawm koj qhov project database pab kom tsis txhob muaj lub sijhawm zoo li no. Tsis ntseeg tus tshiab? OK! Cia peb muab nws tus kheej pawg los ua haujlwm nrog thiab tshem tawm cov ntaub ntawv los ntawm lwm pawg - synchronization tsuas yog los ntawm phau ntawv thawb thiab synchronous tig ntawm ob tus yuam sij (ib qho rau pab pawg thawj coj, lwm qhov rau tus thawj tswj hwm). Thiab sawv daws zoo siab.

Thiab tam sim no nws yog lub sij hawm los hloov mus rau hauv kev sib tw ntawm database clustering.

Tsaus sab

Kev sib cav vim li cas nws tsis tsim nyog ntim cov ntaub ntawv thiab txuas ntxiv khiav ntawm ib lub hauv paus neeg rau zaub mov, peb yuav tsis stoop rau cov lus hais ntawm orthodoxies thiab cov lus zoo li "cov yawg suab khiav databases ntawm hardware, thiab yog li peb yuav!" Hloov chaw, cia peb sim los txog qhov xwm txheej uas cov thawv ntim khoom tiag tiag yuav them cov nyiaj faib tawm.

Pom zoo, cov haujlwm uas xav tau lub hauv paus hauv ib lub thawv tuaj yeem suav rau ntawm tus ntiv tes ntawm ib txhais tes los ntawm tsis yog tus neeg ua haujlwm milling zoo tshaj plaws. Rau feem ntau, txawm tias kev siv k8s lossis Docker Swarm nws tus kheej yog qhov tsis txaus ntseeg - feem ntau cov cuab yeej no tau siv los ntawm kev siv thev naus laus zis dav dav thiab tus cwj pwm ntawm "tus muaj hwj chim loj" hauv tus neeg ntawm poj niam los txiv neej los thawb txhua yam rau hauv huab thiab ntim. Zoo, vim tam sim no nws yog fashionable thiab txhua leej txhua tus ua nws.

Tsawg kawg yog ib nrab ntawm cov xwm txheej, siv Kubernetis lossis tsuas yog Docker ntawm ib qhov project yog rov ua dua. Qhov teeb meem yog tias tsis yog txhua pab pawg lossis cov tuam txhab outsourcing ntiav los tswj tus neeg siv khoom cov txheej txheem paub txog qhov no. Nws yog qhov phem dua thaum ntim khoom, vim tias nws raug nqi ib qho nyiaj npib rau tus neeg siv khoom.

Feem ntau, muaj kev xav tias docker / cube mafia yog ruam ua rau cov neeg siv khoom tawm ntawm cov teeb meem no. Tom qab tag nrho, txhawm rau ua haujlwm nrog pawg, peb xav tau engineers uas muaj peev xwm ntawm qhov no thiab feem ntau nkag siab txog kev tsim qauv ntawm kev daws teeb meem. Peb ib zaug twb tau piav txog peb cov ntaub ntawv nrog cov koom pheej tshaj tawm - nyob ntawd peb tau cob qhia cov neeg siv khoom pab neeg ua haujlwm hauv qhov tseeb ntawm Kubernetis, thiab txhua tus tau txaus siab. Thiab nws tsim nyog. Feem ntau, k8s "tus neeg siv" coj tus neeg siv khoom tsim kev tsim kho - vim tias tam sim no tsuas yog lawv nkag siab tias txhua yam ua haujlwm li cas; tsis muaj cov kws tshaj lij ntawm tus neeg siv khoom.

Tam sim no xav txog tias nyob rau hauv no txoj kev peb outsource tsis tau tsuas yog lub web server ib feem, tab sis kuj lub database tu. Peb tau hais tias BD yog lub plawv, thiab lub plawv poob yog kev tuag rau txhua yam kab mob. Nyob rau hauv luv luv, lub zeem muag tsis yog qhov zoo tshaj plaws. Yog li, es tsis txhob hype Kubernetis, ntau qhov haujlwm yuav tsum tsuas yog tsis thab nrog cov nqi ib txwm rau AWS, uas yuav daws tau txhua yam teeb meem nrog kev thauj khoom ntawm lawv qhov chaw / qhov project. Tab sis AWS tsis yog fashionable lawm, thiab show-offs muaj nqis tshaj nyiaj - hmoov tsis, nyob rau hauv IT ib yam nkaus thiab.

OK. Tej zaum qhov project tiag tiag xav tau kev sib koom ua ke, tab sis yog tias txhua yam pom tseeb nrog cov ntawv thov tsis muaj lub xeev, peb tuaj yeem npaj kev sib txuas zoo li cas rau cov ntaub ntawv hauv pawg?

Yog tias peb tab tom tham txog kev daws teeb meem tsis sib haum xeeb, uas yog qhov hloov pauv mus rau k8s yog dab tsi, ces peb qhov mob taub hau tseem ceeb yog cov ntaub ntawv rov ua dua hauv cov ntaub ntawv hauv pawg. Qee qhov DBMSs yog thawj zaug loyal rau kev faib cov ntaub ntawv ntawm lawv tus kheej piv txwv. Ntau leej lwm tus tsis txais tos. Thiab feem ntau qhov kev sib cav tseem ceeb hauv kev xaiv DBMS rau peb qhov project tsis muaj peev xwm rov ua dua nrog cov peev txheej tsawg thiab cov nqi engineering. Tshwj xeeb tshaj yog tias qhov project tsis tau npaj los ua ib qho microservice, tab sis tsuas yog hloov zuj zus mus rau qhov kev taw qhia no.

Peb xav tias tsis tas yuav tham txog qhov ceev ntawm lub network drives - lawv qeeb. Cov. Peb tseem tsis muaj lub sijhawm tiag tiag, yog tias muaj qee yam tshwm sim, rov pib dua DBMS piv txwv qhov twg muaj ntau dua, piv txwv li, lub zog processor lossis RAM dawb. Peb yuav khiav ceev heev rau hauv kev ua haujlwm ntawm virtualized disk subsystem. Raws li, DBMS yuav tsum tau ntsia rau nws tus kheej cov txheej txheem ntawm cov cav tov nyob ze. Los yog nws yog ib qho tsim nyog yuav tsum tau cais kom txias txaus kom ceev cov ntaub ntawv synchronization rau qhov kev cia siab.

Txuas ntxiv cov ntsiab lus ntawm cov ntaub ntawv virtual: Docker Volumes, hmoov tsis, tsis muaj teeb meem. Feem ntau, nyob rau hauv xws li ib tug ntev-lub sij hawm txhim khu kev qha cov ntaub ntawv cia, kuv xav ua nrog rau feem ntau technically yooj yim schemes. Thiab ntxiv ib txheej tshiab abstraction los ntawm lub thawv FS rau FS ntawm niam txiv tus tswv tsev yog qhov kev pheej hmoo ntawm nws tus kheej. Tab sis thaum lub lag luam ntawm lub thawv ntim khoom txhawb nqa kuj ntsib teeb meem nrog kev xa cov ntaub ntawv ntawm cov khaubncaws sab nraud povtseg, ces nws yog qhov kev puas tsuaj tiag tiag. Tam sim no, feem ntau ntawm cov teeb meem paub txog kev vam meej tib neeg zoo li tau raug tshem tawm. Tab sis koj to taub, ntau complex mechanism, qhov yooj yim nws lov.

Nyob rau hauv lub teeb ntawm tag nrho cov "kev lom zem," nws muaj txiaj ntsig ntau dua thiab yooj yim dua los khaws cov ntaub ntawv nyob rau hauv ib qho chaw, thiab txawm tias koj xav tau ntim cov ntawv thov, cia nws khiav ntawm nws tus kheej thiab los ntawm lub rooj vag xa khoom tau txais kev sib txuas lus ib txhij nrog lub database, uas yuav tau nyeem thiab sau ib zaug thiab nyob rau hauv ib qhov chaw. Txoj kev no yuav txo tau qhov ua yuam kev thiab desynchronization kom tsawg.

Peb coj mus rau dab tsi? Ntxiv mus, database containerization yog qhov tsim nyog qhov twg muaj qhov xav tau tiag tiag rau nws. Koj tsis tuaj yeem muab cov ntaub ntawv puv-app thiab tig nws zoo li koj muaj ob lub kaum microservices - nws tsis ua haujlwm li ntawd. Thiab qhov no yuav tsum tau to taub kom meej.

Hloov chaw ntawm cov zis

Yog tias koj tab tom tos kom meej meej "kom virtualize cov ntaub ntawv los yog tsis," ces peb yuav poob siab rau koj: nws yuav tsis nyob ntawm no. Vim hais tias thaum tsim ib qho kev daws teeb meem, ib qho yuav tsum tau coj tsis yog los ntawm kev zam thiab kev vam meej, tab sis, ua ntej ntawm tag nrho cov, los ntawm kev nkag siab zoo.

Muaj cov haujlwm uas cov hauv paus ntsiab lus thiab cov cuab yeej tuaj nrog Kubernetis haum zoo kawg nkaus, thiab hauv cov haujlwm zoo li no muaj kev thaj yeeb yam tsawg kawg hauv cheeb tsam backend. Thiab muaj tej yaam num uas tsis xav tau containerization, tab sis ib tug ib txwm neeg rau zaub mov infrastructure, vim hais tias lawv fundamentally tsis tau rescale rau microservice pawg qauv, vim hais tias lawv yuav poob.

Tau qhov twg los: www.hab.com

Ntxiv ib saib