Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Aloha, ʻo Evgeniy koʻu inoa. Hana wau ma ka ʻōnaehana hulina Yandex.Market. Makemake au e haʻi aku i ke kaiāulu Habr e pili ana i ka lumi kuke i loko o ka Mākeke - a he nui kaʻu e haʻi aku ai. ʻO ka mea mua, pehea e hana ai ka ʻimi Market, nā kaʻina hana a me ka hoʻolālā. Pehea mākou e hana ai i nā pilikia pilikia: he aha ka hopena inā hāʻule kekahi kikowaena? He aha inā he 100 ia mau kikowaena?

E aʻo pū ʻoe pehea mākou e hoʻokō ai i nā hana hou ma kahi pūʻulu o nā kikowaena i ka manawa hoʻokahi. A pehea mākou e hoʻāʻo ai i nā lawelawe paʻakikī i ka hana ʻana, me ka ʻole o ka pilikia i nā mea hoʻohana. Ma keʻano laulā, pehea ka hana ʻana o ka ʻimi Market i loaʻa ka manawa maikaʻi i kēlā me kēia kanaka.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

He wahi liʻiliʻi e pili ana iā mākou: he aha ka pilikia a mākou e hoʻoponopono ai

Ke hoʻokomo ʻoe i ka kikokikona, e ʻimi i kahi huahana ma nā ʻāpana, a i ʻole e hoʻohālikelike i nā kumukūʻai ma nā hale kūʻai like ʻole, hoʻouna ʻia nā noi āpau i ka lawelawe ʻimi. ʻO ka ʻimi ka lawelawe nui loa ma ka Mākeke.

Hana mākou i nā noi hulina āpau: mai nā pūnaewele market.yandex.ru, beru.ru, ka lawelawe Supercheck, Yandex.Advisor, nā noi kelepona. Hoʻokomo pū mākou i nā hāʻawi huahana i nā hualoaʻa ma yandex.ru.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Ma ka lawelawe ʻimi ʻana, ʻaʻole wau i ka ʻimi wale nō, akā ʻo kahi waihona me nā hāʻawi āpau ma ka Market. ʻO kēia ka pālākiō: ʻoi aku ma mua o hoʻokahi piliona noi noi e hana ʻia i kēlā me kēia lā. A pono e hana wikiwiki nā mea a pau, me ka ʻole o ke keakea a hoʻopuka mau i ka hopena i makemake ʻia.

He aha ka mea: hale kūʻai hale kūʻai

E wehewehe pōkole au i ka hoʻolālā o kēia manawa o ka Makeke. Hiki ke wehewehe ʻia e ke kiʻikuhi ma lalo nei.
Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena
E ʻōlelo kākou he hale kūʻai hoa hele mai iā mākou. Ua ʻōlelo ʻo ia makemake wau e kūʻai aku i kahi pāʻani: ʻo kēia pōpoki ʻino me ka squeaker. A ʻo kekahi popoki huhū ʻole ʻole. A he pōpoki wale. A laila pono ka hale kūʻai e hoʻomākaukau i nā makana e ʻimi ai ka Market. Hoʻopuka ka hale kūʻai i kahi xml kūikawā me nā makana a kamaʻilio i ke ala i kēia xml ma o ka pilina pili. Hoʻoiho ka mea helu helu i kēia xml i kēlā me kēia manawa, nānā i nā hewa a mālama i nā ʻike āpau i loko o kahi waihona nui.

Nui nā xml i mālama ʻia. Hana ʻia kahi papa kuhikuhi huli mai kēia waihona. Mālama ʻia ka papa kuhikuhi ma ka ʻano kūloko. Ma hope o ka hana ʻana i ka index, hoʻouka ka lawelawe Layout iā ia i nā kikowaena hulina.

ʻO ka hopena, ʻike ʻia kahi pōpoki huhū me kahi squeaker i loko o ka waihona, a ʻike ʻia ka papa kuhikuhi o ka pōpoki ma ke kikowaena.

E haʻi wau iā ʻoe pehea mākou e ʻimi ai i kahi pōpoki ma ka ʻāpana e pili ana i ka hoʻolālā ʻimi.

