Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Mai ka kiʻiʻoniʻoni "Our Secret Universe: The Hidden Life of the Cell"

ʻO ka ʻoihana hoʻopukapuka ʻo ia kekahi o nā wahi paʻakikī loa i ka honua panakō, no ka mea, ʻaʻole wale nā ​​​​hōʻaiʻē, nā hōʻaiʻē a me nā waihona, akā, nā securities, nā kālā, nā waiwai, nā derivatives a me nā ʻano paʻakikī āpau i ke ʻano o nā huahana i kūkulu ʻia.

I kēia mau lā, ua ʻike mākou i ka piʻi ʻana o ka ʻike kālā o ka lehulehu. ʻOi aku ka nui o nā poʻe e komo i ke kālepa ʻana i nā mākeke palekana. ʻAʻole i lōʻihi ka manawa i ʻike ʻia ai nā moʻokāki hoʻopukapuka hoʻokahi. Hāʻawi lākou iā ʻoe e kālepa i nā mākeke palekana a loaʻa i nā ʻauhau ʻauhau a i ʻole e ʻae i ka uku ʻauhau. A makemake nā mea kūʻai aku e hele mai iā mākou e hoʻokele i kā lākou kōpili a ʻike i ka hōʻike ʻana i ka manawa maoli. Eia kekahi, ʻo ka hapa nui o kēia kōpili he mau huahana, ʻo ia hoʻi, he poʻe mea kūʻai aku o nā laina ʻoihana like ʻole.

Eia kekahi, ke ulu nei nā pono o nā regulators, ʻo Rūsia a me nā haole.

No ka hoʻokō ʻana i nā pono o kēia manawa a kau i ke kumu no ka hoʻomaikaʻi ʻana i ka wā e hiki mai ana, ua kūkulu mākou i kahi ʻoihana ʻoihana waiwai e pili ana iā Tarantool.

Kekahi mau helu. Hāʻawi ka ʻoihana hoʻopukapuka Alfa-Bank i nā lawelawe brokerage no nā poʻe a me nā hui kānāwai e hāʻawi i ka manawa e kūʻai aku ai ma nā mākeke palekana like ʻole, nā lawelawe waihona kālā no ka mālama ʻana i nā securities, nā lawelawe hoʻokele hilinaʻi no nā poʻe me ke kālā pilikino a nui, nā lawelawe no ka hoʻopuka ʻana i nā securities no nā ʻoihana ʻē aʻe. . ʻO ka ʻoihana hoʻopukapuka kālā ʻo Alfa-Bank ʻoi aku ma mua o 3 tausani mau ʻōlelo i kēlā me kēia kekona, i hoʻoiho ʻia mai nā kahua kālepa like ʻole. I ka lā hana, ʻoi aku ma mua o 300 tausani mau hana i hoʻopau ʻia ma nā mākeke ma ka inoa o ka panakō a i ʻole nā ​​​​mea kūʻai aku. Aia a hiki i ka 5 tausani kauoha hoʻokō i kēlā me kēia kekona ma nā kahua waho a me loko. I ka manawa like, makemake nā mea kūʻai aku a pau, i loko a me waho, e ʻike i ko lākou kūlana i ka manawa maoli.

prehistory

Ma kahi o ka hoʻomaka ʻana o nā makahiki 2000, ua hoʻomohala kūʻokoʻa kā mākou mau wahi o ka ʻoihana hoʻopukapuka: kālepa hoʻololi, nā lawelawe brokerage, kālepa kālā, kūʻai kūʻai ma luna o ka ʻoihana i nā securities a me nā derivatives like ʻole. ʻO ka hopena, ua hāʻule mākou i loko o ka pahele o nā pūnāwai hana. He aha ia? Loaʻa i kēlā me kēia laina o ka ʻoihana kona mau ʻōnaehana ponoʻī e hoʻohālikelike i nā hana a kekahi. Loaʻa i kēlā me kēia ʻōnaehana kāna hiʻohiʻona ʻikepili ponoʻī, ʻoiai ke hana nei lākou me nā manaʻo like: nā hana, nā mea hana, nā mea kūʻai aku, nā huaʻōlelo, a pēlā aku. A i ka ulu kūʻokoʻa ʻana o kēlā me kēia ʻōnaehana, ua puka mai kahi zoo o nā ʻenehana.

