Me pehea te whakamutu i te awangawanga me te tiimata ki te noho kaore he monolith

Me pehea te whakamutu i te awangawanga me te tiimata ki te noho kaore he monolith

Ka aroha tatou katoa ki nga korero. He pai ki a matou te noho i te taha o te ahi ka korero mo o matou wikitoria o mua, o nga pakanga, o to maatau wheako mahi ranei.

He ra pera noa tenei ra. A ahakoa kaore koe i te ahi i tenei wa, he korero mo koe. Ko te korero mo te pehea i timata ai matou ki te mahi me te rokiroki i runga i Tarantool.

I nga wa o mua, he rua nga "monoliths" me tetahi "tuanui" mo te katoa, ko enei monoliths i ata haere, engari e tino tata ana, e whakaiti ana i te rere o ta matou kamupene, i to maatau whanaketanga. A i marama te maarama: i tetahi ra ka tino pa ki tenei tuanui.

Inaianei ko te whakaaro nui mo te wehe i nga mea katoa me nga tangata katoa, mai i nga taputapu ki te arorau pakihi. Ko te mutunga mai, hei tauira, e rua nga DC e noho motuhake ana i te taumata whatunga. Na ka tino rereke nga mea katoa.

I tenei ra, he maha nga taputapu me nga taputapu mo te whakarereke i te ahua o te CI / CD, K8S, etc. I te wa "monolithic", kaore i hiahiatia e matou te maha o nga kupu ke. He nui ki te whakatika noa i te "rokiroki" i roto i te putunga raraunga.

Engari ka anga whakamua te wa, ka anga whakamua te maha o nga tono, i etahi wa ka pupuhi RPS i tua atu i o maatau kaha. Na te whakaurunga o nga whenua CIS ki te maakete, ko te kawenga i runga i te tukatuka papaaarangi o te monolith tuatahi kaore i hinga i raro i te 90%, a ka noho tonu te RPS ki te taumata o te 2400. A ehara enei i nga kaiwhiri iti noa, engari he nui nga patai me te he paihere o nga arowhai me nga hono ka taea te whakahaere tata mo te haurua o nga raraunga ki te papamuri o te IO nui.

I te wa i timata ai nga hokonga katoa o te Paraire Pango ki runga i te whakaaturanga - a ko Wildberries tetahi o nga tuatahi ki te pupuri i a raatau i Russia - ka tino pouri te ahuatanga. I muri i nga mea katoa, ka piki ake te kawenga i enei ra e toru nga wa.
Aue, enei "wa monolithic"! E tino mohio ana ahau kua pa ki a koe tetahi mea penei, a kaore koe e mohio me pehea e pa ai tenei ki a koe.

Ka aha koe - he mea mau tonu te ahua ki te hangarau. Tata ki te 5 tau ki muri, me whakaaro ano matou ki tetahi o enei mods i te ahua o te waahi kei runga i te .NET me te tūmau MS SQL, nana i ata rongoa nga arorau katoa o te pae ake. I ata tiakina e au ko te tarai i taua monolith he roa, kaore i te ngawari.
He rereke iti.

I nga huihuinga rereke ka kii ahau: "mehemea kaore koe i kite i te monolith, kaore koe i tipu!" Kei te pirangi au ki o whakaaro mo tenei take, tuhia mai ki nga korero.

He tangi o te whatitiri

Kia hoki ki to tatou "ahi ahi". Hei tohatoha i te kawenga o te mahi "monolithic", i whakatau matou ki te wehewehe i te punaha ki nga microservices i runga i nga hangarau tuwhera. No te mea, i te iti rawa, he iti ake te utu ki te tauine. A he 100% to maatau mohio me tatau (me te nui). I muri i nga mea katoa, i tera wa ka taea te uru atu ki nga maakete o nga whenua tata, me te maha o nga rehitatanga, me te maha o nga ota, ka timata te tipu haere ake.

I te wetewete i nga kaitono tuatahi mo te wehe atu i te monolith ki te microservices, i mohio matou ko te 80% o nga tuhinga kei roto i a raatau i ahu mai i nga punaha tari o muri, me te panui mai i te tari o mua. Ko te mea tuatahi, e pa ana tenei ki nga punaha iti e rua mo matou - nga raraunga kaiwhakamahi me tetahi punaha mo te tatau i te utu whakamutunga o nga taonga i runga i nga korero mo etahi atu utu mo nga kaihoko me nga tīkitipati.