ʻO ka huli ʻana ma ka mākeke

Noho mākou i kahi honua o nā microservices: kēlā me kēia noi komo market.yandex.ru ke kumu o ka nui o nā subqueries, a he mau haneli o nā lawelawe i komo i kā lākou hana. Hōʻike ka paʻi kiʻi i kekahi mau mea:

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena
ʻO ka papa hana noi maʻalahi

He mea kupanaha ko kēlā me kēia lawelawe - ʻo kāna mea kaulike me kahi inoa kūʻokoʻa:

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Hāʻawi ka mea kaulike iā mākou i ka maʻalahi i ka mālama ʻana i ka lawelawe: hiki iā ʻoe, no ka laʻana, hoʻopau i nā kikowaena, i koi pinepine ʻia no nā mea hou. ʻIke ka mea kaulike ʻaʻole i loaʻa ke kikowaena a hoʻihoʻi hou i nā noi i nā kikowaena ʻē aʻe a i ʻole nā ​​kikowaena data. I ka hoʻohui ʻana a i ʻole ka wehe ʻana i kahi kikowaena, hāʻawi ʻia ka ukana ma waena o nā kikowaena.

ʻAʻole pili ka inoa kūʻokoʻa o ka mea kaulike ma ke kikowaena data. Ke noi aku ka lawelawe ʻo A iā B, a laila, ma ke ʻano paʻamau, hoʻihoʻi ka mea kaulike B i ka noi i ke kikowaena ʻikepili o kēia manawa. Inā ʻaʻole i loaʻa ka lawelawe a ʻaʻole i loaʻa i ka kikowaena ʻikepili o kēia manawa, a laila hoʻihoʻi ʻia ka noi i nā kikowaena ʻikepili ʻē aʻe.

Hoʻokahi FQDN no nā kikowaena ʻikepili āpau e hiki ai i ka lawelawe A ke wehe loa mai nā wahi. E mālama mau ʻia kāna noi e lawelawe iā B. ʻO ka ʻokoʻa ka hihia ke loaʻa ka lawelawe ma nā kikowaena data āpau.

Akā ʻaʻole like nā mea āpau me kēia balancer: loaʻa iā mākou kahi mea waena. ʻAʻole paʻa paha ka mea kaulike, a ua hoʻoponopono ʻia kēia pilikia e nā kikowaena redundant. Aia kekahi lohi hou ma waena o nā lawelawe A a me B. Akā ma ka hoʻomaʻamaʻa ʻaʻole ia ma mua o 1 ms a no ka hapa nui o nā lawelawe ʻaʻole ia he koʻikoʻi.

Hana me ka mea i manaʻo ʻole ʻia: ʻimi ʻana i ka lawelawe kaulike a me ke kūpaʻa

E noʻonoʻo ʻoe aia kahi hāʻule: pono ʻoe e ʻimi i kahi pōpoki me kahi squeaker, akā hāʻule ke kikowaena. A i ʻole 100 mau kikowaena. Pehea e puka aku ai? E haʻalele maoli anei mākou i ka mea hoʻohana me ka ʻole o ka pōpoki?

He mea weliweli ke kūlana, akā ua mākaukau mākou no ia mea. E haʻi aku wau iā ʻoe ma ke ʻano.

Aia ka ʻenehana hulina ma kekahi mau kikowaena ʻikepili:

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

I ka hoʻolālā ʻana, hoʻokomo mākou i ka hiki ke pani i kahi kikowaena data. Ua piha ke ola i nā haʻalulu - no ka laʻana, hiki i ka excavator ke ʻoki i kahi kaula lalo (ʻae, ua hiki). Pono ka mana ma nā kikowaena ʻikepili i koe e kū i ka haʻawe kiʻekiʻe.

E noʻonoʻo kākou i kahi kikowaena ʻikepili hoʻokahi. Loaʻa i kēlā me kēia kikowaena ʻikepili ka hoʻolālā hana kaulike like:

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena
Hoʻokahi mea kaulike he ʻekolu mau kikowaena kino. Hana ʻia kēia redundancy no ka hilinaʻi. Holo nā mea kaulike ma HAProx.