Eia kekahi, ua kahiko loa ke kumu code o nā ʻōnaehana, no ka mea, ua hoʻomaka kekahi mau huahana i ka waena o 1990s. A ma kekahi mau wahi, ua lohi kēia i ke kaʻina hana, a aia nā pilikia hana.

Nā koi no ka hoʻonā hou

Ua ʻike nā ʻoihana he mea nui ka hoʻololi ʻenehana no ka hoʻomohala hou ʻana. Hāʻawi ʻia iā mākou nā hana:

  1. E hōʻiliʻili i nā ʻikepili pāʻoihana a pau i kahi mālama hoʻokahi, wikiwiki a i hoʻokahi kumu hoʻohālike.
  2. ʻAʻole pono mākou e nalowale a hoʻololi paha i kēia ʻike.
  3. Pono e hoʻololi i ka ʻikepili, no ka mea i kēlā me kēia manawa ke noi aku ka mea hoʻoponopono i nā helu no nā makahiki i hala.
  4. ʻAʻole pono mākou e lawe mai i kahi DBMS hou, akā hana i kahi kahua no ka hoʻoponopono ʻana i nā pilikia ʻoihana.

Eia kekahi, ua hoʻonohonoho kā mākou mea kākau i kā lākou mau kūlana:

  1. ʻO ka hoʻonā hou he ʻoihana-papa, ʻo ia hoʻi, pono e hoʻāʻo ʻia i kekahi mau ʻoihana nui.
  2. Pono ke ʻano hana o ka hoʻonā e koʻikoʻi. 'O ia ho'i, pono mākou e noho ma kekahi mau kikowaena 'ikepili i ka manawa like a me ka noho mālie i ka pau 'ana o ho'okahi kikowaena data.
  3. Pono e hoʻonui ʻia ka ʻōnaehana. ʻO ka ʻoiaʻiʻo, ʻo kā mākou ʻōnaehana āpau i kēia manawa he scalable wale nō, a ke pā nei mākou i ke kaupaku ma muli o ka ulu haʻahaʻa o ka mana lako. No laila, ua hiki mai ka manawa e pono ai mākou e loaʻa kahi ʻōnaehana hiki ke hoʻonui ʻia e ola ai.
  4. Ma waena o nā mea ʻē aʻe, ua haʻi ʻia iā mākou he mea maʻalahi ka hopena.

Ua hahai mākou i ke ala maʻamau: ua hoʻokumu mākou i nā koi a hoʻopili i ke keʻena kūʻai. Mai laila mai ua loaʻa iā mākou kahi papa inoa o nā hui i mākaukau e hana i kēia no mākou. Ua haʻi mākou i nā mea a pau e pili ana i ka pilikia, a loaʻa iā mākou kahi loiloi o nā hoʻonā mai ʻeono o lākou.

Ma ka panakō, ʻaʻole mākou e lawe i ka ʻōlelo a kekahi; makemake mākou e hoʻāʻo i nā mea āpau iā mākou iho. No laila, ʻo ke ʻano koi o kā mākou hoʻokūkū ʻoluʻolu e hele i nā hoʻāʻo ukana. Ua hoʻokumu mākou i nā hana hoʻāʻo hoʻouka, a ua ʻae ʻekolu o nā hui ʻeono e hoʻokō i kahi hoʻonā prototype e pili ana i nā ʻenehana hoʻomanaʻo i kā lākou uku ponoʻī e hoʻāʻo ai.

