Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

I ke kauwela, ua emi iho ka hana kūʻai a me ka ikaika o ka hoʻololi ʻana i ka ʻōnaehana o nā papahana pūnaewele, haʻi mai ʻo Kāpena Obvious iā mākou. No ka mea, ʻo nā loea IT i kekahi manawa hele i ka hoʻomaha. A ʻo CTO pū kekahi. ʻOi aku ka paʻakikī o ka poʻe e noho nei ma ke keʻena, akā ʻaʻole ia ka manaʻo i kēia manawa: ʻo ia paha ke kumu ʻo ke kauwela ka manawa maikaʻi loa e noʻonoʻo mālie ai i ka papahana hoʻopaʻa ʻana i kēia manawa a huki i kahi hoʻolālā e hoʻomaikaʻi ai. A me kaʻike o Yegor Andreev mai Mahele Admin, āna i ʻōlelo ai ma ka ʻaha kūkā Ka lā uptime.

Nui nā pitfalls hiki iā ʻoe ke hāʻule i ke kūkulu ʻana i nā pūnaewele hoʻihoʻi. A he mea hiki ole loa ke hopu ia lakou. A ʻo ka mea e hōʻino ai iā mākou i kēia mau mea a pau, e like me nā mea ʻē aʻe he nui, ʻo ka perfectionism a me ka palaualelo. Ke ho'āʻo nei mākou e hana i nā mea āpau, nā mea āpau, nā mea āpau me ka maikaʻi, akā ʻaʻole pono mākou e hana maikaʻi! Pono wale ʻoe e hana i kekahi mau mea, akā e hana pololei, hoʻopau iā lākou i hana pono lākou.

ʻAʻole ʻo Failover kekahi ʻano mea leʻaleʻa leʻaleʻa "no laila"; He mea kēia e hana pono ai i hoʻokahi mea - e hoʻemi i ka manawa haʻahaʻa i hiki ai i ka lawelawe, ka hui, ke emi i ke kālā. A ma nā ʻano hoʻolaʻa āpau, manaʻo wau e noʻonoʻo i ka pōʻaiapili aʻe: aia i hea ke kālā?

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

Pahele mua: ke kūkulu mākou i nā ʻōnaehana nui a hilinaʻi a komo i ka redundancy, hoʻemi mākou i ka nui o nā pōʻino. He kuhi hewa weliweli kēia. Ke komo mākou i ka redundancy, hiki iā mākou ke hoʻonui i ka nui o nā pōʻino. A inā mākou e hana pono i nā mea āpau, a laila hui pū mākou e hōʻemi i ka manawa hoʻomaha. E nui aʻe nā pōʻino, akā e hiki mai ana ma nā kumukūʻai haʻahaʻa. He aha ka mālama ʻana? - he pilikia kēia o ka ʻōnaehana. He ʻino ka hoʻopiʻi ʻana: ʻoi aku ka nui o nā cogs, ʻoi aku ka nui o nā mīkini, i kahi huaʻōlelo, ʻoi aku ka nui o nā mea - a, no laila, ʻoi aku ka nui o ka manawa o ka haki. A e haki maoli nō lākou. A e haki pinepine lākou. He laʻana maʻalahi: e ʻōlelo mākou he pūnaewele me PHP a me MySQL. A pono e hoʻopaʻa koke ʻia.

Shtosh (c) Lawe mākou i ka lua o ka pūnaewele, kūkulu i kahi ʻōnaehana like... E lilo ka paʻakikī i ʻelua ʻoi aku ka nui - loaʻa iā mākou ʻelua hui. Hoʻopuka pū mākou i kekahi loiloi no ka hoʻoili ʻana i ka ʻikepili mai kahi pūnaewele i kahi ʻē aʻe - ʻo ia hoʻi, ka hoʻopili ʻana i ka ʻikepili, ke kope ʻana i ka ʻikepili static, a pēlā aku. No laila, paʻakikī loa ka loiloi replication, a no laila, ʻaʻole hiki ke 2 ka nui o ka paʻakikī o ka ʻōnaehana, akā 3, 5, 10 mau manawa nui.