Ua koho mākou iā HAProx ma muli o kāna hana kiʻekiʻe, nā haʻahaʻa haʻahaʻa haʻahaʻa a me nā hana ākea. Holo kā mākou polokalamu huli i loko o kēlā me kēia kikowaena.

He haʻahaʻa ka manaʻo o hoʻokahi kikowaena. Akā inā he nui kāu mau kikowaena, ʻoi aku ka nui o ka liʻiliʻi e iho i lalo.

ʻO kēia ka mea e hana maoli nei: hāʻule nā ​​​​server. No laila, pono e nānā mau i ke kūlana o nā kikowaena a pau. Inā pau ka pane ʻana o ke kikowaena, hemo ʻokoʻa ia mai ke kaʻa. No kēia kumu, loaʻa iā HAProxy kahi nānā olakino i kūkulu ʻia. Hele ia i nā kikowaena āpau i hoʻokahi kekona me kahi noi HTTP "/ ping".

ʻO kahi hiʻohiʻona ʻē aʻe o HAProxy: ʻae-check e hiki iā ʻoe ke hoʻouka like i nā kikowaena āpau. No ka hanaʻana i kēia, hoʻohuiʻo HAProxy i nā kikowaena a pau, a hoʻihoʻi lākou i ko lākou kaumaha ma muli o ka ukana o kēia manawa mai ka 1 a hiki i ka 100. Hoʻohālikelikeʻia ke kaumaha ma muli o ka helu o nā noi i ka laina no ka hanaʻana a me ka ukana ma ka mea hana.

I kēia manawa e pili ana i ka ʻimi ʻana i ka pōpoki. Nā hualoaʻa ma nā noi e like me: /search?text=huhū+pōkole. No ka wikiwiki o ka huli ʻana, pono e hoʻokomo ʻia ka helu helu pōpoki holoʻokoʻa i ka RAM. ʻAʻole wikiwiki ka heluhelu ʻana mai ka SSD.

I kekahi manawa, ua liʻiliʻi ka waihona hāʻawi, a ua lawa ka RAM o kahi kikowaena no ia. I ka ulu ʻana o ka waihona hāʻawi, ʻaʻole kūpono nā mea āpau i kēia RAM, a ua māhele ʻia ka ʻikepili i ʻelua ʻāpana: shard 1 a me shard 2.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena
Akā ke hana mau nei kēia: ʻo kēlā me kēia hoʻonā, ʻo ka maikaʻi hoʻi, e hoʻāla i nā pilikia ʻē aʻe.

Ua hele mau ka mea kaulike i kekahi kikowaena. Akā ma ka mīkini kahi i hele mai ai ka noi, aia wale nō ka hapalua o ka index. Aia ke koena ma nā kikowaena ʻē aʻe. No laila, pono ke kikowaena e hele i kekahi mīkini pili. Ma hope o ka loaʻa ʻana o ka ʻikepili mai nā kikowaena ʻelua, ua hui pū ʻia nā hopena a hoʻonohonoho hou ʻia.

Ma muli o ka hāʻawi like ʻana o ka mea kaulike i nā noi, ua komo nā kikowaena āpau i ka hoʻonohonoho hou ʻana, ʻaʻole hoʻouna wale i ka ʻikepili.

Loaʻa ka pilikia inā ʻaʻole i loaʻa kahi kikowaena pili. ʻO ka hoʻonā ka wehewehe ʻana i kekahi mau kikowaena me nā mea koʻikoʻi ma ke ʻano he kikowaena "hoa noho". ʻO ka mea mua, ua hoʻouna ʻia ka noi i nā kikowaena i ka rack o kēia manawa. Inā ʻaʻohe pane, ua hoʻouna ʻia ke noi i nā kikowaena āpau ma kēia kikowaena data. A ʻo ka hope, ua hele ka noi i nā kikowaena ʻikepili ʻē aʻe.
I ka ulu ʻana o nā noi, ua māhele ʻia ka ʻikepili i ʻehā ʻāpana. Akā ʻaʻole kēia ka palena.

