Seirbheisean dìleab sa bhun-structair agad

Halò! Is e m ’ainm Pasha Chernyak, tha mi nam prìomh leasaiche aig QIWI, agus an-diugh tha mi airson bruidhinn mu na tha do-sheachanta. Mu Dìleab.

Feuch an tòisich sinn leis a 'cheist: dè a th' ann an seirbheis dìleab? An e seirbheis dìleab a th’ ann an seirbheis air nach do bhruidhinn an leasaiche airson seachdain/mìos/bliadhna? No an e seirbheis a th’ ann a chaidh a sgrìobhadh le prògramadair nach robh cho eòlach, mar eisimpleir, leatsa gu sònraichte, ach bliadhna air ais? Agus a-nis tha thu nas fhuaire agus nas eòlaiche. No an e seirbheis a th’ anns an t-seirbheis Dìleab a tha thu air co-dhùnadh gun a bhith a’ toirt seachad a-rithist agus a tha gu slaodach ag ullachadh seirbheis eile air a shon? Co-dhiù, is e boma ùine a dh’ fhaodadh spreadhadh nas fhaide air adhart a bhith a’ fàgail seirbheis mar sin gun neach-frithealaidh agus gun a bhith ag ùrachadh.

Seirbheisean dìleab sa bhun-structair agad

Mus gluais sinn air adhart gu mar a bhios sinn aig QIWI ag obair leis na seirbheisean Dìleab againn, innsidh mi dhut mar a thug sinn òrdugh dha na seirbheisean anns an Wallet. Airson dà bhliadhna a-nis tha mi air a bhith cunntachail airson a choileanadh. Ma tha duilgheadas sam bith ann, bidh iad an-còmhnaidh gam ghairm an-toiseach. Mar as trice chan eil mi cho duilich fios a chuir gu cuideigin eile aig 11f, agus mar sin bha agam ri suidhe sìos agus faighinn a-mach a h-uile seirbheis san raon againn.

Ach is toil leam, mar neach sam bith, a bhith a’ cadal air an oidhche, agus mar sin dh’ fheuch mi ri dèiligeadh ris a’ chleachdadh: “Guys, carson a tha thu gam ghairm?” Fhuair mi freagairt gu math laconic mar “Cò eile?” Leis gu bheil mi a’ càradh sheirbheisean, agus gu sìmplidh chan eil fios aig na balaich cò ris an cuir iad fios.

Mar sin, aig aon de na h-ath-shealladh air sgioba backend Wallet, cho-dhùin sinn gum feum sinn soidhne a dhèanamh le liosta de na seirbheisean againn, microservices agus monoliths wallet, agus an fheadhainn a tha an urra riutha. Tha comharran feumail san fharsaingeachd, taobh a-staigh crìochan reusanta.

A bharrachd air fiosrachadh mu cò a tha cunntachail airson dè, bha freagairtean do na ceistean: cò aig a bheil an t-seirbheis, cò a tha an urra ri leasachadh, ailtireachd agus cearcall-beatha. Is e na daoine le uallach airson na seirbheis seo na daoine as urrainn a chàradh ma thachras rudeigin. Tha còir aig sealbhadair na seirbheis +2 fhàgail ann an geallaidhean, feumaidh an fheadhainn le uallach a bhith an làthair aig an ath-sgrùdadh cuideachd mus gabh an t-seirbheis seo ri gealltanas ùr.

Mar a chaidh an ùine air adhart, thòisich cleachdaidhean ùra air an cur an sàs, mar eisimpleir, imrich gu Kubernetes, a h-uile seòrsa stoidhle seic, spotbugs, ktlint, làthaireachd logaichean ann an Kibana, seirbheisean lorg fèin-ghluasadach an àite a bhith a’ sònrachadh seòlaidhean gu dìreach agus rudan feumail eile. Agus anns a h-uile àite thug ar bòrd cothrom dhuinn iomchaidheachd ar seirbheisean a chumail suas. Dhuinne, is e seo seòrsa de liosta-sgrùdaidh a tha ag ràdh gun urrainn don t-seirbheis seo seo a dhèanamh, ach chan eil e fhathast. far a bheil gnìomhan cruinneachaidh air an cur air bhog ann an TeamCity, mar a bhios iad gan cleachdadh, far a bheil stòran deuchainnean end2end air an stòradh, dealbhan bho sheiseanan bainnse mun ailtireachd, mu na co-dhùnaidhean a chaidh a dhèanamh. Mas fheàrr, bu mhath leam am fiosrachadh seo gu lèir a bhith na laighe an àiteigin agus a bhith ri làimh nuair a bhios feum air. Mar sin, thàinig an soidhne againn gu bhith na thoiseach tòiseachaidh airson fiosrachadh a lorg.

Ach tha QIWI, ged a chumas e spiorad tòiseachaidh, na chompanaidh mòr. Tha sinn mu thràth 12 bliadhna a dh'aois, agus tha sgiobaidhean ag atharrachadh: bidh daoine a 'fàgail, bidh daoine a' tighinn, bidh sgiobaidhean ùra gan cruthachadh. Agus lorg sinn grunn sheirbheisean air an fhearann ​​​​againn a shealbhaich sinn. Thàinig cuid bho luchd-leasachaidh bho sgiobaidhean eile, cuid dìreach dòigh air choireigin co-cheangailte gu neo-dhìreach ris an Wallet, agus mar sin tha an t-seirbheis againn a-nis air a’ chothromachadh againn. A 'tuigsinn dè agus mar a tha e ag obair - carson? Bidh an t-seirbheis ag obair, agus tha feartan toraidh againn a dh’ fheumar a leasachadh gu cinnteach.

Ciamar a tha e a’ tachairt

Ach aig àm air choreigin tha sinn a 'faighinn a-mach gu bheil an t-seirbheis a' stad a bhith a 'coileanadh a dhleastanas, gu bheil rudeigin briste - dè a nì thu ann an suidheachadh mar sin? Tha an t-seirbheis dìreach air stad a bhith ag obair. Idir idir. Agus fhuair sinn a-mach mu dheidhinn seo, an toiseach, le tubaist, agus san dàrna, sia mìosan an dèidh sin. Bidh e a’ tachairt. Is e an aon rud a bha fios againn dè na h-innealan brìgheil a bhiodh an t-seirbheis air a chleachdadh, far an robh na stòran aice, agus sin agad. Bidh sinn a’ dèanamh clone git agus a’ dàibheadh ​​a-steach do inntinn an neach a sgrìobh seo o chionn beagan bhliadhnaichean, ach dè a chì sinn? Chan eil gin de Bhòt an Earraich air a bheil sinn eòlach, ged a tha sinn cleachdte ris a h-uile càil, tha làn stac againn agus sin uile. Is dòcha gu bheil Frèam Earrach ann? Ach chan eil.

Bha am fear a sgrìobh seo uile cruaidh agus sgrìobh e a h-uile dad ann an Java fìor. Chan eil innealan àbhaisteach ann airson leasaiche, agus tha beachd ag èirigh: feumaidh sinn seo ath-sgrìobhadh. Tha microservices againn, agus bho gach toaster thig na “Guys, microservices a tha a dhìth ort!” Ma thèid rudeigin ceàrr gu h-obann, faodaidh tu cànan sam bith a ghabhail gu socair agus bidh a h-uile dad gu math.

Is e an rud a th’ ann a-nis nach eil neach-ceannach againn a tha an urra ris an t-seirbheis seo. Dè na riatanasan gnìomhachais a bha aige, dè bu chòir don t-seirbheis seo a dhèanamh? Agus tha an t-seirbheis ceangailte gu teann ris na pròiseasan gnìomhachais agad.

A-nis innis dhomh, dè cho furasta ‘s a tha e seirbheis ath-sgrìobhadh gun fhios a bhith agad mu na riatanasan gnìomhachais aige? Chan eil e soilleir ciamar a tha an t-seirbheis air a chlàradh; chan eil fios a bheil meatrach ann. Tha na tha iad, ma tha gin ann, nas neo-aithnichte. Agus aig an aon àm, tha an t-seirbheis a 'toirt a-steach àireamh mhòr de chlasaichean de loidsig gnìomhachais nach gabh a thuigsinn. Tha rudeigin air a thoirt a-steach do sheòrsa de stòr-dàta, air nach eil fios againn fhathast mu dheidhinn fhathast.

Càite am bi thu a 'tòiseachadh?

Bhon phuing as loidsigeach - na tha ri fhaighinn de dheuchainnean. Mar as trice bidh co-dhiù beagan loidsig sgrìobhte an sin agus faodaidh tu co-dhùnaidhean a dhèanamh mu na tha a’ tachairt. A-nis tha TDD fasanta, ach chì sinn gu robh a h-uile dad 5 bliadhna air ais cha mhòr mar a tha e a-nis: cha mhòr nach eil deuchainnean aonaid ann, agus chan innis iad dad dhuinn idir. Uill, ach a-mhàin is dòcha dearbhadh de sheòrsa, mar a tha cuid de xml air a shoidhnigeadh le teisteanas àbhaisteach.

Cha b’ urrainn dhuinn dad a thuigsinn bhon chòd, agus mar sin chaidh sinn a dh’fhaicinn dè bha anns an inneal brìgheil. Dh’ fhosgail sinn na clàran seirbheis agus lorg sinn mearachd teachdaiche http annta; bha an teisteanas fèin-shoidhnichte a bha freumhaichte ann an goireasan an tagraidh air a ghrodadh gun nàire. Chuir sinn fios chun luchd-anailis againn, dh’ iarr iad teisteanas ùr, chuir iad a-mach e dhuinn agus tha an t-seirbheis ag obair a-rithist. Bhiodh e coltach gur e sin uile. No nach eil? Às deidh na h-uile, tha an t-seirbheis ag obair, bidh e a 'coileanadh cuid de dhleastanas a dh' fheumas ar gnìomhachas. Tha inbhean sònraichte againn airson leasachadh thagraidhean, a tha dualtach a bhith agad cuideachd. Mar eisimpleir, na stòraich logaichean air an nód ann am pasgan, ach stòraich iad ann an seòrsa de stòradh, leithid elastic, agus coimhead orra ann an Kibana. Faodaidh tu cuideachd cuimhneachadh air na slatan-tomhais òir. 'S e sin, an eallach air an t-seirbheis, an àireamh de dh'iarrtasan airson na seirbheis, co dhiubh a tha e beò no nach eil, ciamar a tha an HealthCheck aige a' dol. Aig a 'char as lugha, cuidichidh na meatrach seo thu le fios cuin a ghabhas a thoirt a-mach à seirbheis le cogais shoilleir agus a dhìochuimhneachadh mar dhroch aisling.

Dè a nì thu

Mar sin, bidh sinn a’ cur a leithid de sheann sheirbheis ris a’ bhòrd, agus an uairsin bidh sinn a’ coimhead airson saor-thoilich am measg an luchd-leasachaidh a bhios a’ gabhail cùram den t-seirbheis agus ga chur ann an òrdugh: sgrìobhaidh iad co-dhiù beagan fiosrachaidh mun t-seirbheis, cuiridh iad ceanglaichean ris deas-bhòrdan ann an grafana, gus gnìomhan cruinneachaidh, agus tuigsinn mar a Cleachd an tagradh, na luchdaich suas faidhlichean le làimh a’ cleachdadh ftp.

Is e am prìomh rud dè cho fada ‘s a bheir an obair shaor-thoileach seo gu lèir? Aon sprint airson leasaiche nas eòlaiche no nas lugha, mar eisimpleir, rè fiachan teicnigeach 20%. Dè cho fada ’s a thug e a bhith a’ tuigsinn a h-uile loidsig toinnte a thaobh conaltradh le siostam stàite sònraichte agus a thoirt gu teicneòlasan nas ùire? Chan urrainn dhomh dearbhadh airson seo, is dòcha mìos no is dòcha dhà de dh’ obair na sgioba. Bidh mi ag ràdh seo bho eòlas air amalachadh gnàthach le beagan seirbheis ùr.

Aig an aon àm, chan eil luach gnìomhachais air a leigeil ma sgaoil. Idir idir. Tha e àbhaisteach seirbheis fhastadh airson taic agus beagan ùine a chaitheamh air. Ach às deidh na dannsan àbhaisteach againn leis an t-seirbheis, chuir sinn ris a’ bhòrd e, chuir sinn fiosrachadh mu dheidhinn agus, is dòcha, ath-sgrìobhaidh sinn e uaireigin. Ach a-nis tha e a’ coinneachadh ris na h-ìrean seirbheis againn.

Mar thoradh air an sin, bu mhath leam plana a dhèanamh airson dè nì mi le seirbheisean Dìleab.

Is e droch bheachd a th’ ann dìleab ath-sgrìobhadh bhon fhìor thoiseach
Gu fìrinneach, chan fheum thu eadhon smaoineachadh mu dheidhinn. Tha e soilleir gum bu toil leam e, agus tha buannachdan ann, ach mar as trice chan eil feum aig duine air, thu fhèin nam measg.

Leabhar fiosrachaidh
Cladhaich a-mach còdan stòr nan tagraidhean agad, dèan leabhar fiosrachaidh a sheallas càite agus ciamar a tha e ag obair, cuir a-steach tuairisgeul air a’ phròiseact an sin (readme.md le cumhachan) gus tuigsinn gu sgiobalta far a bheil na logaichean agus na meatrach suidhichte. Cha toir an leasaiche a dhèiligeas ri seo às deidh dhut ach taing.

Tuig an àrainn
Ma tha àrainn agad, feuch ri do mheur a chumail air a’ chuisle. Tha e caran beag, tha, ach chan eil a h-uile duine a’ dèanamh cinnteach gu bheil na seirbheisean ann an aon iuchair. Ach tha e gu math nas fhasa obrachadh ann an aon ìre.

Chan fhaod ach luchd-cleachdaidh clàraichte pàirt a ghabhail san sgrùdadh. Soidhnig a-steach, mas e do thoil e.

Dè nì thu leis an dìleab agad?

  • 31.5%Tha mi ag ath-sgrìobhadh bhon toiseach, tha e nas ceart 12

  • 52.6%Cha mhòr an aon rud riut fhèin20

  • 10.5%Chan eil dìleab againn, tha sinn sgoinneil4

  • 5.2%Sgrìobhidh mi anns na beachdan2

Bhòt 38 neach-cleachdaidh. Sheall 20 neach-cleachdaidh.

Source: www.habr.com

Cuir beachd ann