Pahele lua: ke kūkulu mākou i nā ʻōnaehana paʻakikī nui, manaʻo mākou i ka mea a mākou e makemake ai e loaʻa i ka hopena. Voila: makemake mākou e kiʻi i kahi ʻōnaehana hilinaʻi nui e hana me ka ʻole o ka downtime, hoʻololi i ka hapalua kekona (a ʻoi aku ka maikaʻi, koke koke), a hoʻomaka mākou e hoʻokō i nā moeʻuhane. Akā aia kekahi nuance ma aneʻi: ʻoi aku ka pōkole o ka manawa hoʻololi i makemake ʻia, ʻoi aku ka paʻakikī o ka loina ʻōnaehana. ʻO ka ʻoi aku ka paʻakikī o ka hana ʻana i kēia loiloi, ʻoi aku ka nui o ka wā e haki ai ka ʻōnaehana. A hiki iā ʻoe ke hoʻopau i kahi kūlana maikaʻi ʻole: ke hoʻāʻo nei mākou me ko mākou ikaika a pau e hōʻemi i ka downtime, akā ʻoiaʻiʻo ke hana nei mākou i nā mea āpau i mea paʻakikī, a i ka wā e hewa ai kekahi mea, e hoʻopau ʻia ka manawa hoʻomaha. Maʻaneʻi e hopu pinepine ʻoe iā ʻoe iho e noʻonoʻo ana: pono ... ʻoi aku ka maikaʻi ʻaʻole e hoʻopaʻa. ʻOi aku ka maikaʻi inā hana wale ia a me ka hoʻomaopopo ʻana i ka downtime.

Pehea ʻoe e hakakā ai i kēia? Pono mākou e ho'ōki i ka hoʻopunipuni ʻana iā mākou iho, e hoʻōki i ka hoʻomāliʻi ʻana iā mākou iho e kūkulu mākou i kahi mokuahi ma ʻaneʻi i kēia manawa, akā e hoʻomaopopo pono i ka lōʻihi o ka hiki ʻana o ka papahana. A no kēia manawa lōʻihi, e koho mākou i nā ʻano hana a mākou e hoʻohana maoli ai e hoʻonui i ka hilinaʻi o kā mākou ʻōnaehana.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

ʻO ka manawa kēia no nā "moʻolelo mai w" ... mai ke ola, ʻoiaʻiʻo.

Laʻana helu ʻekahi

E noʻonoʻo i kahi pūnaewele kāleka pāʻoihana no Pipe Rolling Plant No. 1 ma ke kūlanakauhale o N. Ua ʻōlelo ʻia ma nā leka nui - PIPE ROLLING PLANT No. Aia ma lalo iho ka huaʻōlelo: "ʻO kā mākou paipu nā paipu poepoe loa ma N." A ma lalo iho ka helu kelepona o ka Luna Nui a me kona inoa. Hoʻomaopopo mākou he pono ʻoe e hoʻopaʻa - he mea nui kēia! E hoʻomaka kākou e ʻike i ke ʻano o ia mea. Html-statics - ʻo ia hoʻi, he mau kiʻi ʻelua kahi e kūkākūkā ai ka luna nui i kekahi ʻano hana aʻe ma ka papaʻaina i ka hale ʻauʻau me kāna hoa. Hoʻomaka mākou e noʻonoʻo e pili ana i ka downtime. Ke hele mai nei i ka noʻonoʻo: pono ʻoe e moe ma laila no ʻelima mau minuke, ʻaʻole hou. A laila, ala mai ka nīnau: ʻehia ka nui o nā mea kūʻai aku mai kēia pūnaewele o mākou ma ka laulā? Pehea ka nui-ehia? He aha ke ʻano o ka "zero"? A ʻo ia hoʻi: no ka mea, ua hana ka pūkaua i nā hana ʻehā i ka makahiki i hala ma ka papaʻaina hoʻokahi, me nā poʻe like me lākou e hele pū ai i ka hale ʻauʻau a noho ma ka papaʻaina. A maopopo iā mākou ʻoiai inā e noho ka pūnaewele no kahi lā, ʻaʻohe mea weliweli e hiki mai.

Ma muli o ka ʻike hoʻolauna, aia kahi lā e hāpai ai i kēia moʻolelo. E hoʻomaka kākou e noʻonoʻo e pili ana i kahi hoʻolālā redundancy. A koho mākou i ka hoʻolālā redundancy maikaʻi loa no kēia laʻana: ʻaʻole mākou e hoʻohana i ka redundancy. Hiki ke hoʻonui ʻia kēia mea āpau e kekahi admin i ka hapalua hola me ka uahi. E hoʻouka i kahi kikowaena pūnaewele, hoʻohui i nā faila - ʻo ia nō. E hana ana. ʻAʻole pono ʻoe e makaʻala i kekahi mea, ʻaʻole pono ʻoe e nānā kūikawā i kekahi mea. ʻO ia hoʻi, ʻike maopopo ʻia ka hopena mai ka laʻana helu ʻekahi: ʻaʻole pono e mālama ʻia nā lawelawe ʻaʻole pono e mālama ʻia.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