I kēia manawa, hoʻohana ʻia kahi hoʻonohonoho o ʻewalu shards. Eia kekahi, no ka mālama ʻana i ka hoʻomanaʻo hou aʻe, ua māhele ʻia ka index i kahi ʻāpana hulina (i hoʻohana ʻia no ka ʻimi) a me kahi ʻāpana snippet (ʻaʻole i komo i ka ʻimi).

Loaʻa i hoʻokahi kikowaena ka ʻike no hoʻokahi shard wale nō. No laila, no ka ʻimi ʻana i ka papa kuhikuhi piha, pono ʻoe e ʻimi ma nā kikowaena ʻewalu i loaʻa nā shards like ʻole.

Hoʻopili ʻia nā kikowaena i nā pūʻulu. Loaʻa i kēlā me kēia pūʻulu ʻewalu mau ʻenekini huli a me hoʻokahi kikowaena snippet.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena
E holo ana ke kikowaena snippet i kahi waihona waiwai kī me ka ʻikepili paʻa. Pono lākou e hoʻopuka i nā palapala, no ka laʻana, kahi wehewehe o kahi pōpoki me kahi squeaker. Hoʻololi kūikawā ʻia ka ʻikepili i kahi kikowaena kaʻawale i ʻole e hoʻouka i ka hoʻomanaʻo o nā kikowaena hulina.

No ka mea ʻokoʻa nā ID palapala i loko o hoʻokahi papa kuhikuhi, hiki ke kū mai kahi kūlana inā ʻaʻohe palapala i loko o nā snippet. ʻAe, a i ʻole no ka ID hoʻokahi e loaʻa nā ʻike ʻokoʻa. No laila, i mea e hana ai ka ʻimi a hoʻihoʻi ʻia mai nā hopena, pono ke kūpaʻa ma waena o ka pūʻulu holoʻokoʻa. E haʻi wau iā ʻoe ma lalo pehea mākou e nānā ai i ka kūlike.

Hoʻonohonoho ʻia ka ʻimi ponoʻī e like me kēia: hiki ke hele mai kahi noi huli i kekahi o nā kikowaena ʻewalu. E ʻōlelo kākou ua hele mai ʻo ia i ke kikowaena 1. Hoʻoponopono kēia kikowaena i nā hoʻopaʻapaʻa āpau a maopopo i ka mea a pehea e ʻimi ai. Ma muli o ka noi e hiki mai ana, hiki i ke kikowaena ke hana i nā noi hou aku i nā lawelawe waho no ka ʻike pono. Hiki ke hahai ʻia kahi noi a hiki i ka ʻumi noi i nā lawelawe o waho.

Ma hope o ka hōʻiliʻili ʻana i ka ʻike e pono ai, hoʻomaka kahi hulina ma ka waihona hāʻawi. No ka hana ʻana i kēia, hana ʻia nā subqueries i nā kikowaena ʻewalu o ka pūʻulu.

Ke loaʻa nā pane, hoʻohui ʻia nā hopena. I ka hopena, pono paha kekahi mau subqueries i ke kikowaena snippet e hoʻopuka i nā hopena.

Nā nīnau hulina i loko o ka pūʻulu me he mea lā: /shard1?text=huhū+pōkole. Eia kekahi, hana mau ʻia nā subqueries o ke ʻano ma waena o nā kikowaena āpau i loko o ka puʻupuʻu i hoʻokahi kekona: / kūlana.

Noi / kūlana ʻike i kahi kūlana i loaʻa ʻole ke kikowaena.

Hoʻoholo pū ʻo ia i ka like ʻana o ka ʻenekini hulina a me ka mana kuhikuhi ma nā kikowaena āpau, i ʻole e loaʻa nā ʻikepili like ʻole i loko o ka pūʻulu.