ʻAʻole wau e haʻi iā ʻoe pehea mākou i hoʻāʻo ai i nā mea āpau a pehea ka lōʻihi o ka lawe ʻana, e hōʻuluʻulu wale wau: ʻo ka hana maikaʻi loa i nā hoʻokolohua hoʻouka i hōʻike ʻia e kahi prototype solution e pili ana iā Tarantool mai ka hui hoʻomohala Mail.ru Group. Ua pūlima mākou i kahi ʻaelike a hoʻomaka i ka hoʻomohala ʻana. ʻEhā poʻe mai ka Pūʻulu Mail.ru, a mai Alfa-Bank he ʻekolu mau mea hoʻomohala, ʻekolu mea loiloi ʻōnaehana, kahi mea hoʻolālā hoʻonā, kahi mea kūʻai huahana a me kahi haku Scrum.

A laila e haʻi wau iā ʻoe e pili ana i ka ulu ʻana o kā mākou ʻōnaehana, pehea i ulu ai, nā mea a mākou i hana ai a no ke aha kēia.

Ka hoʻolālā

ʻO ka nīnau mua a mākou i nīnau ai iā mākou iho pehea e loaʻa ai ka ʻikepili mai kā mākou ʻōnaehana o kēia manawa. Ua hoʻoholo mākou he kūpono loa ka HTTP no mākou, no ka mea, ke kamaʻilio nei nā ʻōnaehana o kēia manawa me ka hoʻouna ʻana iā XML a i ʻole JSON ma HTTP.

Hoʻohana mākou i ka server HTTP i kūkulu ʻia i Tarantool no ka mea ʻaʻole pono mākou e hoʻopau i nā kau SSL, a ua lawa kāna hana iā mākou.