Laʻana helu ʻelua

Moʻomanaʻo ʻoihana: kākau nā poʻe i hoʻomaʻamaʻa kūikawā i ka nūhou ma laila, ua komo mākou i kēlā me kēia hōʻikeʻike, akā ua hoʻokuʻu mākou i kahi huahana hou, a pēlā aku. E ʻōlelo kākou he PHP maʻamau kēia me WordPress, kahi waihona waihona liʻiliʻi a me kahi wahi static. ʻOiaʻiʻo, hiki hou i ka manaʻo ʻaʻole pono ʻoe e moe i lalo - "ʻaʻole ʻoi aku ma mua o ʻelima mau minuke!" ʻO ia wale nō. Aka, e noonoo hou kakou. He aha ka hana a kēia blog? Hele mai ka poʻe mai Yandex, mai Google ma muli o kekahi mau nīnau, organically. Nui. He mea pili anei ke kuai? Epiphany: ʻaʻole maoli. Hele ka hoʻolaha hoʻolaha i ka pūnaewele nui, aia ma kahi mīkini ʻokoʻa. E hoʻomaka kākou e noʻonoʻo e pili ana i kahi papahana hoʻopaʻa inoa. Ma ke ala maikaʻi, pono e hoʻāla ʻia i loko o ʻelua mau hola, a he mea maikaʻi ke hoʻomākaukau no kēia. He mea kūpono ke lawe i ka mīkini mai kahi kikowaena ʻikepili ʻē aʻe, e ʻōwili i ke kaiapuni ma luna, ʻo ia hoʻi, kahi kikowaena pūnaewele, PHP, WordPress, MySQL, a waiho i laila. I ka manawa a mākou e hoʻomaopopo ai ua haki nā mea a pau, pono mākou e hana i ʻelua mau mea - ʻōwili i ka mysql dump 50 mika, lele ia i laila i hoʻokahi minuke, a ʻōwili i kahi helu o nā kiʻi mai ka waihona ma laila. ʻAʻole hoʻi kēia ma laila no ke Akua ʻike i ka lōʻihi. No laila, i ka hapalua hola, piʻi ka mea a pau. ʻAʻohe hoʻopiʻi, a kala mai ke Akua iaʻu, failover aunoa. Ka hopena: ʻaʻole pono e hoʻihoʻi ʻia ka mea hiki iā mākou ke holo wikiwiki mai kahi waihona.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

ʻO ka laʻana helu ʻekolu, ʻoi aku ka paʻakikī

Hale kūʻai pūnaewele. ʻO ka PhP me ka puʻuwai hāmama ua hoʻololi iki ʻia, mysql me kahi kumu paʻa. He nui ka static (ma hope o nā mea a pau, he kiʻi HD nani ka hale kūʻai pūnaewele a me nā mea āpau), Redis no ka hālāwai a me Elasticsearch no ka ʻimi. Hoʻomaka mākou e noʻonoʻo e pili ana i ka downtime. A eia, ʻoiaʻiʻo, ʻike ʻia ʻaʻole hiki i kahi hale kūʻai pūnaewele ke moe me ka ʻeha ʻole no kahi lā. Ma hope o nā mea a pau, ʻoi aku ka lōʻihi o ka waiho ʻana, ʻoi aku ka nui o ke kālā i nalowale. Pono ka wikiwiki. ʻehia? Manaʻo wau inā e moe mākou i hoʻokahi hola, ʻaʻohe mea e pupule. ʻAe, e nalowale kekahi mea, akā inā hoʻomaka mākou e hana ikaika, e ʻoi aku ka ʻino. Wehewehe mākou i kahi papahana o ka downtime i ʻae ʻia i kēlā me kēia hola.

