ʻO Badoo ka pūnaewele hoʻopaʻa inoa nui loa ma ka honua. Loaʻa iā mākou ma kahi o 330 miliona mau mea hoʻohana i hoʻopaʻa inoa ʻia ma ka honua holoʻokoʻa. Akā ʻo ka mea nui loa i ka pōʻaiapili o kā mākou kamaʻilio ʻana i kēia lā, ʻo ia ka mālama ʻana ma kahi o 3 petabytes o nā kiʻi mea hoʻohana. I kēlā me kēia lā e hoʻouka ai kā mākou mea hoʻohana ma kahi o 3,5 miliona mau kiʻi hou, a pili ka haʻawina heluhelu 80 tausani noi i kekona. He mea nui kēia no kā mākou hope, a i kekahi manawa aia nā pilikia me kēia.
E kamaʻilio wau e pili ana i ka hoʻolālā ʻana o kēia ʻōnaehana, nāna e mālama a hoʻouna i nā kiʻi ma ka laulā, a e nānā au iā ia mai ka manaʻo o kahi mea hoʻomohala. E loaʻa kahi pōkole pōkole e pili ana i ka hoʻomohala ʻana, kahi aʻu e wehewehe ai i nā milestones nui, akā e kamaʻilio wale wau i nā kikoʻī e pili ana i nā hopena a mākou e hoʻohana nei.
I kēia manawa e hoʻomaka kāua.
E like me kaʻu i ʻōlelo ai, he retrospective kēia, a i mea e hoʻomaka ai ma kahi, e lawe kākou i ka laʻana maʻamau.
He hana maʻamau kā mākou, pono mākou e ʻae, mālama a hoʻouna i nā kiʻi mea hoʻohana. Ma kēia ʻano, maʻamau ka hana, hiki iā mākou ke hoʻohana i kekahi mea:
ka mālama ʻana i ke ao hou,
he hoʻonā pahu, a he nui nō hoʻi i kēia manawa;
Hiki iā mākou ke hoʻonohonoho i kekahi mau mīkini i loko o kā mākou kikowaena data a kau i nā pahu paʻakikī nui ma luna o lākou a mālama i nā kiʻi ma laila.
ʻO Badoo i ka mōʻaukala - i kēia manawa a i kēlā manawa (i ka manawa i kona wā kamaliʻi) - noho ma kāna mau kikowaena ponoʻī, i loko o kā mākou DC ponoʻī. No laila, ua kūpono kēia koho iā mākou.
Lawe wale mākou i kekahi mau mīkini, kapa ʻia lākou "nā kiʻi", a loaʻa iā mākou kahi pūpū e mālama ai i nā kiʻi. Akā, me he mea lā ua nele kekahi mea. I mea e hana ai kēia mau mea a pau, pono mākou e hoʻoholo i ka mīkini a mākou e mālama ai i nā kiʻi. A maanei no hoi, aole pono e wehe ia Amerika.
Hoʻohui mākou i kahi kahua i kā mākou waihona me ka ʻike e pili ana i nā mea hoʻohana. ʻO kēia ke kī sharding. I ko mākou hihia, ua kapa mākou iā place_id, a kuhikuhi kēia wahi id i kahi e mālama ʻia ai nā kiʻi mea hoʻohana. Hana mākou i nā palapala ʻāina.
I ka pae mua, hiki ke hana me ka lima - ke ʻōlelo nei mākou he kiʻi o kēia mea hoʻohana me kahi wahi e pae ma luna o ia kikowaena. Mahalo i kēia palapala ʻāina, ʻike mau mākou i ka wā e hoʻouka ai kahi mea hoʻohana i kahi kiʻi, kahi e mālama ai, a ʻike mākou i kahi e hāʻawi ai.
He papahana koʻikoʻi loa kēia, akā he mau mea maikaʻi loa. ʻO ka mea mua, he maʻalahi ia, e like me kaʻu i ʻōlelo ai, a ʻo ka lua, ʻo ia me kēia ala hiki iā mākou ke hoʻonui maʻalahi me ka hoʻopuka ʻana i nā kaʻa hou a hoʻohui iā lākou i ka palapala ʻāina. ʻAʻole pono ʻoe e hana i kekahi mea ʻē aʻe.
Pela no makou no kekahi manawa.
Ma kahi o 2009 kēia. Hāʻawi lākou i nā kaʻa, hāʻawi ...
A i kekahi manawa ua hoʻomaka mākou e ʻike he mau hemahema kēia papahana. He aha nā hemahema?
ʻO ka mea mua, he palena palena. ʻAʻole hiki iā mākou ke hoʻopaʻa i nā pahu paʻakikī i hoʻokahi kikowaena kino e like me kā mākou makemake. A ua lilo kēia i pilikia i ka manawa a me ka ulu ʻana o ka dataset.
A ʻo ka lua. ʻO kēia kahi hoʻonohonoho atypical o nā mīkini, no ka mea paʻakikī nā mīkini e hoʻohana hou i kekahi mau pūʻulu ʻē aʻe; he kikoʻī loa lākou, ʻo ia. pono lākou e nāwaliwali i ka hana, akā i ka manawa like me kahi paʻa paʻa nui.
ʻO kēia wale nō no ka makahiki 2009, akā, ma ke kumu, pili mau kēia mau koi i kēia lā. Loaʻa iā mākou kahi retrospective, no laila i ka makahiki 2009 ua hewa loa nā mea āpau me kēia.
A ʻo ka helu hope ke kumu kūʻai.
Piʻi loa ke kumukūʻai i kēlā manawa, a pono mākou e ʻimi i nā mea ʻē aʻe. ʻO kēlā mau mea. pono mākou e hoʻohana maikaʻi i ka hakahaka o nā kikowaena data a me nā kikowaena kino kahi i loaʻa ai kēia mau mea. A ua hoʻomaka kā mākou ʻenehana ʻōnaehana i kahi noiʻi nui a lākou i loiloi ai i kahi hui o nā koho like ʻole. Ua nānā pū lākou i nā ʻōnaehana file clustered e like me PolyCeph a me Lustre. Loaʻa nā pilikia hana a paʻakikī loa ka hana. Ua hōʻole lākou. Ua hoʻāʻo mākou e kau i ka ʻikepili holoʻokoʻa ma o NFS ma kēlā me kēia kaʻa i mea e hoʻonui ai. Ua maikaʻi ʻole ka heluhelu ʻana, ua hoʻāʻo mākou i nā hoʻonā like ʻole mai nā mea kūʻai aku.
A i ka hopena, ua hoʻoholo mākou i ka hoʻohana ʻana i ka mea i kapa ʻia ʻo Storage Area Network.
ʻO kēia nā SHD nui i hoʻolālā ʻia no ka mālama ʻana i nā ʻikepili nui. He mau papa ia me nā diski i kau ʻia ma nā mīkini hoʻopuka optical hope loa. ʻO kēlā. loaʻa iā mākou kekahi ʻano wai o nā mīkini, liʻiliʻi loa, a ʻo kēia mau SHD, i maopopo i kā mākou hoʻouna ʻana, ʻo ia hoʻi. no kā mākou nginx a i ʻole kekahi e lawelawe i nā noi no kēia mau kiʻi.
Loaʻa nā pōmaikaʻi o kēia hoʻoholo. ʻO SHD kēia. Hoʻopaʻa ʻia ia i ka mālama ʻana i nā kiʻi. ʻOi aku ka maikaʻi o kēia ma mua o ka hoʻolako ʻana i nā mīkini me nā pahu paʻakikī.
Hoʻohui ʻelua.
ʻO kēia ka mea i lilo i mea nui loa, ʻo ia hoʻi. hiki iā mākou ke hoʻokomo i kahi waihona ʻoi aku ka nui ma kahi leo liʻiliʻi.
Akā, aia kekahi mau hemahema i puka koke mai. Ke ulu nei ka nui o nā mea hoʻohana a me ka ukana ma kēia ʻōnaehana, ua hoʻomaka nā pilikia hana. A maopopo loa ka pilikia ma aneʻi - ʻo kēlā me kēia SHD i hoʻolālā ʻia e mālama i nā kiʻi he nui i kahi liʻiliʻi liʻiliʻi, ma ke ʻano he kānāwai, e ʻeha i ka heluhelu koʻikoʻi. He ʻoiaʻiʻo kēia no kēlā me kēia waihona kapuaʻi a i ʻole kekahi mea ʻē aʻe. I kēia manawa, ʻaʻohe kā mākou waihona kūpono e hiki ke hoʻonui ʻia, hiki iā ʻoe ke hoʻokomo i kekahi mea i loko, a e ʻae maikaʻi ia i ka heluhelu ʻana. ʻOi aku ka heluhelu maʻamau.
E like me ka hihia me kā mākou mau kiʻi, no ka mea, ua noi ʻia nā kiʻi me ka like ʻole, a e hoʻopilikia nui kēia i kā lākou hana.
ʻOiai e like me nā kiʻi o kēia lā, inā loaʻa mākou ma kahi o 500 RPS no nā kiʻi ma kahi mīkini e pili ana i ka waiho ʻana, ua hoʻomaka nā pilikia. A ua hewa ia no mākou, no ka mea ke ulu nei ka nui o nā mea hoʻohana, e piʻi wale ana nā mea. Pono e hoʻonui ʻia kēia ma kekahi ʻano.
I mea e hoʻonui ai, ua hoʻoholo mākou i kēlā manawa, maopopo, e nānā i ka ʻaoʻao o ka ukana - he aha, ma ka laulā, e hana nei, he aha ka mea e pono e hoʻonui ʻia.
A eia ke pāʻani nei nā mea a pau i loko o ko mākou lima.
Ua ʻōlelo mua wau ma ka paheʻe mua: loaʻa iā mākou he 80 tausani mau noi heluhelu i kēlā me kēia kekona me 3,5 miliona mau hoʻoiho i kēlā me kēia lā. ʻO ia hoʻi, he ʻokoʻa kēia o ʻekolu kauoha o ka nui. ʻIke ʻia e pono e hoʻomaikaʻi ʻia ka heluhelu ʻana a maopopo maoli pehea.
Aia kekahi wahi liʻiliʻi. ʻO nā kikoʻī o ka lawelawe ʻo ia ke kākau inoa ʻana o ke kanaka, hoʻouka i kahi kiʻi, a laila hoʻomaka e nānā ikaika i nā poʻe ʻē aʻe, e like me lākou, a hōʻike ikaika ʻia i nā poʻe ʻē aʻe. A laila loaʻa iā ia kahi hoa a ʻaʻole ʻike i kahi hoa, pili ia i ka hopena, a hoʻōki i ka hoʻohana ʻana i ka lawelawe no kekahi manawa. I kēia manawa, ke hoʻohana ʻo ia, wela loa kāna mau kiʻi - makemake lākou, nui ka poʻe e nānā iā lākou. Ke hooki ʻo ia i ka hana ʻana i kēia, haʻalele koke ʻo ia i ka ʻike nui ʻana i nā poʻe ʻē aʻe e like me ia ma mua, a ʻaneʻane ʻaʻole noi ʻia kāna mau kiʻi.
ʻO kēlā mau. Loaʻa iā mākou kahi ʻikepili wela liʻiliʻi loa. Akā i ka manawa like he nui nā noi iā ia. A ʻo kahi hopena maopopo loa ma aneʻi ʻo ka hoʻohui ʻana i kahi huna.
ʻO kahi hūnā me LRU e hoʻoponopono i kā mākou pilikia āpau. He aha kā mākou e hana nei?
Hoʻohui mākou i kahi mea liʻiliʻi i mua o kā mākou hui nui me kahi waihona, i kapa ʻia ʻo photocaches. ʻO kēia wale nō kahi proxy caching.
Pehea ka hana ana mai loko mai? Eia kā mākou mea hoʻohana, eia kahi waihona. Ua like nā mea a pau me ka wā ma mua. He aha kā mākou e hoʻohui ai i waena?
He mīkini wale nō me kahi diski kūloko kino, ʻo ia ka wikiwiki. ʻO kēia me kahi SSD, no ka laʻana. A mālama ʻia kekahi ʻano hūnā kūloko ma kēia disk.
He aha kona ʻano? Hoʻouna ka mea hoʻohana i kahi noi no kahi kiʻi. ʻIke mua ʻo NGINX iā ia ma ka cache kūloko. Inā ʻaʻole, a laila proxy_pass i kā mākou waihona, hoʻoiho i ke kiʻi mai laila a hāʻawi i ka mea hoʻohana.
Akā ʻaʻole maopopo kēia i ka mea e hana nei i loko. He mea like me keia.
Hoʻokaʻawale ʻia ka cache i ʻekolu papa. Ke ʻōlelo wau "ʻekolu papa", ʻaʻole ia he manaʻo aia kekahi ʻano ʻōnaehana paʻakikī. ʻAʻole, ʻekolu mau papa kuhikuhi i loko o ka ʻōnaehana faila:
He pale kēia kahi i hoʻoiho ʻia ai nā kiʻi mai kahi proxy.
He huna huna kēia e mālama nei i nā kiʻi i noi ikaika ʻia i kēia manawa.
A me kahi huna huna, kahi e hoʻokuke mālie ʻia ai nā kiʻi mai loko mai o ka hūnā wela ke hiki mai nā noi liʻiliʻi iā lākou.
No kēia hana, pono mākou e hoʻokele i kēia cache, pono mākou e hoʻonohonoho hou i nā kiʻi i loko, etc. He hana mua loa keia.
Kākau wale ʻo Nginx i ka RAMDisk access.log no kēlā me kēia noi, kahi e hōʻike ai i ke ala i ke kiʻi i lawelawe ʻia i kēia manawa (ʻo ke ala pili, ʻoiaʻiʻo), a ʻo ia ka ʻāpana i lawelawe ʻia. ʻO kēlā mau mea. hiki ke ʻōlelo ʻia "kiʻi 1" a laila he pale, a i ʻole kahi huna wela, a i ʻole kahi huna anu, a i ʻole kahi mea koho.
Ma muli o kēia, pono mākou e hoʻoholo i ka mea e hana ai me ke kiʻi.
Loaʻa iā mākou kahi daemon liʻiliʻi e holo ana ma kēlā me kēia mīkini e heluhelu mau i kēia log a mālama i nā ʻikepili no ka hoʻohana ʻana i kekahi mau kiʻi i kona hoʻomanaʻo.
ʻOhi wale ʻo ia ma laila, mālama i nā helu helu a hana i kēlā me kēia manawa. Ke neʻe nei ʻo ia i nā kiʻi i noi ʻia, no laila he nui nā noi, i ka cache wela, ma nā wahi a pau.
ʻO nā kiʻi i noi ʻole ʻia a i noi pinepine ʻia e hoʻokuʻu mālie ʻia i waho o ka huna huna i ke anuanu.
A i ka pau ʻana o ka lewa i loko o ka cache, hoʻomaka wale mākou e holoi i nā mea āpau mai ka hūnā anu me ka ʻole. A ma ke ala, hana maikaʻi kēia.
I mea e mālama koke ai ke kiʻi i ka wā e hoʻololi ai iā ia i ka buffer, hoʻohana mākou i ke kuhikuhi proxy_store a ʻo ka pahu hoʻi he RAMDisk, ʻo ia hoʻi. no ka mea hoʻohana e hana wikiwiki loa ia. Pili kēia i nā mea i loko o ka server cache ponoʻī.
ʻO ka nīnau i koe pehea e puʻunaue ai i nā noi ma kēia mau kikowaena.
E ʻōlelo kākou aia kahi pūʻulu o nā mīkini mālama mālama ʻekolu a me ʻekolu mau kikowaena caching (peia ke ʻano).
Pono mākou e hoʻoholo i nā noi no nā kiʻi a me kahi e pae ai.
ʻO ka koho maʻamau ka Round Robin. A i ʻole e hana pōʻino?
He nui nā hemahema kēia no ka mea e hoʻohana pono ʻole mākou i ka cache i kēlā ʻano kūlana. E pae nā noi ma kekahi mau mīkini maʻamau: ma ʻaneʻi ua hūnā ʻia, akā ma ka mea aʻe ʻaʻole ia ma laila. A inā e hana kēia mau mea a pau, e pōʻino loa ia. ʻOiai me kahi helu liʻiliʻi o nā mīkini i ka hui.
Pono mākou e hoʻoholo i kahi kikowaena e hoʻopaʻa i ka noi.
Aia kahi ala banal. Lawe mākou i ka hash mai ka URL a i ʻole ka hash mai kā mākou kī sharding, aia ma ka URL, a puʻunaue i ka helu o nā kikowaena. E hana? Will.
ʻO kēlā mau. Loaʻa iā mākou he 2% noi, no ka laʻana, no kekahi "example_url" e pae mau ia ma ka kikowaena me ka index "XNUMX", a e hoʻopau mau ʻia ka cache e like me ka hiki.
Akā aia kahi pilikia me ka hoʻihoʻi hou ʻana i ia ʻano papahana. Resharding - ʻO wau ke hoʻololi i ka helu o nā kikowaena.
E manaʻo mākou ʻaʻole hiki i kā mākou puʻupuʻu caching ke hoʻokō hou a hoʻoholo mākou e hoʻohui i kahi mīkini ʻē aʻe.
E hoʻohui kākou.
ʻAʻole hiki ke puʻunaue ʻia nā mea a pau i ʻekolu, akā i ʻehā. No laila, kokoke i nā kī āpau i loaʻa iā mākou, kokoke i nā URL āpau i kēia manawa e noho nei ma nā kikowaena ʻē aʻe. Ua hoʻopau ʻia ka huna huna a pau no kekahi manawa. Ua hāʻule nā noi a pau i kā mākou puʻupuʻu waihona, ua lilo ia i mea maikaʻi ʻole, lawelawe ʻole a me nā mea hoʻohana ʻole. ʻAʻole au makemake e hana pēlā.
ʻAʻole kūpono kēia koho iā mākou.
ʻO kēlā. he aha kā mākou e hana ai? Pono mākou e hoʻohana maikaʻi i ka cache, e hoʻopaʻa i ka noi like ma ka server hoʻokahi, akā e kūʻē i ka resharding. A aia kahi hoʻonā, ʻaʻole paʻakikī loa. Kāhea ʻia ka hashing kūlike.
He like ia me ka mea like?
Lawe mākou i kahi hana mai ke kī sharding a hoʻolaha i kāna mau waiwai āpau ma ka pōʻai. ʻO kēlā mau mea. ma ka helu 0, hui pū kona mau helu liʻiliʻi a me ka nui. A laila, kau mākou i kā mākou mau kikowaena āpau ma ka pōʻai hoʻokahi e like me kēia:
Ua wehewehe ʻia kēlā me kēia kikowaena e kahi kiko, a ʻo ka ʻāpana e hele ana i ka clockwise iā ia, no laila, lawelawe ʻia e kēia mea hoʻokipa. Ke hele mai nā noi iā mākou, ʻike koke mākou, no ka laʻana, noi iā A - aia kahi hash ma laila - a lawelawe ʻia e ke kikowaena 2. Noi B - e ke kikowaena 3. A pēlā aku.
He aha ka hana ma kēia kūlana i ka wā e hoʻopaʻa hou ai?
ʻAʻole mākou e hoʻopau i ka cache holoʻokoʻa, e like me ka wā ma mua, a ʻaʻole e hoʻololi i nā kī āpau, akā hoʻololi mākou i kēlā me kēia māhele i kahi mamao pōkole no laila, i ka ʻōlelo ʻana, ʻo kā mākou kikowaena ʻeono, a mākou e makemake ai e hoʻohui, kūpono i loko o kahi ākea, a hoʻohui mākou i laila.
ʻOiaʻiʻo, ma ia kūlana e neʻe pū nā kī. Akā ʻoi aku ka nāwaliwali o lākou ma mua. A ʻike mākou ua paʻa kā mākou mau kī mua ʻelua ma kā lākou mau kikowaena, a ua hoʻololi ʻia ke kikowaena cache no ke kī hope wale nō. Hana maikaʻi kēia, a inā ʻoe e hoʻohui i nā mea hoʻokipa hou, a laila ʻaʻohe pilikia nui ma aneʻi. Hoʻohui ʻoe a hoʻohui liʻiliʻi i kēlā me kēia manawa, kali a piha hou ka cache, a holo pono nā mea a pau.
ʻO ka nīnau wale nō i koe me ka hōʻole. E noʻonoʻo kākou ua pau ke ʻano o ke kaʻa.
A ʻaʻole makemake mākou e hana hou i kēia palapala ʻāina i kēia manawa, e hoʻopau i kahi ʻāpana o ka cache, a pēlā aku, inā, no ka laʻana, ua hoʻihoʻi hou ʻia ka mīkini, a pono mākou e hana i nā noi lawelawe. Mālama wale mākou i hoʻokahi huna huna kiʻi ma kēlā me kēia pūnaewele, kahi e hana ai ma ke ʻano he pani no kēlā me kēia mīkini e iho nei. A inā ʻaʻole i loaʻa kekahi o kā mākou mau kikowaena, hele ka huakaʻi i laila. ʻO ka mea maʻamau, ʻaʻohe kā mākou huna huna ma laila, ʻo ia. he anu, akā, ke hana ʻia nei nā noi mea hoʻohana. Inā he wā pōkole kēia, a laila ʻike mākou me ka mālie loa. He nui wale ka ukana ma ka waihona. Inā lōʻihi kēia manawa, a laila hiki iā mākou ke hoʻoholo - e wehe i kēia kikowaena mai ka palapala ʻāina a i ʻole, a i ʻole e hoʻololi paha me kekahi.
E pili ana kēia i ka ʻōnaehana caching. E nānā kākou i nā hopena.
Me he mea lā ʻaʻohe mea paʻakikī ma ʻaneʻi. Akā ʻo kēia ʻano o ka mālama ʻana i ka cache i hāʻawi iā mākou i kahi helu hoʻopunipuni ma kahi o 98%. ʻO kēlā mau mea. mai loko mai o kēia mau noi he 80 tausani i kēlā me kēia kekona, ʻo 1600 wale nō ka mālama ʻana, a he ukana maʻamau kēia, hoʻomanawanui lākou me ka mālie, loaʻa iā mākou kahi mālama.
Hoʻonoho mākou i kēia mau kikowaena i ʻekolu o kā mākou DC, a loaʻa iā mākou ʻekolu mau wahi - Prague, Miami a me Hong Kong.
ʻO kēlā. ʻoi aʻe a liʻiliʻi paha lākou ma ka ʻāina i kēlā me kēia o kā mākou mau mākeke.
A ma ke ʻano he bonus maikaʻi, ua loaʻa iā mākou kēia proxy caching, kahi i hana ʻole ai ka CPU, no ka mea ʻaʻole pono e lawelawe i ka ʻike. A ma laila, me ka hoʻohana ʻana i ka NGINX+ Lua, ua hoʻokō mākou i nā loiloi utilitarian.
No ka laʻana, hiki iā mākou ke hoʻokolohua me ka webp a i ʻole ka jpeg holomua (ʻo ia nā ʻano hoʻohālikelike hou i kēia manawa), e ʻike i ke ʻano o ka hopena o ke kaʻa, hana i kekahi mau hoʻoholo, hiki iā ia no kekahi mau ʻāina, etc.; e hoʻololi i ka nui a ʻokiʻoki i nā kiʻi ma ka lele.
He mea hoʻohana maikaʻi kēia inā, no ka laʻana, loaʻa iā ʻoe kahi polokalamu kelepona e hōʻike ana i nā kiʻi, a ʻaʻole makemake ka polokalamu kelepona e hoʻopau i ka CPU o ka mea kūʻai aku ma ke noi ʻana i kahi kiʻi nui a laila hoʻololi i ke kiʻi i kahi nui i mea e pana ai i loko. ka nana aku. Hiki iā mākou ke kuhikuhi i kekahi mau palena ma ka URL kūlana UPort, a e hoʻololi ke kiʻi kiʻi i ke kiʻi ponoʻī. E like me ke kānāwai, e koho ia i ka nui a mākou i loaʻa ma ka diski, e like me ka hiki i ka mea i noi ʻia, a hoʻohaʻahaʻa iā ia i nā kikoʻī kikoʻī.
Ma ke ala, ua hana mākou i nā wikiō wikiō i loaʻa i ka lehulehu i nā makahiki ʻelima i hala o ka ʻaha kūkā o nā mea hoʻomohala o nā ʻōnaehana kiʻekiʻe. Hoʻouka kiʻekiʻe++. E nānā, aʻo, kaʻana like a kau inoa Kanaka YouTube.
Hiki iā mākou ke hoʻohui i nā loiloi huahana he nui ma laila. No ka laʻana, hiki iā mākou ke hoʻohui i nā kaha wai like ʻole me ka hoʻohana ʻana i nā ʻāpana URL, hiki iā mākou ke blur, blur a i ʻole nā kiʻi pixelate. ʻO kēia ka manawa e makemake ai mākou e hōʻike i ke kiʻi o ke kanaka, akā ʻaʻole makemake mākou e hōʻike i kona helehelena, hana maikaʻi kēia, ua hoʻokō ʻia ma aneʻi.
He aha kā mākou i loaʻa? Loaʻa iā mākou ʻekolu mau wahi o ka hele ʻana, kahi helu hoʻopunipuni maikaʻi, a i ka manawa like ʻaʻohe o mākou CPU palaualelo ma kēia mau mīkini. Ua lilo ʻo ia i mea nui ma mua o ka wā ma mua. Pono mākou e hāʻawi iā mākou iho i nā kaʻa ikaika, akā pono ia.
Pili kēia i ka hoʻi ʻana o nā kiʻi. ʻO nā mea a pau maʻaneʻi ua maopopo a maopopo. Manaʻo wau ʻaʻole wau i ʻike iā ʻAmelika, kokoke i nā CDN e hana i kēia ala.
A, ʻoi aku paha, he nīnau paha ka mea hoʻolohe maʻalahi: no ke aha e hoʻololi ʻole ai i nā mea āpau i CDN? E like paha ia; hiki i nā CDN hou ke hana i kēia. A he nui nā kumu.
ʻO ka mua nā kiʻi.
ʻO kēia kekahi o nā mea koʻikoʻi o kā mākou ʻoihana, a pono mākou i ka mana e like me ka hiki. Inā he ʻano hoʻonā kēia mai kahi mea kūʻai aku ʻekolu ʻaoʻao, a ʻaʻohe ou mana ma luna o ia mea, e paʻakikī loa ia no ʻoe e noho pū me ia i ka wā e loaʻa ai iā ʻoe kahi dataset nui, a ke loaʻa iā ʻoe kahi kahe nui loa. o nā noi mea hoʻohana.
E hāʻawi wau i kumu hoʻohālike. I kēia manawa, me kā mākou ʻoihana, hiki iā mākou, no ka laʻana, inā loaʻa kekahi mau pilikia a i ʻole ke kīkē ʻana i lalo o ka honua, e hele i ka mīkini a hoʻomāinoino i laila, ma ka ʻōlelo ʻana. Hiki iā mākou ke hoʻohui i ka hōʻiliʻili o kekahi mau metric e pono ai mākou, hiki iā mākou ke hoʻokolohua i kekahi ʻano, ʻike i ka hopena o kēia i nā kiʻi, a pēlā aku. I kēia manawa ke hōʻiliʻili ʻia nei nā helu helu ma kēia puʻupuʻu caching. A nānā mākou i kēlā me kēia manawa a lōʻihi ka manawa e ʻimi ai i kekahi mau anomalies. Inā aia ma ka ʻaoʻao CDN, ʻoi aku ka paʻakikī o ka hoʻokele. A i ʻole, no ka laʻana, inā loaʻa kekahi ʻano pōʻino, ʻike mākou i ka mea i hana ʻia, ʻike mākou pehea e noho ai me ia a pehea e lanakila ai. ʻO kēia ka hopena mua.
ʻO ka hopena ʻelua he moʻolelo nō hoʻi, no ka mea, ua lōʻihi ka ulu ʻana o ka ʻōnaehana, a ua nui nā koi ʻoihana ʻē aʻe i nā pae like ʻole, a ʻaʻole kūpono lākou i ka manaʻo CDN.
A ʻo ka manaʻo e hahai mai ana ma mua
ʻO kēia no ka mea ma nā kiʻi paʻi kiʻi he nui kā mākou loiloi kikoʻī, ʻaʻole hiki ke hoʻohui mau ʻia ma ke noi. ʻAʻole paha e hoʻohui kekahi CDN i kekahi mau mea maʻamau iā ʻoe ma kāu noi. No ka laʻana, hoʻopili i nā URL inā ʻaʻole ʻoe makemake e hiki i ka mea kūʻai ke hoʻololi i kekahi mea. Makemake ʻoe e hoʻololi i ka URL ma ke kikowaena a hoʻopili iā ia, a laila e hoʻouna i kekahi mau ʻāpana ikaika ma aneʻi.
He aha ka hopena o kēia manaʻo? I kā mākou hihia, ʻaʻole ʻo CDN kahi koho maikaʻi loa.
A i kāu hihia, inā loaʻa iā ʻoe nā koi ʻoihana kikoʻī, a laila hiki iā ʻoe ke hoʻokō maʻalahi i ka mea aʻu i hōʻike aku ai iā ʻoe iho. A e hana maikaʻi kēia me kahi ʻano hoʻouka like.
Akā inā loaʻa iā ʻoe kekahi ʻano hopena maʻamau, a ʻaʻole kikoʻī loa ka hana, hiki iā ʻoe ke lawe palekana i kahi CDN. A i ʻole inā ʻoi aku ka nui o ka manawa a me nā kumuwaiwai iā ʻoe ma mua o ka mana.
A ua kokoke nā CDN hou i nā mea a pau aʻu i haʻi aku ai iā ʻoe i kēia manawa. Me ka hoʻohui a hōʻemi paha i kekahi mau hiʻohiʻona.
E pili ana kēia i ka hāʻawi ʻana i nā kiʻi.
E neʻe liʻiliʻi kākou i mua o kā mākou hope a kamaʻilio e pili ana i ka waiho ʻana.
Ua hala ka makahiki 2013.
Hoʻohui ʻia nā kikowaena cache, ua pau nā pilikia hana. Ua maikaʻi nā mea a pau. Ke ulu nei ka ʻikepili. I ka makahiki 2013, loaʻa iā mākou ma kahi o 80 mau kikowaena i hoʻopili ʻia i ka waiho ʻana, a ma kahi o 40 mau kikowaena i kēlā me kēia DC. ʻO kēia ka 560 terabytes o ka ʻikepili ma kēlā me kēia DC, ʻo ia hoʻi. ma kahi o ka petabyte ka huina.
A me ka ulu ʻana o ka ʻikepili, hoʻomaka ka piʻi ʻana o nā kumukūʻai hana. He aha ke ʻano o kēia?
Ma kēia kiʻi i kaha ʻia - me kahi SAN, me nā mīkini a me nā cache i pili iā ia - he nui nā wahi o ka hāʻule. Inā ua hana mua mākou i ka hemahema o nā kikowaena cache ma mua, ʻoi aku ka nui a i ʻole ka liʻiliʻi o nā mea āpau a hiki ke hoʻomaopopo ʻia, akā ma ka ʻaoʻao mālama i ʻoi aku ka ʻino.
ʻO ka mea mua, ʻo ka Storage Area Network (SAN) ponoʻī, hiki ke hāʻule.
ʻO ka lua, pili ia ma optics i nā mīkini hope. Loaʻa paha nā pilikia me nā kāleka optical a me nā pahu kukui.
ʻOiaʻiʻo, ʻaʻole i like ka nui o lākou e like me ka SAN ponoʻī, akā naʻe, ʻo kēia kekahi mau wahi hemahema.
ʻO ka mea aʻe ʻo ka mīkini ponoʻī, i hoʻopili ʻia i ka waihona. Hiki ke hāʻule.
ʻO ka huina, loaʻa iā mākou ʻekolu mau wahi hemahema.
Eia kekahi, ma kahi o nā wahi o ka hāʻule ʻole, aia ka mālama koʻikoʻi o ka waihona ponoʻī.
He ʻōnaehana multi-component paʻakikī kēia, a hiki i nā ʻenekini ʻōnaehana ke paʻakikī i ka hana pū me ia.
A ʻo ka mea hope loa, ka mea nui. Inā loaʻa kahi hemahema ma kekahi o kēia mau wahi ʻekolu, loaʻa iā mākou kahi manawa ʻole o ka nalowale ʻana o ka ʻikepili mea hoʻohana no ka mea hiki ke hāʻule ka ʻōnaehana faila.
E ʻōlelo kākou ua haki kā mākou ʻōnaehana faila. ʻO ka mea mua, lōʻihi kona hoʻihoʻi ʻana - hiki ke lawe i hoʻokahi pule me ka nui o ka ʻikepili. A ʻo ka lua, i ka hopena, e hoʻopau paha mākou i kahi pūʻulu o nā faila hiki ʻole ke hoʻomaopopo ʻia e pono e hui pū ʻia i nā kiʻi mea hoʻohana. A pilikia mākou i ka nalowale ʻana o ka ʻikepili. He kiʻekiʻe loa ka pilikia. A ʻoi aku ka nui o kēia mau kūlana, a ʻoi aku ka nui o nā pilikia i kēia kaulahao holoʻokoʻa, ʻoi aku ka kiʻekiʻe o kēia pilikia.
Pono e hana ʻia kekahi mea e pili ana i kēia. A ua hoʻoholo mākou e hoʻihoʻi wale i ka ʻikepili. ʻO kēia ka ʻoiaʻiʻo he hopena maopopo a maikaʻi hoʻi. He aha kā mākou i hana ai?
ʻO kēia ke ʻano o kā mākou kikowaena i ka wā i hoʻopili ʻia i ka waihona ma mua. ʻO kēia kahi ʻāpana nui, he mea poloka wale nō ia e hōʻike maoli ana i kahi mauna no ka mālama mamao ma o ka optics.
Hoʻohui wale mākou i kahi ʻāpana ʻelua.
Hoʻonoho mākou i kahi waihona lua ma hope o ia (ʻoi aku ka maikaʻi, ʻaʻole ia he kumukūʻai ma ke ʻano o ke kālā), a kapa ʻia ʻo ia he ʻāpana hoʻihoʻi. Hoʻopili pū ʻia ma o ka optics a aia ma ka mīkini like. Akā pono mākou e hoʻonohonoho i ka ʻikepili ma waena o lākou.
Ma ʻaneʻi, hana mākou i kahi pila asynchronous ma kahi kokoke.
ʻAʻole paʻa loa ʻo ia. ʻIke mākou ʻaʻole lawa nā moʻolelo. ʻO kahi queue he papaʻaina wale nō ma MySQL kahi i kākau ʻia ai nā laina e like me "pono ʻoe e hoʻihoʻi i kēia kiʻi". Me kekahi hoʻololi a hoʻouka paha, kope mākou mai ka ʻāpana nui a i ka hoʻohana ʻana i kahi asynchronous a i ʻole kekahi ʻano mea hana hope.
A pēlā mākou e loaʻa mau ai ʻelua mau ʻāpana kūlike. ʻOiai inā hāʻule kekahi ʻāpana o kēia ʻōnaehana, hiki iā mākou ke hoʻololi mau i ka ʻāpana nui me kahi kākoʻo, a e hoʻomau nā mea a pau.
Akā ma muli o kēia, piʻi nui ka ukana heluhelu, no ka mea... ma waho aʻe o nā mea kūʻai mai i heluhelu mai ka ʻāpana nui, no ka mea, nānā mua lākou i ke kiʻi ma laila (ʻoi aku ka hou ma laila), a laila e ʻimi iā ia ma ka waihona, inā ʻaʻole i loaʻa iā lākou (akā ʻo NGINX wale nō e hana i kēia), ʻO kā mākou ʻōnaehana hoʻi he kākoʻo hoʻohui i kēia manawa heluhelu mai ka ʻāpana nui. ʻAʻole ia he bottleneck kēia, akā ʻaʻole wau i makemake e hoʻonui i ka ukana, ma ke ʻano, e like me kēlā.
A ua hoʻohui mākou i kahi diski ʻekolu, ʻo ia ka SSD liʻiliʻi, a kapa ʻia ʻo ia he buffer.
Pehea ka hana i kēia manawa.
Hoʻouka ka mea hoʻohana i kahi kiʻi i ka buffer, a laila hoʻolei ʻia kahi hanana i loko o ka pila e hōʻike ana e pono ke kope ʻia i ʻelua ʻāpana. Hoʻopili ʻia ia, a noho ke kiʻi ma ka buffer no kekahi manawa (e ʻōlelo, he lā), a laila holoi ʻia mai laila. Hoʻomaikaʻi nui kēia i ka ʻike mea hoʻohana, no ka mea, hoʻouka ka mea hoʻohana i kahi kiʻi, ma ke ʻano he kānāwai, hoʻomaka koke nā noi e hahai, a i ʻole ʻo ia iho i hoʻonui i ka ʻaoʻao a hōʻoluʻolu iā ia. Akā, pili nā mea a pau i ka palapala noi e hoʻouka ai.
A i ʻole, no ka laʻana, nā poʻe ʻē aʻe āna i hoʻomaka ai e hōʻike iā ia iho e hoʻouna koke i nā noi ma hope o kēia kiʻi. ʻAʻole ia i loko o ka hūnā; hiki koke ke noi mua. ʻO ka mea nui e like me ka waihona kiʻi. ʻAʻole pili ka mālama lohi i kēia. A i ka wā e hoʻomaʻemaʻe ʻia ai ka lā ma hope, ua hūnā ʻia ma kā mākou papa caching, a i ʻole, ʻaʻohe mea e pono hou. ʻO kēlā mau mea. Ua ulu maikaʻi ka ʻike mea hoʻohana ma muli o ia mau manipulations maʻalahi.
ʻAe, a ʻo ka mea nui loa: ua oki mākou i ka nalowale ʻana o ka ʻikepili.
E ʻōlelo wale mākou ua kū mākou hiki paha lilo ka ʻikepili, no ka mea, ʻaʻole mākou i nalowale. Akā, ua pilikia. ʻIke mākou he maikaʻi kēia hoʻonā, akā, ua like ia me ka hoʻomaʻamaʻa ʻana i nā hōʻailona o ka pilikia, ma kahi o ka hoʻoponopono piha ʻana. A noho kekahi mau pilikia maanei.
ʻO ka mea mua, he wahi kēia o ka hemahema ma ke ʻano o ka pūʻali kino ponoʻī kahi e holo ai kēia mīkini a pau; ʻaʻole i hala.
ʻO ka lua, aia nō nā pilikia me nā SAN, ko lākou mālama koʻikoʻi, a pēlā aku. ʻAʻole ia he kumu koʻikoʻi, akā makemake wau e hoʻāʻo e ola me ka ʻole.
A hana mākou i ke kolu o ka mana (ʻoiaʻiʻo, ʻo ka lua i ka ʻoiaʻiʻo) - ka mana hoʻopaʻa. He aha kona ʻano?
ʻO kēia ka mea -
ʻO kā mākou pilikia nui me ka ʻoiaʻiʻo he mea hoʻokipa kino kēia.
ʻO ka mea mua, ke hoʻoneʻe nei mākou i nā SAN no ka mea makemake mākou e hoʻokolohua, makemake mākou e hoʻāʻo i nā ʻōpala paʻakikī kūloko.
ʻO 2014-2015 kēia, a i kēlā manawa ua ʻoi aku ka maikaʻi o ke kūlana me nā disks a me ko lākou hiki i hoʻokahi host. Ua hoʻoholo mākou no ke aha e hoʻāʻo ʻole ai.
A laila lawe wale mākou i kā mākou ʻāpana hoʻihoʻi a hoʻoili kino iā ia i kahi mīkini ʻokoʻa.
No laila, loaʻa iā mākou kēia kiʻi. Loaʻa iā mākou ʻelua mau kaʻa e mālama i nā ʻikepili like. Hoʻihoʻi lākou i kekahi i kekahi a hoʻonohonoho i ka ʻikepili ma luna o ka pūnaewele ma o kahi queue asynchronous i ka MySQL like.
No ke aha e hana maikaʻi ai kēia no ka mea he liʻiliʻi kā mākou mau moʻolelo. ʻO kēlā mau mea. inā like ke kākau ʻana me ka heluhelu ʻana, malia paha e loaʻa iā mākou kekahi ʻano pūnaewele ma luna a me nā pilikia. He liʻiliʻi ke kākau, nui ka heluhelu ʻana - maikaʻi kēia ʻano hana, ʻo ia hoʻi. Kakaʻikahi mākou e kope i nā kiʻi ma waena o kēia mau kikowaena ʻelua.
Pehea e hana ai kēia, inā ʻoe e nānā iki i nā kikoʻī.
Hoʻouka. Koho wale ka mea kaulike i nā pūʻali maʻamau me kahi pālua a hoʻouka iā ia. I ka manawa like, hana maoli ʻo ia i nā loiloi olakino a hōʻoia i ka hāʻule ʻole o ke kaʻa. ʻO kēlā mau. hoʻouka ʻo ia i nā kiʻi i kahi kikowaena ola wale nō, a laila ma o kahi queue asynchronous ua kope ʻia i kona hoalauna. Me ka hoʻoukaʻana he mea maʻalahi loa nā mea a pau.
ʻOi aku ka paʻakikī o ka hana.
Ua kōkua ʻo Lua iā mākou ma ʻaneʻi, no ka mea hiki ke paʻakikī i ka hana ʻana i ia loiloi ma vanilla NGINX. Hana mua mākou i kahi noi i ke kikowaena mua, e ʻike inā aia ke kiʻi, no ka mea hiki ke hoʻouka ʻia, no ka laʻana, i kahi hoalauna, akā ʻaʻole i hiki mai i ʻaneʻi. Inā aia ke kiʻi, maikaʻi kēlā. Hāʻawi koke mākou iā ia i ka mea kūʻai aku a, malia paha, hūnā iā ia.
Inā ʻaʻole i laila, noi wale mākou i ko mākou hoalauna a paʻa ka loaʻa ʻana mai laila.
ʻO kēlā. hiki iā mākou ke ʻōlelo hou: aia paha nā pilikia me ka hana, no ka mea, aia nā huakaʻi kaʻapuni mau - ua hoʻouka ʻia ke kiʻi, ʻaʻole ma ʻaneʻi, ke hana nei mākou i ʻelua noi ma kahi o hoʻokahi, pono e hana mālie kēia.
I ko mākou kūlana, ʻaʻole holo mālie kēia.
ʻOhi mākou i kahi pūʻulu o nā metric ma kēia ʻōnaehana, a ʻo ke kūlana akamai o ia ʻano hana ma kahi o 95%. ʻO kēlā mau mea. He liʻiliʻi ka lag o kēia waihona, a ma muli o kēia, ua kokoke mākou e hōʻoiaʻiʻo ʻia, ma hope o ka hoʻouka ʻia ʻana o ke kiʻi, e kiʻi mākou iā ia i ka manawa mua a ʻaʻole pono e hele i kahi ʻelua.
No laila he aha hou aʻe i loaʻa iā mākou he mea maikaʻi loa?
Ma mua, loaʻa iā mākou ka ʻāpana hoʻihoʻi koʻikoʻi, a heluhelu mākou iā lākou ma ke ʻano. ʻO kēlā mau mea. Ua ʻimi mau mākou i ka mea nui ma mua, a laila ma ka waihona. He neʻe hoʻokahi.
I kēia manawa, hoʻohana mākou i ka heluhelu ʻana mai ʻelua mau mīkini i ka manawa hoʻokahi. Hāʻawi mākou i nā noi me ka Round Robin. Ma kahi hapa liʻiliʻi o nā hihia, hana mākou i ʻelua noi. Akā ʻo ka laulā, ʻelua ʻoi aku ka nui o kā mākou waihona heluhelu e like me kā mākou ma mua. A ua hoʻemi nui ʻia ka ukana ma nā mīkini hoʻouna a pololei hoʻi i nā mīkini mālama, a mākou pū kekahi i kēlā manawa.
No ka hoʻomanawanui hewa. ʻOiaʻiʻo, ʻo kēia ka mea a mākou i hakakā nui ai. Me ka hoʻomanawanui hewa, ua maikaʻi nā mea a pau ma ʻaneʻi.
Ua haki kekahi kaʻa.
ʻaʻole pilikia! ʻAʻole paha e ala ka ʻenehana ʻōnaehana i ka pō, kali ʻo ia a hiki i ke kakahiaka, ʻaʻohe mea ʻino.
Inā paha e hāʻule kēia mīkini, ʻaʻole pololei ka pila, ʻaʻohe pilikia, e hōʻiliʻili mua ʻia ka lāʻau i ka mīkini ola, a laila e hoʻohui ʻia i ka pila, a laila ma ke kaʻa e hana ai. hele i ka hana ma hope o kekahi manawa.
ʻO ka mea like me ka mālama. Hoʻopau wale mākou i kekahi o nā mīkini, huki lima iā ia i waho o nā loko āpau, pau ka loaʻa ʻana o ke kaʻa, hana mākou i kekahi ʻano mālama, hoʻoponopono mākou i kekahi mea, a laila hoʻihoʻi mākou i ka lawelawe, a hiki koke kēia waihona. ʻO kēlā mau. i kēlā lā i kēia lā, hiki i ka manawa hoʻomaha o hoʻokahi kaʻa i loko o ʻelua mau minuke. He uuku loa keia. Me ka hoʻomanawanui hewa, ʻōlelo hou au, ua maʻalili nā mea a pau ma ʻaneʻi.
He aha nā hopena e hiki ke huki ʻia mai kēia hoʻolālā redundancy?
Loaʻa iā mākou ka hoʻomanawanui hewa.
Maʻalahi e hoʻohana. No ka loaʻa ʻana o nā mīkini paʻakikī kūloko, ʻoi aku ka maʻalahi o kēia mai kahi manaʻo hana no nā ʻenekini e hana pū me ia.
Ua loaa ia makou ka haawina heluhelu papalua.
He bonus maikaʻi loa kēia me ka hoʻomanawanui hewa.
Akā aia kekahi mau pilikia. I kēia manawa ua loaʻa iā mākou kahi hoʻomohala ʻoi aku ka paʻakikī o kekahi mau hiʻohiʻona e pili ana i kēia, no ka mea, ua lilo ka ʻōnaehana i 100% mau loa.
Pono mākou, e ʻōlelo, ma kekahi hana hope, e noʻonoʻo mau: "He aha ke kikowaena a mākou e holo nei i kēia manawa?", "He kiʻi maoli anei kēia?" etc. ʻO kēia, ʻoiaʻiʻo, ua ʻōwili ʻia, a no ka mea papahana nāna i kākau i ka loiloi ʻoihana, maopopo ia. Akā naʻe, ua ʻike ʻia kēia papa paʻakikī nui. Akā, ua mākaukau mākou e hoʻomanawanui i kēia me ka hoʻololi ʻana i nā mea maikaʻi i loaʻa mai iā mākou.
A eia hou ke ala mai nei kekahi paio.
Ua ʻōlelo au i ka hoʻomaka ʻana he ʻino ka mālama ʻana i nā mea āpau ma nā paʻakikī kūloko. A ke ʻōlelo nei au ua makemake mākou.
ʻAe, ʻoiaʻiʻo, ua loli nui ke kūlana i kēia manawa, a i kēia manawa he nui nā pono o kēia ala. ʻO ka mea mua, loaʻa iā mākou ka hana maʻalahi.
ʻO ka lua, ʻoi aku ka maikaʻi, no ka mea, ʻaʻohe o mākou mea hoʻokele a i ʻole pili i nā papa disk.
He nui nā mīkini ma laila, a he mau disks wale nō kēia i ʻākoakoa ma ʻaneʻi ma ka mīkini i kahi hoʻouka kaua.
Akā, aia kekahi mau hemahema.
Ma kahi o 1,5 manawa ʻoi aku ka nui o ke kumukūʻai ma mua o ka hoʻohana ʻana i nā SAN ma nā kumukūʻai o kēia lā. No laila, ua hoʻoholo mākou ʻaʻole e hoʻololi wiwo ʻole i kā mākou pūʻulu nui holoʻokoʻa i nā kaʻa me nā paʻakikī kūloko a hoʻoholo e haʻalele i kahi hopena hybrid.
ʻO ka hapalua o kā mākou mau mīkini e hana me nā paʻakikī paʻakikī (maikaʻi, ʻaʻole hapa - 30 pakeneka paha). A ʻo ke koena he mau kaʻa kahiko i loaʻa ka papa kuhikuhi mua. Hoʻihoʻi wale mākou iā lākou, no ka mea ʻaʻole pono mākou i nā ʻikepili hou a i ʻole nā mea ʻē aʻe, ua hoʻoneʻe wale mākou i nā mauna mai kahi pūʻali kino i ʻelua.
A he nui kā mākou waihona heluhelu, a hoʻonui mākou. Inā ma mua ua kau mākou i hoʻokahi waihona ma ka mīkini hoʻokahi, i kēia manawa ke kau nei mākou i ʻehā, no ka laʻana, ma kahi pālua. A hana maikaʻi.
E lawe mākou i kahi hōʻuluʻulu pōkole o nā mea a mākou i hoʻokō ai, nā mea a mākou i hakakā ai, a inā ua lanakila mākou.
Nā hopena
Loaʻa iā mākou nā mea hoʻohana - e like me 33 miliona.
Loaʻa iā mākou ʻekolu mau wahi - Prague, Miami, Hong Kong.
Loaʻa iā lākou kahi papa caching, aia nā kaʻa me nā disks kūloko wikiwiki (SSDs), kahi e holo ai nā mīkini maʻalahi mai NGINX, kāna access.log a me Python daemons, e hoʻoponopono i kēia mau mea a mālama i ka cache.
Inā makemake ʻoe, aia ʻoe i kāu papahana, inā ʻaʻole koʻikoʻi nā kiʻi iā ʻoe e like me kā mākou, a i ʻole ka mana o ka trade-off control versus development speed a me nā kumu waiwai ma kahi ʻē aʻe no ʻoe, a laila hiki iā ʻoe ke hoʻololi pono iā ia. me kahi CDN, hana maikaʻi nā CDN hou.
ʻO ka mea aʻe e hiki mai ana ka papa waihona, kahi i loaʻa iā mākou nā pūʻulu ʻelua o nā mīkini e hoʻihoʻi i kekahi i kekahi, kope ʻia nā faila mai kekahi i kekahi i kēlā me kēia manawa e loli ai.
Eia kekahi, ke hana nei kekahi o kēia mau mīkini me nā paʻakikī kūloko.
Hoʻopili ʻia kekahi o kēia mau mīkini i nā SAN.
A, ma kekahi ʻaoʻao, ʻoi aku ka maʻalahi o ka hoʻohana ʻana a ʻoi aku ka maikaʻi o ka hoʻohana ʻana, ma ka ʻaoʻao ʻē aʻe, maʻalahi ia e pili ana i ka nui o ka waiho ʻana a me ke kumukūʻai no ka gigabyte.
He ʻike pōkole kēia o ka hoʻolālā ʻana o nā mea i loaʻa iā mākou a pehea i ulu ai nā mea āpau.
ʻO kekahi mau ʻōlelo aʻoaʻo hou mai ke kāpena, nā mea maʻalahi loa.
ʻO ka mea mua, inā hoʻoholo koke ʻoe e hoʻomaikaʻi koke i nā mea āpau i kāu ʻōnaehana kiʻi, e ana mua, no ka mea, ʻaʻohe mea pono e hoʻomaikaʻi.
E hāʻawi wau i kumu hoʻohālike. Loaʻa iā mākou kahi pūʻulu o nā mīkini e hoʻouna i nā kiʻi mai nā mea pili i nā kamaʻilio, a ke hana nei ka papahana ma laila mai 2009, ʻaʻohe mea e ʻeha mai ia. Ua maikaʻi nā mea a pau, makemake nā mea a pau i nā mea a pau.
No ke ana ʻana, e kau mua i nā metric, e nānā iā lākou, a laila e hoʻoholo i ka mea āu e hauʻoli ʻole ai a me nā mea e pono e hoʻomaikaʻi ʻia. I mea e ana i kēia, loaʻa iā mākou kahi mea hana maikaʻi i kapa ʻia ʻo Pinba.
Hāʻawi ia iā ʻoe e hōʻiliʻili i nā helu kikoʻī loa mai NGINX no kēlā me kēia noi a me nā code pane, a me ka hāʻawi ʻana i nā manawa - ʻo kēlā me kēia mea āu e makemake ai. Loaʻa iā ia nā hoʻopaʻa ʻana i nā ʻano ʻōnaehana analytics like ʻole, a laila hiki iā ʻoe ke nānā nani a pau.
Ua ana mua mākou, a laila hoʻomaikaʻi mākou.
Eia hou aku. Manaʻo mākou i ka heluhelu ʻana me ka cache, ke kākau ʻana me ka sharding, akā he wahi maopopo kēia.
Eia hou aku. Inā ʻoe e hoʻomaka nei e kūkulu i kāu ʻōnaehana, a laila ʻoi aku ka maikaʻi o ka hana ʻana i nā kiʻi ma ke ʻano he mau faila immutable. No ka mea, e nalowale koke ana ʻoe i kahi papa holoʻokoʻa o nā pilikia me ka cache invalidation, me pehea e ʻike ai ka loiloi i ka mana kūpono o ke kiʻi, a pēlā aku.
E ʻōlelo mākou ua hoʻouka ʻoe i hoʻokahi haneli, a laila hoʻololi iā ia, e hana i mea he faila ʻokoʻa. ʻO kēlā mau mea. ʻAʻole pono e noʻonoʻo: i kēia manawa e mālama wau i kahi wahi liʻiliʻi, e kākau iā ia i ka faila hoʻokahi, e hoʻololi i ka mana. ʻAʻole hana maikaʻi kēia i nā manawa a pau a he nui nā poʻo ma hope.
Lae aʻe. E pili ana i ka hoʻololi ʻana ma ka lele.
Ma mua, i ka wā i hoʻouka ai nā mea hoʻohana i kahi kiʻi, ua ʻoki koke mākou i kahi hui nui o nā nui no nā manawa āpau, no nā mea kūʻai like ʻole, a aia lākou a pau ma ka disk. I kēia manawa ua haʻalele mākou i kēia.
Ua waiho mākou i ʻekolu mau nui nui: liʻiliʻi, waena a me ka nui. Hoʻohaʻahaʻa wale mākou i nā mea āpau mai ka nui ma hope o ka mea i noi ʻia iā mākou ma Uport, hana mākou i ka downscale a hāʻawi i ka mea hoʻohana.
ʻOi aku ka liʻiliʻi o ka CPU o ka papa caching ma mua o ka hana hou ʻana i kēia mau nui i kēlā me kēia waihona. E ʻōlelo mākou makemake mākou e hoʻohui i kahi mea hou, hoʻokahi mahina kēia - e holo i kahi palapala ma nā wahi āpau e hana pono i kēia mau mea, me ka ʻole o ka luku ʻana i ka pūpū. ʻO kēlā mau mea. Inā loaʻa iā ʻoe ka manawa e koho ai i kēia manawa, ʻoi aku ka maikaʻi o ka hana ʻana i ka liʻiliʻi o ke kino e like me ka hiki, akā no ka liʻiliʻi o kekahi mahele, e ʻōlelo, ʻekolu. A hiki ke hoʻololi wale ʻia nā mea ʻē aʻe ma ka lele me ka hoʻohana ʻana i nā modula i mākaukau. He mea maʻalahi loa a hiki i kēia manawa.
A maikaʻi ke kākoʻo asynchronous incremental.
E like me kā mākou hana i hōʻike ʻia, hana maikaʻi kēia hoʻolālā me ka lohi ʻana i ke kope ʻana i nā faila i hoʻololi ʻia.
Akaka no hoi ka helu hope. Inā ʻaʻohe pilikia o kāu ʻoihana i kēia manawa, akā aia kekahi mea hiki ke haki, e haki maoli ia ke lilo i mea liʻiliʻi. No laila, ʻoi aku ka maikaʻi o ka noʻonoʻo ʻana i kēia ma mua a ʻaʻole ʻike i nā pilikia me ia. ʻO ia wale nō kaʻu makemake e ʻōlelo.
ʻO kēia hōʻike he transcript o kekahi o nā haʻi'ōlelo maikaʻi loa ma kaʻaha kūkā o nā mea hoʻomohala o nā pūnaewele kiʻekiʻe Hoʻouka kiʻekiʻe++. Aia ma lalo o hoʻokahi mahina i koe a hiki i ka hālāwai HighLoad ++ 2017.
Ua mākaukau mua mākou Papahana ʻaha kūkā, ke hana ʻia nei ka papa hoʻonohonoho.
I kēia makahiki ke hoʻomau nei mākou e ʻimi i ke kumuhana o ka hale hana a me ka hoʻonui ʻana:
Hoʻohana pū mākou i kekahi o kēia mau mea i kā mākou papa aʻo pūnaewele ma ka hoʻomohala ʻana i nā ʻōnaehana haʻahaʻa kiʻekiʻe HighLoad.Alakaʻi he kaulahao o nā leka i koho ʻia, nā ʻatikala, nā mea waiwai, nā wikiō. Loaʻa i kā mākou puke haʻawina ma mua o 30 mau mea kūʻokoʻa. Hoʻohui!