ʻOiai ke kaʻina ʻana o kahi kikowaena snippet i nā noi mai ʻewalu mau ʻenekini huli, ua māmā loa ka hoʻouka ʻana o kāna mea hana. No laila, ke hoʻololi nei mākou i ka ʻikepili snippet i kahi lawelawe ʻokoʻa.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

No ka hoʻoili ʻana i ka ʻikepili, ua hoʻokomo mākou i nā kī āpau no nā palapala. I kēia manawa ʻaʻole hiki ke hoʻihoʻi ʻia ka ʻike mai kahi palapala ʻē aʻe me ka hoʻohana ʻana i hoʻokahi kī.

Akā ʻaʻole i paʻa ka hoʻololi ʻana i kahi hale hana ʻē aʻe. I kēia manawa makemake mākou e kāpae i ka kikowaena snippet i hoʻolaʻa ʻia. A laila e neʻe loa mai ka hui pūʻulu. E ʻae kēia iā mākou e hoʻomau i ka maʻalahi. ʻO kahi bonus hou he mālama hao nui.

A i kēia manawa i nā moʻolelo weliweli me nā hopena hauʻoli. E noʻonoʻo kākou i kekahi mau hihia o ka loaʻa ʻole o ke kikowaena.

Ua hiki mai kekahi mea weliweli: ʻaʻole i loaʻa kahi kikowaena

E ʻōlelo kākou ʻaʻole loaʻa kahi kikowaena. A laila hiki ke hoʻomau i ka pane ʻana o nā kikowaena i koe i ka hui, akā ʻaʻole i pau nā hopena hulina.

Ma o ka nānā kūlana / kūlana Hoʻomaopopo nā kikowaena pili ʻaʻole i loaʻa kekahi. No laila, no ka mālama ʻana i ka hoʻopiha piha ʻana, nā kikowaena āpau i ka pūʻulu no kēlā me kēia noi /ping hoʻomaka lākou e pane i ka mea kaulike ʻaʻole lākou i loaʻa. Ua ʻike ʻia ua make nā kikowaena a pau o ka pūpū (ʻaʻole ʻoiaʻiʻo). ʻO kēia ke kumu hoʻihoʻi nui o kā mākou cluster scheme - ʻo ia ke kumu e makemake ai mākou e haʻalele.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Hoʻopiʻi ʻia nā noi i hāʻule me ka hewa e ka mea kaulike ma nā kikowaena ʻē aʻe.
Hoʻopau ka mea kaulike i ka hoʻouna ʻana i nā mea hoʻohana i nā kikowaena make, akā hoʻomau ka nānā ʻana i ko lākou kūlana.

Ke loaʻa ka kikowaena, hoʻomaka ia e pane i /ping. Ke hoʻomaka nei nā pane maʻamau i nā pings mai nā kikowaena make, hoʻomaka nā mea kaulike e hoʻouna i nā mea hoʻohana ma laila. Hoʻihoʻi hou ʻia ka hana pūʻulu, hurray.

ʻOi aku ka hewa: ʻaʻole i loaʻa nā kikowaena he nui

Ua ʻoki ʻia kahi hapa nui o nā kikowaena ma ka kikowaena data. He aha ka hana, ma hea kahi e holo ai? Hele hou ka mea kaulike e hoʻopakele. Ke mālama mau nei kēlā me kēia mea kaulike i ka helu o nā kikowaena ola i kēia manawa. Heluhelu mau ia i ka nui loa o nā kaʻa i hiki i ke kikowaena ʻikepili o kēia manawa ke hana.

Ke iho nei nā kikowaena he nui i kahi kikowaena data, ʻike ka mea kaulike ʻaʻole hiki i kēia kikowaena data ke hoʻoponopono i nā kaʻa āpau.

A laila, hoʻomaka ke kaʻa kaʻa e kaʻana like ʻole i nā kikowaena ʻikepili ʻē aʻe. Hana nā mea a pau, hauʻoli nā mea a pau.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Pehea mākou e hana ai: hoʻopuka i nā hoʻokuʻu