Pehea e mālama ʻia ai kēia mau mea a pau? Pono ʻoe i kahi kaʻa i kēlā me kēia hihia: he liʻiliʻi ka hola o ka manawa. Mysql: ma ʻaneʻi pono mākou i ka hoʻopiʻi, ka hoʻopiʻi ola, no ka mea i loko o ka hola 100 GB ʻaʻole paha e hoʻohui ʻia i ka dump. Statics, nā kiʻi: hou, i ka hola 500 GB ʻaʻole hiki ke hoʻohui ʻia. No laila, ʻoi aku ka maikaʻi e kope koke i nā kiʻi. Redis: ʻo kēia kahi e hoihoi ai nā mea. Ma Redis, mālama ʻia nā kau - ʻaʻole hiki iā mākou ke lawe wale a kanu. No ka mea ʻaʻole maikaʻi loa kēia: e haʻalele ʻia nā mea hoʻohana a pau, e hoʻopau ʻia kā lākou hīnaʻi, a pēlā aku. E koi ʻia ka poʻe e hoʻokomo hou i kā lākou inoa inoa a me ka ʻōlelo huna, a nui paha ka poʻe e haʻalele a ʻaʻole hoʻopau i ke kūʻai. Eia hou, e hāʻule nā ​​hoʻololi. Ma ka ʻaoʻao ʻē aʻe, pololei ʻo Redis, me nā mea hoʻohana i hoʻopaʻa inoa hope ʻaʻole pono paha. A ʻo kahi ʻae maikaʻi ʻo ka lawe ʻana iā Redis a hoʻihoʻi iā ia mai kahi waihona mai nehinei, a i ʻole, inā ʻoe e hana i kēlā me kēia hola, mai hoʻokahi hola i hala. ʻO ka mea pōmaikaʻi, ʻo ka hoʻihoʻi ʻana mai kahi waihona ʻo ia ke kope ʻana i hoʻokahi faila. A ʻo ka moʻolelo hoihoi loa ʻo Elasticsearch. ʻO wai ka mea i ʻohi i ka replication MySQL? ʻO wai ka mea i ʻohi i ka replication Elasticsearch? A no wai ka hana maʻamau ma hope? ʻO kaʻu e ʻōlelo nei, ʻike mākou i kekahi mea i loko o kā mākou ʻōnaehana. He mea pono ia - akā paʻakikī.
Paʻakikī i ka manaʻo ʻaʻohe ʻike o ko mākou mau hoa hana me ia. A i ʻole he ʻike maikaʻi ʻole. A i ʻole maopopo iā mākou he ʻenehana hou kēia me nā nuances a i ʻole rawness. Manaʻo mākou ... Damn, maikaʻi nō hoʻi ka elastic, lōʻihi hoʻi e hoʻihoʻi mai ia mai kahi waihona, he aha kaʻu e hana ai? Hoʻomaopopo mākou ua hoʻohana ʻia ka elastic i kā mākou hihia no ka ʻimi. Pehea e kūʻai aku ai kā mākou hale kūʻai pūnaewele? Hele mākou i nā mea kūʻai aku a nīnau i hea mai nā kānaka. Pane lākou: "90% mai Yandex Market hele pololei mai i ke kāleka huahana." A kūʻai paha lākou a ʻaʻole paha. No laila, makemake ʻia ka ʻimi e 10% o nā mea hoʻohana. A ʻo ka mālama ʻana i ka replication elastic, ʻoi aku hoʻi ma waena o nā kikowaena data like ʻole i nā ʻāpana like ʻole, he nui nā nuances. ʻO ka puka hea? Lawe mākou i ka elastic mai kahi kahua i mālama ʻia a hana ʻole me ia. Inā lōʻihi ka hihia, e hāpai paha mākou i kekahi lā, akā ʻaʻole maopopo kēia. ʻOiaʻiʻo, ua like ka hopena, hoʻohui a i ʻole ka liʻiliʻi: ʻaʻole mākou e mālama i nā lawelawe i pili ʻole i ke kālā. No ka maʻalahi o ke kiʻi.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

ʻO ka laʻana helu ʻehā, ʻoi aku ka paʻakikī

Mea hoʻohui: kūʻai aku i nā pua, kāhea ʻana i kahi kaʻa, kūʻai aku i nā waiwai, ma ke ʻano nui, kekahi mea. He mea koʻikoʻi e hana 24/7 no ka nui o nā mea hoʻohana. Me kahi waihona hoihoi piha, kahi e loaʻa ai nā kumu hoihoi, nā hoʻonā, nā haʻahaʻa kiʻekiʻe, a ʻo ka mea nui loa, ʻeha ka moe ʻana ma mua o 5 mau minuke. ʻAʻole wale a no ka mea ʻaʻole kūʻai ka poʻe, akā no ka ʻike ʻana o ka poʻe ʻaʻole pono kēia mea, e huhū lākou a ʻaʻole paha e hoʻi hou mai.