Kua nuku. Inaianei he whakamataku ki te whakaaro, engari hei taapiri atu ki nga punaha-a-roto kua whakahuahia ake nei, ko nga raarangi hua, he kaata hokohoko a nga kaiwhakamahi, he punaha rapu hua, he punaha tātari mo nga putumōhio hua, me nga momo punaha tohutohu kua tangohia mai i a maatau monolith. Mo te mahinga o ia o raatau, he waahanga motuhake o nga punaha kua oti te whakarite, engari i tetahi wa i noho katoa ratou i roto i te "whare" kotahi.

I whakamahere tonu matou ki te whakawhiti raraunga mo o taatau kiritaki ki te punaha sharded. Ko te tangohanga o nga mahi mo te tatau i te utu whakamutunga o nga taonga e hiahiatia ana te tauinenga pai mo te panui, na te mea i hanga e ia te kawenga RPS nui rawa atu, a ko te tino uaua ki te whakatinana mo te paataka raraunga (he maha nga raraunga e uru ana ki te mahinga tatauranga).

Ko te mutunga, i puta mai he kaupapa e pai ana ki a Tarantool.

I taua wa, mo te whakahaere o nga microservices, i whiriwhiria nga kaupapa mo te mahi tahi me etahi pokapū raraunga i runga i nga miihini mariko me nga miihini taputapu. Ka rite ki te whakaatu i nga whika, ko nga whiringa tukurua a Tarantool i whakamahia i roto i nga tikanga rangatira-ariki me te rangatira-pononga.

Me pehea te whakamutu i te awangawanga me te tiimata ki te noho kaore he monolith
Hangahanga. Kōwhiringa 1. Ratonga Kaiwhakamahi

I tenei wa, e 24 nga maramara, e 2 nga waahanga o ia waahanga (kotahi mo ia DC), katoa i roto i te aratau ariki-ariki.

Kei runga ake o te papanga raraunga ko nga tono e uru ana ki nga tauira raraunga. Ka mahi tahi nga tono me Tarantool na roto i ta maatau whare pukapuka ritenga, e whakatinana ana i te atanga taraiwa a Tarantool Go. Ka kite ia i nga tauira katoa ka taea e ia te mahi tahi me te rangatira ki te panui me te tuhi. Ko te tikanga, ka whakatinanahia e ia te tauira huinga tauira, e taapiri ana i te arorau mo te kowhiri i nga tauira, te mahi ano, te ara iahiko me te tepe reiti.

I tenei take, ka taea te whirihora i te kaupapa here whiriwhiri tauira i roto i te horopaki o nga marumaru. Hei tauira, roundrobin.

Me pehea te whakamutu i te awangawanga me te tiimata ki te noho kaore he monolith
Hangahanga. Kōwhiringa 2. Ratonga mo te tatau i te utu whakamutunga o nga taonga

I etahi marama kua pahure ake nei, ko te nuinga o nga tono mo te tatau i te utu whakamutunga o nga taonga i haere ki tetahi ratonga hou, i runga i te kaupapa, ka mahi kaore he papaarangi, engari i etahi wa i mua i whakahaerehia nga mea katoa i te 100% e te ratonga me Tarantool i raro i te potae.

Kei roto i te papaunga raraunga ratonga e 4 nga rangatira ka kohia e te kaiwhakarite nga raraunga, a, ka tohatohahia e ia rangatira tukurua nga raraunga ki nga tauira panui anake. He 15 pea nga tauira pera i ia rangatira.

I te tuatahi, i te kaupapa tuarua ranei, ki te kore tetahi DC i te waatea, ka taea e te tono te whiwhi raraunga i te tuarua.

He mea tika kia mohio ko te tukurua i Tarantool he tino ngawari, ka taea te whirihora i te waa whakahaere. I etahi atu punaha, ka ara ake nga uauatanga. Hei tauira, ko te whakarereke i nga tawhā max_wal_slots me max_replication_slots i PostgreSQL me whakaara ano te ruānuku, i etahi wa ka arai i te motu o nga hononga i waenga i te tono me te DBMS.

Rapua ka kitea e koe!

He aha tatou i kore ai i mahi "penei i nga tangata noa", engari i whiriwhiria he huarahi atypical? Kei runga i nga mea e kiia ana he mea noa. He maha nga tangata ka hanga he tautau mai i Mongo ka horahia ki nga DC e toru kua tohatohahia.

I tera wa, e rua a maatau kaupapa Redis. Ko te tuatahi he keteroki, ko te tuarua ko te rokiroki pumau mo nga raraunga kore rawa. He tino uaua ki a ia, he hapa na matou. I etahi wa he nui nga pukapuka kei roto i te matua, a i etahi wa ka kino te waahi. I whakamahia e matou tenei punaha i roto i te putanga rangatira-pononga. A he maha nga keehi i pa he mea ki te rangatira ka pakaru te tukurua.