I kēia manawa e kamaʻilio mākou e pili ana i ka hoʻolaha ʻana i nā loli i hana ʻia i ka lawelawe. Ma ʻaneʻi ua lawe mākou i ke ala o ka hoʻomaʻamaʻa ʻana i nā kaʻina hana: ʻo ka ʻōwili ʻana i kahi hoʻokuʻu hou ua aneane ʻokoʻa loa.
Ke hōʻiliʻili ʻia kahi helu o nā hoʻololi i ka papahana, hana ʻia kahi hoʻokuʻu hou a hoʻomaka kāna kūkulu ʻana.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

A laila ua ʻōwili ʻia ka lawelawe i ka hoʻāʻo ʻana, kahi e nānā ʻia ai ke kūpaʻa o ka hana.

I ka manawa like, hoʻomaka ʻia ka hoʻāʻo ʻana i ka hana maʻalahi. Hanaʻia kēia e kahi lawelawe kūikawā. ʻAʻole wau e kamaʻilio e pili ana i kēia manawa - kūpono kāna wehewehe ʻana i kahi ʻatikala kaʻawale.

Inā kūleʻa ka paʻi ʻana i ka hoʻāʻo ʻana, hoʻomaka ʻia ka hoʻolaha ʻana o ka hoʻokuʻu ʻana ma prestable. ʻO Prestable kahi puʻupuʻu kūikawā kahi e kuhikuhi ʻia ai nā mea hoʻohana maʻamau. Inā hoʻihoʻi ia i kahi hewa, hana ka mea kaulike i kahi noi hou i ka hana.

Ma prestable, ana ʻia nā manawa pane a hoʻohālikelike ʻia me ka hoʻokuʻu mua ʻana i ka hana. Inā maikaʻi nā mea a pau, a laila hoʻopili ke kanaka: nānā i nā kiʻi a me nā hopena o ka hoʻāʻo hoʻouka a laila hoʻomaka i ka holo ʻana i ka hana.

Loaʻa nā mea maikaʻi a pau i ka mea hoʻohana: hoʻāʻo A/B

ʻAʻole maopopo i nā manawa a pau inā e lawe mai nā hoʻololi i kahi lawelawe i nā pono maoli. No ke ana ʻana i ka pono o nā loli, ua hele mai nā kānaka me ka hoʻāʻo A/B. E haʻi iki wau iā ʻoe e pili ana i ka hana ʻana ma Yandex.Market hulina.

Hoʻomaka ia me ka hoʻohui ʻana i kahi ʻāpana CGI hou e hiki ai i nā hana hou. E waiho i kā mākou parameter: market_new_functionality=1. A laila ma ke code hiki iā mākou ke hana i kēia hana inā aia ka hae:

If (cgi.experiments.market_new_functionality) {
// enable new functionality
}

Hoʻopuka ʻia nā hana hou i ka hana.

No ka hoʻokaʻawale ʻana i ka hoʻāʻo A/B, aia kahi lawelawe hoʻolaʻa e hāʻawi i ka ʻike kikoʻī wehewehe ʻia ma ʻaneʻi. Hana ʻia kahi hoʻokolohua ma ka lawelawe. Hoʻonohonoho ʻia ka māhele kaʻa, no ka laʻana, 15%. Hoʻonohonoho ʻia nā pākēneka no nā nīnau, akā no nā mea hoʻohana. Hōʻike ʻia ka lōʻihi o ka hoʻokolohua, no ka laʻana, hoʻokahi pule.

Hiki ke holo like kekahi mau hoʻokolohua. Ma nā hoʻonohonoho hiki iā ʻoe ke kuhikuhi inā hiki ke hui pū me nā hoʻokolohua ʻē aʻe.

ʻO ka hopena, hoʻohui aunoa ka lawelawe i kahi hoʻopaʻapaʻa market_new_functionality=1 i ka 15% o nā mea hoʻohana. Hoʻohelu ʻakomi ʻo ia i nā metric i koho ʻia. Ma hope o ka pau ʻana o ka hoʻokolohua, nānā nā mea loiloi i nā hopena a huki i nā hopena. Ma muli o nā ʻike, ua hoʻoholo ʻia e holo i ka hana a i ʻole ka hoʻomaʻemaʻe.