E like me kaʻu i ʻōlelo ai, ola kā mākou ʻōnaehana āpau i nā ʻano hoʻohālike ʻikepili like ʻole, a ma ka hoʻokomo pono mākou e lawe i ka mea i ke kumu hoʻohālike a mākou e wehewehe nei iā mākou iho. Pono ka ʻōlelo e hiki ai ke hoʻololi i ka ʻikepili. Ua koho mākou iā Lua imperative. Holo mākou i nā code hoʻololi ʻikepili a pau i loko o kahi pahu one - he wahi palekana kēia ma waho aʻe o ka hele ʻole ʻana o ke code holo. No ka hana ʻana i kēia, hoʻouka wale mākou i ke code i koi ʻia, e hana ana i kahi kaiapuni me nā hana ʻaʻole hiki ke pale a hāʻule i kekahi mea.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Ma hope o ka hoʻololi ʻana, pono e nānā ʻia ka ʻikepili no ka hoʻokō ʻana i ke kumu hoʻohālike a mākou e hana nei. Ua kūkākūkā mākou no ka manawa lōʻihi i ke ʻano o ke kumu hoʻohālike a me ka ʻōlelo e hoʻohana ai e wehewehe ai. Ua koho mākou iā Apache Avro no ka mea maʻalahi ka ʻōlelo a loaʻa ke kākoʻo mai Tarantool. Hiki ke hoʻohana ʻia nā mana hou o ke kumu hoʻohālike a me nā code maʻamau i nā manawa he nui i ka lā, ʻoiai ma lalo o ka ukana a i ʻole, i kēlā me kēia manawa o ka lā, a hiki ke hoʻololi koke i nā loli.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Ma hope o ka hōʻoia ʻana, pono e mālama ʻia ka ʻikepili. Hana mākou i kēia me ka hoʻohana ʻana iā vshard (ua loaʻa iā mākou nā replicas geo-dispersed o shards).

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Eia kekahi, ʻo ka kikoʻī ʻo ia ka hapa nui o nā ʻōnaehana e hoʻouna mai iā mākou i ka ʻikepili ʻaʻole mālama iā mākou inā loaʻa iā mākou a ʻaʻole paha. ʻO ia ke kumu i hoʻokō ai mākou i kahi laina hoʻoponopono mai ka hoʻomaka. He aha ia? Inā no kekahi kumu, ʻaʻole i hoʻololi ʻia ka ʻikepili a i ʻole ka hōʻoia ʻana, ke hōʻoia nei mākou i ka loaʻa ʻana, akā i ka manawa like e mālama i ka mea i ka laina hoʻoponopono. Kūlike ia a loaʻa i loko o ka waihona ʻikepili ʻoihana nui. Ua kākau koke mākou i kahi kikowaena luna hoʻomalu no ia, nā ana like ʻole a me nā makaʻala. ʻO ka hopena, ʻaʻole mākou e nalowale i ka ʻikepili. ʻOiai inā ua loli kekahi mea i ke kumu, inā ua loli ke ʻano o ka ʻikepili, e ʻike koke mākou a hiki ke hoʻololi.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
I kēia manawa pono ʻoe e aʻo pehea e kiʻi ai i ka ʻikepili i mālama ʻia. Hoʻopili pono mākou i kā mākou mau ʻōnaehana a ʻike i ka waihona maʻamau o Java a me Oracle pono e loaʻa kekahi ʻano ORM e hoʻololi i ka ʻikepili mai ka pilina i ka mea. No laila no ke aha e hāʻawi koke ʻole ai i nā mea i nā ʻōnaehana ma ke ʻano o ka pakuhi? No laila ua hauʻoli mākou i ka GraphQL, i hoʻokō i kā mākou pono āpau. Hāʻawi ia iā ʻoe e loaʻa ka ʻikepili ma ke ʻano o nā kiʻi a huki wale i kāu mea e pono ai i kēia manawa. Hiki iā ʻoe ke hoʻololi i ka API me ka nui o ka maʻalahi.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Aneane koke mākou ʻike ʻaʻole lawa ka ʻikepili a mākou e unuhi nei. Ua hana mākou i nā hana i hiki ke hoʻopili ʻia i nā mea i loko o ke kumu hoʻohālike - ʻo ka mea nui, nā māla helu. ʻO ia hoʻi, hoʻopili mākou i kahi hana i ke kahua, kahi, no ka laʻana, helu i ke kumu kūʻai maʻamau. A ʻo ka mea kūʻai aku o waho e noi ana i ka ʻikepili ʻaʻole ʻike ʻo ia he kahua helu.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Hoʻokō ʻia kahi ʻōnaehana hōʻoia.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
A laila, ʻike mākou i kekahi mau kuleana i crystallized i kā mākou hoʻoholo. ʻO kahi kuleana he ʻano hoʻohui o nā hana. ʻO ka mea maʻamau, loaʻa nā ʻano hana like ʻole o ka hoʻohana ʻana i nā mea hana:

  • T-Connect: mālama i nā pilina e komo mai ana, ka palena o ka CPU, ka hoʻohana haʻahaʻa hoʻomanaʻo, stateless.
  • IB-Core: hoʻololi i ka ʻikepili i loaʻa iā ia ma o ka protocol Tarantool, ʻo ia hoʻi, hana ia me nā papa. ʻAʻole ia e mālama i ka mokuʻāina a hiki ke scalable.
  • Waihona: mālama wale i ka ʻikepili, ʻaʻole hoʻohana i kekahi loiloi. Hoʻohana kēia kuleana i nā mea maʻalahi loa. Mahalo nui iā vshard.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
ʻO ia hoʻi, me ka hoʻohana ʻana i nā kuleana, ua hoʻokaʻawale mākou i nā ʻāpana like ʻole o ka puʻupuʻu mai kekahi i kekahi, hiki ke hoʻonui ʻia i kēlā me kēia.