Arā, he pai a Redis mo nga mahi kore whenua, ehara i nga mahi whaimana. Ko te tikanga, ka taea te whakaoti rapanga nui, engari mena he otinga uara-matua me nga tohu takirua. Engari ko Redis i taua wa i tino pouri ki te tohe me te tukurua. I tua atu, i puta nga amuamu mo te mahi.

I whakaaro matou mo MySQL me PostgreSQL. Engari ko te mea tuatahi kaore i mau ki a maatau, ko te tuarua he hua tino maamaa, kaore e tika ki te hanga ratonga ngawari ki runga.
I whakamatauria e matou a RIAK, Cassandra, tae noa ki te putunga kauwhata. Ko enei katoa he otinga motuhake kaore i pai mo te mahi a te taputapu whanui mo te hanga ratonga.

I te mutunga ka noho matou ki runga o Tarantool.

I tahuri matou ki reira i te wa i te putanga 1.6. I aro atu matou ki a ia na te whakahiato o te uara-matua me te mahi o te papaunga raraunga hononga. He tohu tuarua, nga whakawhitinga me nga waahi, he rite enei ki nga tepu, engari ehara i te mea ngawari, ka taea e koe te penapena i nga maha o nga pou kei roto. Engari ko te ahua whakamate o Tarantool ko nga tohu tohu tuarua me te uara-matua me te tauwhitinga.

Ko te hapori reo Rūhia whakautu, kua rite ki te awhina i te korerorero, i whai waahi ano. I kaha matou ki te whakamahi i tenei me te noho tika i roto i te korerorero. A kaua e wareware ki te mau tonu me te kore o nga hapa me nga hapa. Mena ka titiro koe ki o maatau hitori me Tarantool, he maha nga mamae me nga rahunga i te tukurua, engari kaore i ngaro nga raraunga na tona he!

Ko te whakatinanatanga he timatanga kino

I taua wa, ko ta matou puranga whanaketanga matua ko .NET, kaore he hononga mo Tarantool. I timata tonu matou ki te mahi i tetahi mea i roto i te Haere. He pai te mahi ki a Lua. Ko te raru nui i tera wa ko te patuiro: i roto i te .NET he pai nga mea katoa me tenei, engari i muri i tera he uaua ki te ruku ki te ao o Lua whakauru, ina kaore koe i te patuiro engari ko nga raarangi. Hei taapiri, mo etahi take ka pakaru te tukuruatanga i ia wa, no reira me ruku au ki te hanganga o te miihini Tarantool. I awhina te korerorero ki tenei, me te iti ake, ko nga tuhinga; i etahi wa ka titiro matou ki te waehere. I taua wa, ko nga tuhinga he pera-pera.

Na, i roto i nga marama maha, i kaha ahau ki te huri i taku mahunga me te whiwhi hua pai mai i te mahi tahi me Tarantool. I whakahiatohia e matou nga whanaketanga tohutoro i roto i te git i awhina i te hanganga o nga ratonga miihini hou. Hei tauira, i te wa i ara ake ai tetahi mahi: ki te hanga i tetahi atu microservice, ka titiro te kaiwhakawhanake ki te waehere puna o te otinga tohutoro i roto i te putunga, a, kaore i neke atu i te wiki ki te hanga i tetahi mea hou.

He wa motuhake enei. Ko te tikanga, ka taea e koe te haere ki runga ki te kaiwhakahaere i te teepu e whai ake nei ka patai: "Homai he miihini mariko." Tata ki te toru tekau meneti i muri mai kua tae ke te motoka ki a koe. I hono koe i a koe, i whakauruhia nga mea katoa, ka tukuna atu nga hokohoko ki a koe.

I tenei ra ka kore e mahi: me taapiri koe i te tirotiro me te takiuru ki te ratonga, kapi i nga mahi me nga whakamatautau, tono miihini mariko, tuku ranei ki a Kuber, etc. I te nuinga o te waa, ka pai ake tenei huarahi, ahakoa ka roa ake, ka nui ake te raruraru.

Wehea me te whakahaere. He aha te mahi ki a Lua?

He raruraru nui: kaore i taea e etahi o nga kapa te whakaputa tika i nga huringa ki tetahi ratonga whai whakaaro nui ki Lua. I te nuinga o nga wa ka haere tahi te ratonga kaore i te mahi.

Arā, kei te whakareri nga kaiwhakawhanake i etahi momo huringa. Ka timata a Tarantool ki te mahi i te heke, engari kei te noho tonu te tauira ki te waehere tawhito; Ko etahi DDL, tetahi atu mea ranei ka tae mai ki reira ma te tukurua, ka taka noa te waehere na te mea karekau e whai whakaaro. Ko te mutunga mai, i whakatakotohia te tikanga whakahou mo nga kaiwhakahaere ki runga i te pepa A4: mutu te tukurua, whakahou i tenei, whakahurihia te tukurua, whakawetohia ki konei, whakahou ki reira. Moemoea!