Ka lima deft o ka mākeke: hoʻāʻo i ka hana

Pono pinepine ʻoe e hoʻāʻo i ka hana o kahi hana hou i ka hana ʻana, akā ʻaʻole maopopo ʻoe pehea e hana ai i nā kūlana "hakakā" ma lalo o ka ukana kaumaha.

Aia kahi hoʻonā: hiki ke hoʻohana ʻia nā hae ma nā ʻāpana CGI ʻaʻole wale no ka hoʻāʻo A / B, akā no ka hoʻāʻo ʻana i nā hana hou.

Hana mākou i kahi mea hana e hiki ai iā ʻoe ke hoʻololi koke i ka hoʻonohonoho ʻana ma nā kaukani o nā kikowaena me ka ʻole o ka wehe ʻana i ka lawelawe i nā pilikia. Kapa ʻia ʻo Stop Tap. ʻO ka manaʻo kumu e hiki ke hoʻopau koke i kekahi mau hana me ka ʻole o kahi hoʻolālā. A laila ua hoʻonui a paʻakikī ka mea hana.

Hōʻike ʻia ke kiʻi holo lawelawe ma lalo nei:

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Hoʻonohonoho ʻia nā waiwai hae ma o ka API. Mālama ka lawelawe hoʻokele i kēia mau waiwai i ka waihona. Hele nā ​​kikowaena āpau i ka waihona i hoʻokahi manawa i kēlā me kēia ʻumi kekona, e puhi i nā waiwai hae a hoʻopili i kēia mau waiwai i kēlā me kēia noi.

Ma ke kaomi Stop hiki iā ʻoe ke hoʻonohonoho i ʻelua ʻano waiwai:

1) Nā ʻōlelo kūlana. E noi inā ʻoiaʻiʻo kekahi o nā waiwai. ʻo kahi laʻana:

{
	"condition":"IS_DC1",
	"value":"3",
}, 
{
	"condition": "CLUSTER==2 and IS_BERU", 
	"value": "4!" 
}

E hoʻohana ʻia ka waiwai "3" ke hana ʻia ka noi ma kahi DC1. A ʻo ka waiwai ʻo "4" i ka wā e hana ʻia ai ka noi ma ka hui lua no ka pūnaewele beru.ru.

2) Nā waiwai kūʻokoʻa. E noi ma ka paʻamau inā ʻaʻole i hoʻokō ʻia kekahi o nā kūlana. ʻo kahi laʻana:

waiwai, waiwai!

Inā hoʻopau ʻia kahi waiwai me kahi kikoʻī, hāʻawi ʻia ia i ka mea nui.

Hoʻopili ka parser parameter CGI i ka URL. A laila pili i nā waiwai mai ka Stop Tap.

Hoʻohana ʻia nā waiwai me nā mea mua:

  1. Me ka hoʻonui nui ʻana mai ka Stop Tap (exclamation mark).
  2. Ka waiwai mai ka noi.
  3. Waiwai paʻamau mai Stop tap.
  4. Waiwai paʻamau ma ke code.

Nui nā hae i hōʻike ʻia i nā waiwai kūlana - lawa lākou no nā hiʻohiʻona āpau i ʻike ʻia e mākou:

  • Ke kikowaena ʻikepili.
  • Kaiapuni: hana, ho'āʻo, aka.
  • Wahi: market, beru.
  • Helu hui.

Me kēia mea hana, hiki iā ʻoe ke hoʻohana i nā hana hou ma kekahi pūʻulu o nā kikowaena (no ka laʻana, i hoʻokahi wale nō kikowaena data) a hoʻāʻo i ka hana o kēia hana me ka ʻole o ka pilikia i ka lawelawe holoʻokoʻa. ʻOiai inā ua hana hewa ʻoe ma kahi, ua hoʻomaka nā mea āpau e hāʻule a ua iho ka kikowaena data holoʻokoʻa, e hoʻihoʻi hou nā mea kaulike i nā noi i nā kikowaena data ʻē aʻe. ʻAʻole ʻike nā mea hoʻohana hope i kekahi mea.