No laila, ua hana mākou i ka hoʻopaʻa ʻana i ka kahe data transactional asynchronous a me kahi laina hoʻoponopono me kahi interface admin. ʻAʻole like ka hoʻopaʻa ʻana mai kahi ʻoihana ʻoihana: inā e hōʻoiaʻiʻo ʻia mākou e kākau i ka ʻikepili iā mākou iho, ʻaʻohe wahi, a laila e hōʻoia mākou. Inā ʻaʻole i hōʻoia ʻia, a laila ua hewa kekahi mea a pono e hoʻouna ʻia ka ʻikepili. ʻO kēia ka hoʻopaʻa ʻana asynchronous.

Hoʻoponopono

Mai ka hoʻomaka ʻana o ka papahana, ua hoʻoholo mākou e hoʻāʻo e hoʻokō i ka hoʻomohala hoʻāʻo ʻia. Kākau mākou i nā hoʻāʻo ʻāpana ma Lua me ka hoʻohana ʻana i ka tarantool/tap framework, a me nā hoʻāʻo hoʻohui ʻana ma Python me ka hoʻohana ʻana i ka pytest framework. Ma ka manawa like, hoʻokomo mākou i nā mea hoʻomohala a me nā mea loiloi i ke kākau ʻana i nā hoʻokolohua hoʻohui.

Pehea mākou e hoʻohana ai i ka hoʻomohala hoʻāʻo ʻia?

Inā makemake mākou i kahi hiʻohiʻona hou, hoʻāʻo mākou e kākau mua i kahi hoʻāʻo. Ke ʻike mākou i kahi bug, ʻike mākou e kākau mua i kahi hōʻike, a laila hoʻoponopono wale. I ka wā mua he mea paʻakikī ke hana e like me kēia, aia ke kuhi hewa ʻana ma ka ʻaoʻao o nā limahana, ʻo ka sabotage: "E hoʻoponopono koke i kēia manawa, e hana i kahi mea hou, a laila uhi ʻia me nā hoʻāʻo." ʻAʻole hiki mai kēia "ma hope" wale nō.

No laila, pono ʻoe e hoʻoikaika iā ʻoe iho e kākau mua i nā hoʻokolohua a noi i nā poʻe ʻē aʻe e hana. E manaʻoʻiʻo mai iaʻu, ʻo ka hoʻomohala ʻana i ka hoʻāʻo e lawe mai i nā pōmaikaʻi ʻoiai i ka wā pōkole. E manaʻo ʻoe ua maʻalahi kou ola. Manaʻo mākou ua uhi ʻia ka 99% o ke code e nā hoʻokolohua. Me he mea lā he nui kēia, akā ʻaʻohe o mākou pilikia: holo nā hoʻokolohua ma kēlā me kēia hana.

Eia naʻe, ʻo ka mea a mākou e makemake nui ai ʻo ia ka hoʻāʻo ʻana i ka ukana; manaʻo mākou he mea nui loa ia a hoʻokō mau.

E haʻi wau iā ʻoe i kahi moʻolelo liʻiliʻi e pili ana i kā mākou hana ʻana i ka pae mua o ka hoʻāʻo ʻana o kekahi o nā mana mua. Hoʻokomo mākou i ka ʻōnaehana ma ka pona o ka mea hoʻomohala, hoʻohuli i ka ukana a loaʻa iā 4 tausani mau hana i kēlā me kēia kekona. He hopena maikaʻi no ka pona. Ua hoʻokomo mākou iā ia ma luna o kahi papa haʻahaʻa virtual o ʻehā mau kikowaena, nāwaliwali ma mua o ka hana ʻana. Hoʻolālā ʻia i ka liʻiliʻi. Holo mākou iā ia, a loaʻa iā mākou ka hopena ʻoi aku ka maikaʻi ma mua o ka pona ma ka pae hoʻokahi. Maʻiʻo haʻalulu.