OK. ʻElima minuke. He aha kā mākou e hana ai no kēia? I kēia hihia, mākou, e like me nā mākua, hoʻohana i ke kālā a pau e kūkulu i kahi kahua hoʻihoʻi maoli, me ka hoʻopiʻi ʻana i nā mea āpau, a hiki paha i ka hoʻololi ʻana i kēia pūnaewele i ka mea hiki. A ma kahi o kēia, pono ʻoe e hoʻomanaʻo e hana i hoʻokahi mea nui: ʻoiaʻiʻo, e kākau i nā lula hoʻololi. ʻO nā hoʻoponopono, ʻoiai inā loaʻa iā ʻoe nā mea āpau, hiki ke maʻalahi loa. Mai ka moʻo "holo i kēlā a me kēia ʻano hōʻailona kūpono", "kaomi i kēlā a me kēlā pahu pahu ma ke ala 53" a pēlā aku - akā pono kēia i kahi papa inoa o nā hana.

A maopopo nā mea a pau. ʻO ka hoʻololi hou ʻana he hana liʻiliʻi, a i ʻole e hoʻololi iā ia iho. ʻO ke kākau hou ʻana i kahi inoa inoa ma DNS mai ka moʻo like. ʻO ka pilikia ʻo ia ke hāʻule ʻole o ia papahana, hoʻomaka ka makaʻu, a hiki i nā mea hoʻokele ʻumiʻumi ikaika loa ke maʻalahi iā ia. Me ka ʻole o nā ʻōlelo aʻoaʻo "wehe i ka pahu, e hele mai i ʻaneʻi, e like me kēia ka helu o kā mākou kikowaena," paʻakikī ke hoʻokō i ka palena manawa 5 mau minuke i hāʻawi ʻia no ka hoʻōla hou ʻana. ʻAe, ʻoi aku, ke hoʻohana mākou i kēia mau lula, maʻalahi ka hoʻopaʻa ʻana i kekahi mau hoʻololi i ka ʻōnaehana, no ka laʻana, a hoʻololi i nā lula e like me ia.
ʻAe, inā paʻakikī loa ka ʻōnaehana hoʻopaʻa ʻana a i kekahi manawa ua hana hewa mākou, a laila hiki iā mākou ke hoʻopau i kā mākou kahua hoʻihoʻi, a ʻoi aku ka hoʻololi ʻana i ka ʻikepili i ka paukena ma nā pūnaewele ʻelua - e kaumaha loa kēia.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

Ka laʻana helu ʻelima, piha paʻakikī

He lawelawe honua me nā haneli miliona o nā mea hoʻohana a puni ka honua. Aia nā ʻāpana manawa a pau, ka ukana kiʻekiʻe i ka wikiwiki loa, ʻaʻole hiki iā ʻoe ke moe i lalo. He minuke - a e kaumaha. He aha ka hana? E mālama hou, e like me ka papahana piha. Ua hana mākou i nā mea a pau aʻu i kamaʻilio ai ma ka laʻana mua, a ʻoi aku ka liʻiliʻi. He honua maikaʻi loa, a ʻo kā mākou ʻoihana e like me nā manaʻo āpau o IaaC devops. ʻO ia, aia nā mea a pau i ka git, a kaomi wale ʻoe i ke pihi.

He aha ka nele? Hoʻokahi - hoʻoikaika kino. ʻAʻole hiki ke ʻole me lākou. Me he mea lā ua hemolele nā ​​mea a pau me mākou, aia mākou i nā mea āpau ma lalo o ka mana. Kaomi mākou i ke pihi, hiki i nā mea a pau. ʻOiai inā pēlā - a maopopo iā mākou ʻaʻole hiki ke hana i kēia ala - pili kā mākou ʻōnaehana me kekahi mau ʻōnaehana ʻē aʻe. No ka laʻana, ʻo ia ka dns mai ke ala 53, kahi mālama s3, hoʻohui pū me kekahi api. ʻAʻole hiki iā mākou ke ʻike i nā mea āpau i kēia hoʻokolohua noʻonoʻo. A hiki i ka huki maoli ʻana i ka hoʻololi, ʻaʻole mākou e ʻike inā e hana a ʻaʻole paha.

Failover: perfectionism a ... palaualelo e hoʻopōʻino iā mākou

ʻO ia wale nō paha. Mai palaualelo a hana nui. A hiki i ka manawa manawa me ʻoe!

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka