"E hikoi ana i oku hu" - tatari, kua tohua?

Mai i te tau 2019, he ture ta Ruhia mo te tapanga whakahau. Kaore te ture e pa ki nga roopu taonga katoa, he rereke nga ra mo te whakaurunga o te tapanga whakahau mo nga roopu hua. Ko te tupeka, te hu, me nga rongoa te tuatahi ka tukuna ki te tapanga whakahau; ka taapirihia etahi atu hua i muri mai, hei tauira, te hinu kakara, te kakano, me te miraka. Na tenei mahi hou a-ture i akiaki te whakawhanaketanga o nga otinga IT hou e taea ai te whai i te katoa o nga mekameka oranga o tetahi hua mai i te hanga ki te hoko mai i te kaihoko mutunga, ki nga kaiuru katoa ki te mahi: ko te kawanatanga me nga whakahaere katoa e hoko taonga ana. tapanga whakahau.

I roto i te X5, ko te punaha ka whai i nga taonga kua tohua me te whakawhiti raraunga me te kawanatanga me nga kaiwhakarato ka kiia ko "Marcus". Me korero atu ki a koe me pehea, na wai hoki i whakawhanake, he aha tana puranga hangarau, me te aha he mea hei whakahīhī.

"E hikoi ana i oku hu" - tatari, kua tohua?

Tino Uta Nui

Ka whakaotihia e "Marcus" nga raruraru maha, ko te mea nui ko te taunekeneke whakauru i waenga i nga punaha korero X5 me te punaha korero a te kawanatanga mo nga hua tapanga (GIS MP) hei whai i nga nekehanga o nga hua kua tohua. Pupuri ana hoki te papaapapa i nga waehere tapanga katoa i whakawhiwhia mai ki a matou me te hitori katoa o te neke o enei waehere puta noa i nga taonga, me te awhina ki te whakakore i te reanga o nga hua kua tohua. Ma te whakamahi i te tauira o nga hua tupeka, i whakauruhia ki roto i nga roopu tuatahi o nga taonga kua tapaina, kotahi noa te taraka utaina hikareti kei roto tata ki te 600 nga putea, kei ia waahanga tana ake tohu motuhake. A ko te mahi a ta maatau punaha ko te whai me te manatoko i te mana o nga nekehanga o ia kete penei i waenga i nga whare putunga me nga toa, ka mutu te manatoko i te urunga o to raatau hoko ki te kaihoko mutunga. A ka tuhi matou mo te 000 nga whakawhitinga moni mo ia haora, me tuhi ano hoki i pehea te urunga o ia kete ki roto i te toa. No reira, ma te whai whakaaro ki nga nekehanga katoa i waenga i nga taonga, kei te tumanako tatou kia tekau piriona nga rekoata ia tau.

Kapa M

Ahakoa te mea e kiia ana ko Marcus he kaupapa i roto i te X5, kei te whakatinanahia ma te whakamahi i te huarahi hua. Ka mahi te roopu e ai ki a Scrum. I timata te kaupapa i tera raumati, engari ko nga hua tuatahi i tae mai i te marama o Whiringa-a-nuku anake - kua huihui katoa ta matou ake roopu, i whakawhanakehia te hoahoanga punaha me te hoko taputapu. Inaianei 16 nga tangata o te roopu, tokoono o ratou e whai waahi ana ki te whakawhanaketanga o muri me te taha o mua, e toru o ratou kei te mahi tātari punaha. E ono ano nga taangata kei te whai waahi ki nga mahi a-ringa, uta, whakamatautau aunoa, me te tiaki hua. I tua atu, kei a matou he tohunga SRE.

Ehara i te mea ko nga kaiwhakawhanake anake te tuhi waehere i roto i ta maatau roopu; tata ki nga taangata katoa e mohio ana ki te hotaka me te tuhi i nga whakamatautau aunoa, te uta i nga tuhinga me nga tuhinga aunoa. Ka aro nui matou ki tenei, na te mea ko te tautoko o nga hua e hiahia ana kia kaha te mahi aunoatanga. I nga wa katoa ka ngana matou ki te tohutohu me te awhina i nga hoa mahi kaore ano kia hotaka i mua, ka hoatu etahi mahi iti hei mahi ma ratou.

Na te mate o te coronavirus, i whakawhitia e matou te roopu katoa ki nga mahi mamao; ko te waatea o nga taputapu katoa mo te whakahaere whanaketanga, ko te rerenga mahi i hangaia i Jira me GitLab i taea ai tenei waahanga. Ko nga marama i pau i te wa e whakaatu ana kaore i raru te hua o te roopu; mo te nuinga, kua piki ake te whakamarie i te mahi, ko te mea anake i ngaro ko te korero ora.

Huinga kapa mamao

"E hikoi ana i oku hu" - tatari, kua tohua?

Hui i nga wa mahi mamao

"E hikoi ana i oku hu" - tatari, kua tohua?

Hangarau tāpae o te otinga

Ko te kohinga paerewa me te taputapu CI / CD mo X5 ko GitLab. Ka whakamahia e matou mo te rokiroki waehere, te whakamatautau tonu, me te tuku ki te whakamatautau me nga kaiwhakarato whakaputa. Ka whakamahi hoki matou i te tikanga o te arotake waehere, ina 2 neke atu nga hoa mahi ki te whakaae ki nga huringa i mahia e te kaiwhakawhanake ki te waehere. Ko nga kaitirotiro waehere pateko SonarQube me JaCoCo ka awhina i a maatau ki te pupuri i o taatau waehere kia ma me te whakarite i te taumata e hiahiatia ana mo te kapinga whakamatautau wae. Ko nga huringa katoa ki te waehere me uru ki enei arowhai. Ko nga tuhinga whakamatautau katoa ka whakahaerehia ma te ringa ka mahi aunoa.

Mo te whakatinanatanga angitu o nga tukanga pakihi na "Marcus", me whakaoti e matou etahi raruraru hangarau, mo ia waahanga.

Tūmahi 1. Te hiahia mo te tauineine whakapae o te punaha

Hei whakaoti i tenei raruraru, i whiriwhiria e matou he huarahi microservice ki te hoahoanga. I te wa ano, he mea tino nui ki te mohio ki nga waahanga kawenga o nga ratonga. I tamata matou ki te wehewehe i a raatau ki nga mahi pakihi, me te whakaaro ki nga waahanga o nga tukanga. Hei tauira, ko te whakaaetanga ki te whare putunga ehara i te mea he mahi tino nui, engari he mahi tino nui, i te wa e tika ana kia tere te tiki mai i nga korero a te kaiwhakahaere o te kawanatanga mo nga waahanga o nga taonga e whakaaehia ana, ko te maha o enei i roto i te tuku kotahi ka tae ki te 600000. , tirohia te whakaaetanga o te whakaae ki tenei hua ki roto i te whare putunga me te whakahoki i nga korero katoa e tika ana mo te punaha miihini whare putunga. Engari ko te tuku mai i nga whare putunga he nui ake te kaha, engari i te wa ano ka mahi me te iti o nga raraunga.

Ka whakatinanahia e matou nga ratonga katoa i runga i te ahua kore, ka ngana ki te wehewehe i nga mahi o roto ki nga waahanga, ma te whakamahi i nga mea e kiia nei ko Kafka nga kaupapa-whaiaro. Koinei te wa ka tukuna e te microservice he karere ki a ia ano, e taea ai e koe te whakataurite i te kawenga ki runga i nga mahi whakakaha rawa me te whakangawari i te tiaki hua, engari ka nui ake i muri mai.

I whakatau matou ki te wehe i nga waahanga mo te taunekeneke me nga punaha o waho ki nga ratonga motuhake. Na tenei i taea ai te whakaoti i te raru o te huri haere i nga API o nga punaha o waho, me te kore e pa ki nga ratonga me nga mahi pakihi.

"E hikoi ana i oku hu" - tatari, kua tohua?

Ko nga ratonga moroiti katoa ka tukuna ki roto i te kahui OpenShift, e whakaoti ana i nga raru e rua o te whakamaarama i ia ratonga moroiti me te tuku kia kaua tatou e whakamahi i nga taputapu Tirohanga Ratonga tuatoru.

Tūmahi 2. Ko te hiahia ki te pupuri i te kawenga nui me te whakawhiti raraunga tino kaha i waenga i nga ratonga papaaho: I te wahanga whakarewatanga kaupapa anake, tata ki te 600 nga mahi mo ia hekona. Ko te tumanako ka piki ake tenei uara ki te 5000 ops/sec i te wa e hono ana nga toa hokohoko ki to maatau turanga.

I whakatauhia tenei raru ma te tuku i te kahui Kafka me te tino whakarere i te taunekeneke tukutahi i waenga i nga ratonga miihini o te papanga. Me tino tirotirohia nga whakaritenga o te punaha, na te mea kaore nga mahi katoa ka taea te tukutahi. I te wa ano, kaore matou e tuku noa i nga huihuinga ma te kaihokohoko, engari ka tukuna ano nga korero pakihi e hiahiatia ana i roto i te karere. No reira, ka eke te rahi o te karere ki te maha rau kiropaita. Ko te rohe o te rahi o te karere i Kafka e hiahia ana kia tika te matapae i te rahi o te karere, a, ki te tika, ka wehewehea, engari he arorau te wehenga, e pa ana ki nga mahi pakihi.
Hei tauira, ka wehewehea nga taonga ka tae mai i runga waka ki roto i nga pouaka. Mo nga mahi tukutahi, ka tohatohahia nga ratonga miihini motuhake ka mahia nga whakamatautau kawenga. Ma te whakamahi i a Kafka, he wero ano - ko te whakamatautau i te mahi o ta maatau ratonga ma te whakaaro ki te whakaurunga o Kafka ka noho koretake nga whakamatautau wae. I whakatauhia e matou tenei raru ma te tuhi i a maatau ake tikanga whaipainga ma te whakamahi i te Kaihokohoko Kafka Whakauru. Kaore tenei e whakakore i te hiahia ki te tuhi i nga whakamatautau wae mo nga tikanga takitahi, engari he pai ake taatau ki te whakamatautau i nga keehi uaua ma te whakamahi i te Kafka.

He nui te aro ki te whai i nga raarangi kia kore ai e ngaro a ratou TraceId ina puta he rereke i te wa e whakahaere ana nga ratonga, i te wa e mahi ana me te roopu Kafka. A, ki te kore he take motuhake mo te tuatahi, na i te keehi tuarua ka pehia matou ki te takiuru i nga TraceId katoa i tae mai te puranga me te kowhiri i tetahi hei whai tonu. Na, i te wa e rapu ana i te TraceId taketake, ka kitea e te kaiwhakamahi i haere tonu te whai.

Tūmahi 3. Ko te hiahia ki te rokiroki i te nui o nga raraunga: Neke atu i te 1 piriona tapanga ia tau mo te tupeka anake ka tae ki te X5. Me tere tonu te uru atu. Huihui katoa, me whakahaere e te punaha te 10 piriona rekoata mo te hitori o nga nekehanga o enei taonga kua tapaina.

Hei whakaoti i te raruraru tuatoru, i whiriwhiria te patengi raraunga NoSQL MongoDB. Kua hangahia e matou he mahanga o nga pona e 5, a, kei ia pona he huinga tauira e 3 nga tūmau. Ma tenei ka taea e koe te whakarahi i te punaha whakapae, me te taapiri i nga kaitoro hou ki te tautau, me te whakarite i te pai o te he. I konei ka raru ano matou - te whakarite i te tauwhitiwhitinga i roto i te kahui mongo, me te whai whakaaro ki te whakamahi i nga ratonga miihini whakaheke whakapae. Hei tauira, ko tetahi o nga mahi a to maatau punaha ko te tautuhi i nga nganatanga ki te hoko ano i nga hua me nga tohu tapanga rite. I konei, ka puta nga whakakikorua me nga karapa pohehe, nga mahi pohehe ranei a nga kai-putea. I kitea e matou ka puta nga taarua pera i roto i te roopu Kafka e tukatukahia ana, i roto i nga roopu e rua e mahi whakarara ana. No reira, ko te tirotiro mo nga taarua ma te patai i te papaunga raraunga kaore he mea i hoatu. Mo ia ratonga moroiti, i whakatauhia e matou te raru i runga i te arorau pakihi o tenei ratonga. Hei tauira, mo nga arowhai, i taapirihia he haki ki roto i te puranga me te tukatuka motuhake mo te ahua o nga taarua i te wa e whakauru ana.

Hei whakarite kia kore te mahi a nga kaiwhakamahi me te hitori o nga mahi e pa ki te mea tino nui - ko te mahi o a maatau mahi pakihi, kua wehea e matou nga raraunga o mua katoa ki tetahi ratonga motuhake me te papaaarangi motuhake, ka whiwhi korero ano ma Kafka . Ma tenei ara, ka mahi tahi nga kaiwhakamahi me tetahi ratonga motuhake me te kore e pa ki nga ratonga e tukatuka ana i nga raraunga mo nga mahi haere tonu.

Tūmahi 4: Tūtira tukatuka anō me te aro turuki:

I roto i nga punaha tohatoha, ka puta ake nga raru me nga hapa i roto i te waatea o nga papaunga raraunga, nga rarangi, me nga puna raraunga o waho. I roto i te take o Marcus, ko te puna o aua hapa ko te whakauru ki nga punaha o waho. He mea tika kia kimihia he otinga e taea ai nga tono tukurua mo nga whakautu pohehe me etahi waahi kua tohua, engari i te wa ano kaore e mutu te tukatuka i nga tono angitu i roto i te rarangi matua. Mo tenei kaupapa, i whiriwhiria te kaupapa e kiia nei ko te "whakamatautau ano i runga kaupapa". Mo ia kaupapa matua, ka hangaia kia kotahi, neke atu ranei nga kaupapa ngana ano ka tukuna nga karere pohehe me te wa ano ka whakakorehia te roa o te tukatuka karere mai i te kaupapa matua. Kaupapa taunekeneke -

"E hikoi ana i oku hu" - tatari, kua tohua?

Hei whakatinana i te kaupapa penei, me whai ake: ki te whakauru i tenei otinga ki te Puna me te karo i te taapiri waehere. I a matou e ngaru ana i te paetukutuku, i kite matou i tetahi otinga rite i runga i te Spring BeanPostProccessor, engari he ahua uaua ki a matou. Kua mahia e ta matou roopu he otinga ngawari ake e taea ai e matou te whakauru ki roto i te huringa o te Koanga mo te hanga kaihoko me te taapiri atu i nga Kaihokohoko Ngana Anō. I tukuna e matou he tauira o ta matou otinga ki te roopu Koanga, ka kite koe konei. Ko te maha o nga Kaihoko Ngana Anō me te maha o nga nganatanga mo ia kaihoko ka whirihorahia na roto i nga tawhā, i runga i nga hiahia o te mahi pakihi, me te mahi katoa, ko te toenga ko te taapiri i te org.springframework.kafka.annotation.KafkaListener. , e mohio ana ki nga kaiwhakawhanake Spring katoa.

Ki te kore e taea te tuku i te karere i muri i nga nganatanga katoa, ka haere ki te DLT (kaupapa reta mate) ma te whakamahi i te Spring DeadLetterPublishingRecoverer. I runga i te tono tautoko, i whakawhänuihia e mätou tënei mahi me te hanga ratonga motuhake e taea ai e koe te tiro i nga karere kei roto i te DLT, stackTrace, traceId me etahi atu korero whaihua mo ratou. I tua atu, i taapirihia te aroturuki me te matohi ki nga kaupapa DLT katoa, a, inaianei, ko te ahua o te karere i roto i te kaupapa DLT he take hei tātari me te whakatika i tetahi hapa. He tino watea tenei - na te ingoa o te kaupapa, ka mohio tonu tatou he aha te waahanga o te tukanga i puta ake te raruraru, e tino tere ana te rapu mo tona take pakiaka.

"E hikoi ana i oku hu" - tatari, kua tohua?

Ina tata nei, kua whakatinanahia e matou he atanga e taea ai e matou te tuku ano i nga karere ma te whakamahi i ta matou tautoko i muri i te whakakore i o raatau take (hei tauira, te whakaora i te mahi o te punaha o waho) me te tikanga, te whakatuu i te koha mo te tātari. Koinei te waahi ka uru mai a maatau kaupapa-whaiaro: kia kore ai e whakaara ano i te mekameka tukatuka roa, ka taea e koe te whakaara ano i te waahanga e hiahiatia ana.

"E hikoi ana i oku hu" - tatari, kua tohua?

Te Mahi Papa

Kei te mahi whai hua te papaahi, i ia ra ka kawe matou i nga tuku me nga tuku, honoa nga pokapu tohatoha hou me nga toa. Hei wahanga o te kaiurungi, ka mahi tahi te punaha me nga roopu hua "Tuka" me "Hu".

Ka whai waahi to taatau roopu katoa ki te whakahaere i nga kaiurungi, ki te tātari i nga raru ka puta ake me te tuku whakaaro mo te whakapai ake i a maatau hua, mai i te whakapai ake i nga raarangi ki te whakarereke i nga tikanga.

Kia kore ai e tukurua i o tatou he, ko nga keehi katoa i kitea i te wa o te kaiurungi ka kitea i roto i nga whakamatautau aunoa. Ko te maha o nga whakamatautau aunoa me nga waahanga whakamatautau ka taea e koe te whakahaere i nga whakamatautau whakahekenga me te whakauru i te hotfix i roto i etahi haora.

Inaianei kei te haere tonu taatau ki te whakawhanake me te whakapai ake i to maatau papaahi, me te whakaeke tonu i nga wero hou. Mena kei te pirangi koe, ka korero matou mo o maatau otinga i roto i nga tuhinga e whai ake nei.

Source: will.com

Tāpiri i te kōrero