Ko te mutunga mai, inaianei ka ngana matou ki te kore mahi i Lua. Me whakamahi noa i te iproto (he kawa rua mo te taunekeneke me te tūmau), ka mutu. Tena pea ko te kore matauranga i waenga i nga kaihanga, engari mai i tenei tirohanga he uaua te punaha.

E kore matou e whai matapo i tenei tuhinga. I tenei ra karekau he pango me te ma: kei Lua nga mea katoa, kei roto ranei nga mea katoa kei Go. Kua mohio tatou me pehea e taea ai e tatou te whakakotahi kia kore ai e pa ki nga raruraru heke a muri ake nei.

Kei hea a Tarantool inaianei?
Kei te whakamahia a Tarantool i roto i te ratonga mo te tatau i te utu whakamutunga o nga taonga e whakaaro ana ki nga coupon hekenga, e mohiotia ana ko "Kaiwhakatairanga". Ka rite ki taku korero i mua, kei te reti ia inaianei: kei te whakakapihia ia e tetahi ratonga putumōhio hou me nga utu kua oti te tatau i mua, engari e ono marama ki muri i mahia nga tatauranga katoa i roto i te Promotizer. I mua, ko te haurua o tana arorau i tuhia ki Lua. E rua tau ki muri, ka huri te ratonga ki te waahi rokiroki, a ka tuhia ano te arorau ki te Haere, na te mea kua rereke te iti o nga miihini o nga utu me te kore mahi o te ratonga.

Ko tetahi o nga ratonga tino nui ko te tohu kaiwhakamahi. Arā, ko nga kaiwhakamahi Wildberries katoa kei te rongoa i roto i te Tarantool, a he tata ki te 50 miriona o ratou. He punaha kua tohatohahia e te ID kaiwhakamahi, kua tohatohahia ki te maha o nga DC e hono ana ki nga ratonga Go.
E ai ki a RPS, ko Promoter te kaihautu, ka eke ki te 6 mano nga tono. I tetahi wa i 50-60 nga kape. Inaianei ko te kaiarahi i roto i te RPS ko nga korero a nga kaiwhakamahi, mo te mano 12. Ko tenei ratonga e whakamahi ana i te tohatoha ritenga, ka wehewehea e nga awhe o nga ID kaiwhakamahi. Neke atu i te 20 nga miihini e mahi ana te ratonga, engari he nui rawa tenei; ka whakamahere matou ki te whakaiti i nga rauemi kua tohatohahia, na te mea ka nui te kaha o nga miihini 4-5 mo tera.

Ko te ratonga huihuinga ko ta maatau ratonga tuatahi i runga i te vshard me te Cartridge. Ko te whakarite i te vshard me te whakahou i te Cartridge me whakapau kaha mai i a maatau, engari i te mutunga ka pai nga mea katoa.

Ko te ratonga mo te whakaatu i nga haki rereke i runga i te paetukutuku me te tono pūkoro ko tetahi o nga mea tuatahi i tukuna tika ki runga i a Tarantool. He mea rongonui tenei ratonga mo te 6-7 tau te pakeke, kei te mahi tonu, kaore ano kia whakaara ano. I whakamahia te tāruarua matua-matua. Kaore he mea i pakaru.

He tauira mo te whakamahi i te Tarantool mo te mahi tohutoro tere i roto i te punaha whare putunga kia tere-rua nga korero i etahi keehi. I tamata matou ki te whakamahi i a Redis mo tenei, engari ko nga raraunga i roto i te mahara ka nui ake te waahi atu i a Tarantool.

Ko nga ratonga o te raarangi tatari, ohaurunga a nga kaihoko, nga korero huatau me nga taonga whakaroa e mahi tahi ana me Tarantool. Ko te ratonga whakamutunga i roto i te mahara ka nui ake te 120 GB. Koinei te ratonga tino whanui o runga ake nei.

mutunga

He mihi ki nga tohu tuarua kua honoa me te uara-matua me te tauwhitinga, he tino pai a Tarantool mo nga hoahoanga-a-roto. Heoi, i raru matou i te wa e huri ana i nga huringa ki nga ratonga me te arorau nui ki Lua - ka mutu te mahi o nga ratonga. Kaore i taea e matou te wikitoria i tenei, a, i te roanga o te wa ka tae mai matou ki nga huinga rereke o Lua me Go: e mohio ana matou ki hea te whakamahi i tetahi reo me te waahi ki te whakamahi i tetahi atu.

He aha atu hei panui mo te kaupapa

Source: will.com

Tāpiri i te kōrero