Inā ʻike ʻoe i kahi pilikia, hiki iā ʻoe ke hoʻihoʻi koke i ka hae i kona waiwai mua a e ʻōwili ʻia nā hoʻololi.

Loaʻa i kēia lawelawe nā mea haʻahaʻa: makemake nui nā mea hoʻomohala a hoʻāʻo pinepine e hoʻohuli i nā loli āpau i ka Stop Tap. Ke hoʻāʻo nei mākou e pale i ka hoʻohana hewa ʻana.

Hana maikaʻi ke ala Stop Tap inā loaʻa iā ʻoe nā code paʻa i mākaukau e ʻōwili ʻia i ka hana. I ka manawa like, ke kānalua nei ʻoe, a makemake ʻoe e nānā i ke code i nā kūlana "kaua".

Akā naʻe, ʻaʻole kūpono ʻo Stop Tap no ka hoʻāʻo ʻana i ka wā hoʻomohala. Aia kahi hui kaʻawale no nā mea hoʻomohala, i kapa ʻia ʻo "shadow cluster".

ʻO ka hoʻāʻo huna: Shadow Cluster

Hoʻopili ʻia nā noi mai kekahi o nā pūʻulu i ka pūʻulu aka. Akā ʻaʻole ʻike ka mea kaulike i nā pane mai kēia pūʻulu. Hōʻike ʻia ke kiʻikuhi o kāna hana ma lalo nei.

Pehea e hana ai ʻo Yandex.Market hulina a he aha ka hopena inā hāʻule kekahi o nā kikowaena

Loaʻa iā mākou kahi pūʻulu hoʻāʻo i loko o nā kūlana "hakakā" maoli. Hele nā ​​mea hoʻohana maʻamau i laila. Hoʻokahi like ka lako o nā pūʻulu ʻelua, no laila hiki ke hoʻohālikelike ʻia ka hana a me nā hewa.

A ma muli o ka nānā ʻole ʻana o ka mea kaulike i nā pane, ʻaʻole ʻike nā mea hoʻohana hope i nā pane mai ka puʻupuʻu aka. No laila, ʻaʻole makaʻu ke hana hewa.

haʻina

No laila, pehea mākou i kūkulu ai i ka ʻimi Market?

I mea e holo mālie ai nā mea a pau, hoʻokaʻawale mākou i nā hana i nā lawelawe ʻokoʻa. Ma kēia ala hiki iā mākou ke hoʻonui i nā mea pono a maʻalahi i nā ʻāpana. He mea maʻalahi ka hāʻawi ʻana i kahi ʻāpana ʻokoʻa i kahi hui ʻē aʻe a kaʻana like i nā kuleana no ka hana ʻana. A ʻo ka mālama nui ʻana i ka hao me kēia ala he mea ʻoi aku ka maikaʻi.

Kōkua pū ka puʻupuʻu aka iā mākou: hiki iā mākou ke hoʻomohala i nā lawelawe, hoʻāʻo iā lākou i ke kaʻina hana a ʻaʻole hoʻopilikia i ka mea hoʻohana.

ʻAe, hoʻāʻo i ka hana ʻana, ʻoiaʻiʻo. Pono e hoʻololi i ka hoʻonohonoho ma nā kaukani mau kikowaena? E maʻalahi, e hoʻohana i ka Stop Tap. Ma kēia ala hiki iā ʻoe ke ʻōwili koke i kahi hoʻonā paʻakikī i hoʻomākaukau ʻia a ʻōwili hou i kahi mana paʻa inā e kū mai nā pilikia.

Manaʻo wau ua hiki iaʻu ke hōʻike i ke ʻano o kā mākou hana wikiwiki a paʻa i ka Market me kahi kumu ulu mau o nā makana. Pehea mākou e hoʻoponopono ai i nā pilikia server, e hana me ka nui o nā noi, e hoʻomaikaʻi i ka maʻalahi o ka lawelawe a hana i kēia me ka ʻole o ka hoʻopau ʻana i nā kaʻina hana.

Source: www.habr.com

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