Ua kaumaha loa mākou. Ke nānā nei mākou i ka ukana kikowaena, akā ua ʻike ʻia ua hana ʻole lākou.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Kāhea mākou i nā mea hoʻomohala, a wehewehe lākou iā mākou, nā poʻe i hele mai i ka honua o Java, ʻo Tarantool he kaula hoʻokahi. Hiki ke hoʻohana maikaʻi ʻia e hoʻokahi kaʻina hana ma lalo o ka ukana. A laila ua kau mākou i ka helu kiʻekiʻe loa o nā hiʻohiʻona Tarantool ma kēlā me kēia kikowaena, hoʻohuli i ka ukana a loaʻa iā 14,5 tausani mau hana i kēlā me kēia kekona.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
E wehewehe hou wau. Ma muli o ka hoʻokaʻawale ʻana i nā kuleana e hoʻohana ʻokoʻa i nā kumuwaiwai, ʻo kā mākou kuleana ke kuleana no ka hoʻoponopono ʻana i nā pilina a me ka hoʻololi ʻana o ka ʻikepili i hoʻouka wale ʻia i ka mea hana, a pili pono i ka ukana.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
I kēia hihia, ua hoʻohana wale ʻia ka hoʻomanaʻo no ka hoʻoponopono ʻana i nā pilina komo a me nā mea manawa.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
ʻO ka mea ʻē aʻe, ma nā kikowaena mālama, ua hoʻonui ʻia ka ukana o ka mea hana, akā ʻoi aku ka lohi ma mua o nā kikowaena e hoʻokele i nā pilina.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
A ua ulu ka hoʻohana ʻana i ka hoʻomanaʻo i ka nui o ka ʻikepili i hoʻouka ʻia.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool

Nā lawelawe

No ka hoʻomohala ʻana i kā mākou huahana hou ma ke ʻano he kahua noi, ua hana mākou i kahi ʻāpana no ka hoʻokau ʻana i nā lawelawe a me nā hale waihona puke.

ʻAʻole ʻo nā lawelawe he mau ʻāpana liʻiliʻi wale nō e hana ana ma kekahi mau kahua. Hiki iā lākou ke ʻano nui a paʻakikī hoʻi i ʻāpana o ka puʻupuʻu, e nānā i ka ʻikepili kuhikuhi, holo i ka loiloi ʻoihana a hoʻihoʻi i nā pane. Hoʻokuʻu aku mākou i ka schema lawelawe iā GraphQL, a loaʻa i ka mea kūʻai aku kahi wahi ākea ākea i ka ʻikepili, me ka nānā ʻana i ke kumu hoʻohālike holoʻokoʻa. He oluolu loa.

No ka mea he nui nā hana ʻē aʻe o nā lawelawe, ua hoʻoholo mākou e loaʻa nā hale waihona puke kahi e neʻe ai mākou i nā code i hoʻohana pinepine ʻia. Hoʻohui mākou iā lākou i ke kaiapuni palekana, i ka nānā mua ʻana ʻaʻole ia e uhaʻi i kekahi mea no mākou. A i kēia manawa hiki iā mākou ke hāʻawi i nā kaiapuni hou i nā hana ma ke ʻano o nā hale waihona puke.

Ua makemake mākou e loaʻa kahi paepae ʻaʻole wale no ka mālama ʻana, akā no ka hoʻopili helu. A no ka mea ua loaʻa iā mākou he pūʻulu o nā replicas a me nā shards, ua hoʻokō mākou i kahi ʻano o ka hoʻopili helu ʻana a kapa ʻia ʻo ia ka hōʻemi ʻana i ka palapala, no ka mea, ua like ia me ka hoʻohaʻahaʻa palapala kumu.

Pūnaehana kahiko

ʻAʻole hiki i nā ʻōnaehana hoʻoilina āpau ke kelepona iā mākou ma HTTP a hoʻohana iā GraphQL, ʻoiai ke kākoʻo nei lākou i ka protocol. No laila, ua hana mākou i kahi hana e hiki ai ke hoʻopili hou ʻia ka ʻikepili i kēia mau ʻōnaehana.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Inā hoʻololi kekahi mea iā mākou, hoʻomaka ʻia nā mea hoʻokalakupua kūʻokoʻa i ka hana Storage a pau ka memo me nā hoʻololi i ka pila hana. Hoʻouna ʻia i kahi ʻōnaehana waho me ka hoʻohana ʻana i kahi kuleana replicator kaʻawale. ʻAʻole mālama kēia kuleana i ka mokuʻāina.

Nā hoʻomaikaʻi hou

Ke hoʻomanaʻo nei ʻoe, mai kahi ʻoihana ʻoihana, ua hana mākou i ka hoʻopaʻa leo asynchronous. Akā, uaʻike lākouʻaʻole lawa ia, no ka mea, aia kahi papa o nā pūnaewele e pono e loaʻa koke ka pane e pili ana i ke kūlana o ka hana. No laila ua hoʻonui mākou i kā mākou GraphQL a hoʻohui i nā hoʻololi. Hoʻopili maoli lākou i ka paradigm o ka hana ʻana me ka ʻikepili. No mākou, he helu hoʻokahi kēia o ka heluhelu a me ke kākau ʻana no kekahi papa o nā ʻōnaehana.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Ua ʻike nō hoʻi mākou ʻaʻole lawa nā lawelawe wale nō iā mākou, no ka mea, aia nā hōʻike koʻikoʻi e pono ke kūkulu ʻia i hoʻokahi lā, hoʻokahi pule, hoʻokahi mahina. Hiki i kēia ke lōʻihi, a hiki i nā hōʻike ke hoʻopaʻa i ka loop hanana hanana o Tarantool. No laila, ua hana mākou i nā kuleana ʻokoʻa: mea hoʻonohonoho a me ka mea holo. ʻAʻole mālama ka poʻe holo moku i ka mokuʻāina. Holo lākou i nā hana koʻikoʻi ʻaʻole hiki iā mākou ke helu ma ka lele. A ke nānā nei ka mea hoʻonohonoho i ka papa kuhikuhi o kēia mau hana, i wehewehe ʻia ma ka hoʻonohonoho. Mālama ʻia nā hana ma kahi like me ka ʻikepili ʻoihana. Ke hiki mai ka manawa kūpono, lawe ka mea hoʻonohonoho i ka hana, hāʻawi iā ia i kekahi mea kukini, nāna e helu a mālama i ka hopena.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
ʻAʻole pono e hoʻokō ʻia nā hana a pau ma ka papahana. Pono e heluhelu ʻia kekahi mau hōʻike ma ke koi. I ka hiki ʻana mai o kēia koi, hana ʻia kahi hana ma ka pahu one a hoʻouna ʻia i ka mea kukini no ka hoʻokō. Ma hope o kekahi manawa, loaʻa i ka mea hoʻohana kahi pane asynchronous ua helu ʻia nā mea āpau a ua mākaukau ka hōʻike.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
I ka hoʻomaka ʻana, hoʻopili mākou i ka paradigm o ka mālama ʻana i nā ʻikepili āpau, ka hoʻololi ʻana a ʻaʻole e holoi. Akā i ke ola, i kēlā me kēia manawa pono ʻoe e holoi i kekahi mea, ʻo ka hapa nui o ka ʻike maka a i ʻole ka waena. Ma muli o ka pau ʻana, hana mākou i kahi mīkini no ka hoʻomaʻemaʻe ʻana i ka waiho ʻana mai ka ʻikepili kahiko.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool
Hoʻomaopopo nō hoʻi mākou e hiki mai ana kahi kūlana inā ʻaʻole lawa ka manawa e mālama ai i ka ʻikepili i ka hoʻomanaʻo, akā naʻe, pono e mālama ʻia ka ʻikepili. No kēia mau kumu, e hana koke mākou i kahi mālama disk.

Pehea mākou i kūkulu ai i ke kumu o ka ʻoihana hoʻopukapuka kālā o Alfa-Bank e pili ana iā Tarantool

hopena

