Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

Artem Denisov ( bo0rsh201, ʻO Badoo)

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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?

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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:

  1. He pale kēia kahi i hoʻoiho ʻia ai nā kiʻi mai kahi proxy.
  2. He huna huna kēia e mālama nei i nā kiʻi i noi ikaika ʻia i kēia manawa.
  3. 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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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).

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

He like ia me ka mea like?

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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:

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

He aha ka hana ma kēia kūlana i ka wā e hoʻopaʻa hou ai?

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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?

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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?

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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 -

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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ʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

Inā ʻaʻole i laila, noi wale mākou i ko mākou hoalauna a paʻa ka loaʻa ʻana mai laila.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

Ua haki kekahi kaʻa.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

ʻ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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻolālā no ka mālama ʻana a kaʻana like i nā kiʻi ma Badoo

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.

Hoʻokaʻaʻike

» bo0rsh201
» Badoo Blog

ʻ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!

Source: www.habr.com

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