Ua hoʻomaka mākou me ka hana o ka hoʻouka ʻana i ka ʻikepili i hoʻokahi kumu hoʻohālike a hoʻopau i ʻekolu mahina e hoʻomohala ai. Ua loaʻa iā mākou ʻeono ʻōnaehana hoʻolako ʻikepili. ʻO ka helu hoʻololi holoʻokoʻa i hoʻokahi kumu hoʻohālike ma kahi o 30 tausani laina ma Lua. A aia ka hapa nui o ka hana ma mua. I kekahi manawa aia ka nele o ka hoʻoikaika ʻana mai nā hui e pili ana, a he nui nā kūlana e paʻakikī i ka hana. Inā loaʻa iā ʻoe kekahi hana like, a laila e hoʻonui i ka manawa maʻamau iā ʻoe no ka hoʻokō ʻana i ʻekolu, a ʻehā paha.

E hoʻomanaʻo hoʻi ʻaʻole hiki ke hoʻopau ʻia nā pilikia i loaʻa i nā kaʻina ʻoihana me ka hoʻohana ʻana i kahi DBMS hou, ʻoiai he mea huahua loa. He aha kaʻu manaʻo? I ka hoʻomaka ʻana o kā mākou papahana, ua hana mākou i ka manaʻo i waena o nā mea kūʻai aku e lawe mai mākou i kahi waihona wikiwiki hou a ola mākou! E holo wikiwiki ana nā kaʻina hana, e maikaʻi nā mea a pau. ʻO kaʻoiaʻiʻo,ʻaʻole e hoʻonā kaʻenehana i nā pilikia i loaʻa i nāʻoihanaʻoihana, no ka mea, he poʻe kaʻoihanaʻoihana. A pono ʻoe e hana pū me nā kānaka, ʻaʻole ʻenehana.

ʻO ka hoʻomohala ʻana i ka hoʻāʻo hiki ke ʻeha a hoʻopau i ka manawa i ka wā mua. Akā e ʻike ʻia ka hopena maikaʻi o ia mea i ka wā pōkole, inā ʻaʻole pono ʻoe e hana i kekahi mea e hana i ka hoʻāʻo regression.

He mea koʻikoʻi ka hana ʻana i ka hoʻāʻo ʻana i ka ukana ma nā pae āpau o ka hoʻomohala ʻana. ʻO ka wikiwiki āu e ʻike ai i kekahi hemahema o ka hoʻolālā, ʻoi aku ka maʻalahi o ka hoʻoponopono ʻana, e mālama ai i ka manawa nui i ka wā e hiki mai ana.

ʻAʻohe hewa o Lua. Hiki i kekahi ke aʻo e kākau i loko o ia mea: Java developer, JavaScript developer, Python developer, front-end or back-end. ʻO kā mākou poʻe loiloi e kākau ma luna.

Ke kamaʻilio mākou e pili ana i ka ʻoiaʻiʻo ʻaʻole mākou SQL, hoʻoweliweli ia i nā kānaka. "Pehea ʻoe e loaʻa ai ka ʻikepili me ka ʻole o SQL? Hiki paha ia? ʻOiaʻiʻo. Ma kahi ʻōnaehana papa OLTP, ʻaʻole pono ʻo SQL. Aia kekahi ʻano ʻē aʻe ma ke ʻano o kekahi ʻano ʻōlelo e hoʻihoʻi koke iā ʻoe i kahi nānā palapala. No ka laʻana, GraphQL. A aia kekahi ʻano ʻē aʻe ma ke ʻano o ka hoʻopili helu ʻana.

Inā maopopo iā ʻoe e pono ana ʻoe i ka pālākiō, a laila e hoʻolālā i kāu hoʻonā ma Tarantool i ke ala e hiki ai ke holo like me nā hanana o Tarantool. Inā ʻaʻole ʻoe e hana i kēia, e paʻakikī a ʻeha hoʻi ia ma hope, no ka mea hiki iā Tarantool ke hoʻohana pono i hoʻokahi kumu hana.

Source: www.habr.com

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