Halò! Is mise Pasha Chernyak, tha mi nam phrÏomh leasaiche aig QIWI, agus an-diugh tha mi airson bruidhinn mun rud do-sheachanta: DÏleab.
Tòisichidh sinn leis aâ cheist: dè a thâ ann an seirbheis dĂŹleab? An e seirbheis dĂŹleab seirbheis nach do bhean leasaiche ris ann an seachdain/mĂŹos/bliadhna? No an e seirbheis a chaidh a sgrĂŹobhadh le prògramadair nach eil cho eòlach, mar thusa, bliadhna air ais? Agus a-nis tha barrachd eòlais agus comas agad. No an e seirbheis dĂŹleab seirbheis a tha thu air co-dhĂšnadh gun a bhith aâ gealltainn a-rithist agus gu sĂ mhach ag ullachadh fear eile na Ă ite? Co-dhiĂš, tha fĂ gail seirbheis mar sin gun neach-frithealaidh agus gun Ăšrachadh na bhoma-tĂŹm a dhâ fhaodadh spreadhadh nas fhaide air adhart.
Mus bruidhinn mi air mar a bhios sinn aig QIWI aâ riaghladh ar seirbheisean Legacy, innsidh mi dhut mar a rinn sinn ar seirbheisean Wallet nas sĂŹmplidhe. Tha mi air a bhith an urra ris aâ ghnĂŹomhachd airson dĂ bhliadhna a-nis. Ma tha duilgheadas ann, is mise aâ chiad neach a chuireas daoine fios thuige an-còmhnaidh. Mar as trice chan eil an misneachd agam fios a chuir gu duine sam bith eile aig 11f, agus mar sin dhâfheumadh mi suidhe sĂŹos agus obrachadh a-mach na seirbheisean uile san raon againn.
Ach mar a h-uile duine eile, is toil leam cadal air an oidhche, agus mar sin dhâfheuch mi ri faighinn a-mach ciamar a chleachdas mi e: âA ghillean, carson a tha sibh gam ghairm?â Agus fhuair mi freagairt caran goirid mar âCò eile?â Leis gu bheil mi aâ cĂ radh sheirbheisean, agus chan eil fios aig na balaich cò a ghairmeas iad.
Mar sin, aig aon de na taisbeanaidhean a rinn sgioba cĂšl-taic Wallet, chuir sinn romhainn clĂ r a chruthachadh aâ liostadh ar seirbheisean, ar microservices, agus ar monoliths wallet, còmhla ris an fheadhainn a tha an urra riutha. San fharsaingeachd, tha clĂ ran feumail, taobh a-staigh reusanta.
A bharrachd air fiosrachadh mu cò a tha cunntachail airson dè, fhreagair e ceistean cuideachd mu cò leis a tha an t-seirbheis, cò a tha cunntachail airson a leasachadh, ailtireachd, agus cearcall-beatha. Is iadsan a tha cunntachail airson na seirbheis seo an fheadhainn as urrainn a cà radh ma thachras rudeigin. Tha còir aig sealbhadair na seirbheis +2 fhà gail ann an geallaidhean, agus feumaidh an fheadhainn a tha cunntachail a bhith an là thair aig an ath-sgrÚdadh mus gabh an t-seirbheis ri gealladh Úr.
Mar a chaidh an Ăšine seachad, nochd cleachdaidhean Ăšra, leithid imrich Kubernetes, checkstyle, spotbugs, ktlint, logaichean Kibana, fèin-lorg seirbheis an Ă ite URLan a shònrachadh gu dĂŹreach, agus feartan feumail eile. Agus anns na raointean sin uile, chuidich an clĂ r againn sinn gus na seirbheisean againn a chumail suas ris an latha. Dhuinne, is e seòrsa de liosta-sgrĂšdaidh a thâ ann a dhâinnseas dhuinn dè as urrainn do sheirbheis a dhèanamh, ach chan eil fhathast dè as urrainn dhi a dhèanamh. Ach ghluais sinn air adhart, aâ tuigsinn nach robh fiosrachadh againn mu na seirbheisean a bhios sinn aâ cumail sĂšil orra: cĂ ite a bheil còd tĂšsail na seirbheis aâ fuireach, cĂ ite a bheil gnĂŹomhan togail air an ruith ann an TeamCity, mar a tha iad air an cleachdadh, cĂ ite a bheil còd tĂšsail deuchainn deireadh-gu-deireadh air a stòradh, dealbhan bho sheiseanan sgeadachaidh ailtireachd, agus dealbhan de cho-dhĂšnaidhean a chaidh a dhèanamh. Gu h-iomchaidh, bha sinn airson gum biodh an fhiosrachadh seo uile air a stòradh an Ă iteigin agus ri fhaighinn gu furasta. Mar sin, thĂ inig an clĂ r againn gu bhith na thoiseach tòiseachaidh airson fiosrachadh fhaighinn air ais.
Ach tha QIWI, ged a tha iad aâ cumail spiorad gnĂŹomhachas Ăšr, na chompanaidh mhòr. Tha sinn air a bhith mun cuairt airson 12 bliadhna, agus bidh sgiobaidhean ag atharrachadh: bidh daoine aâ falbh, bidh daoine aâ tighinn còmhla, bidh sgiobaidhean Ăšra gan cruthachadh. Lorg sinn grunn sheirbheisean dĂŹleab air an raon againn. ThĂ inig cuid le luchd-leasachaidh bho sgiobaidhean eile, bha cuid eile dĂŹreach ceangailte gu neo-dhĂŹreach ris aâ Wallet, agus mar sin tha an t-seirbheis a-nis air aâ chlĂ r cothromachaidh againn. Carson a bu chòir dhuinn dragh a ghabhail mu na tha ag obair agus ciamar? Tha an t-seirbheis ag obair, agus tha feartan toraidh againn a dhâ fheumar a chur an gnĂŹomh.
Mar a thachras e
Ach aig Ă m air choreigin, bidh sinn aâ faighinn a-mach nach eil an t-seirbheis ag obair tuilleadh, gu bheil rudeigin bristeâdè a nĂŹ sinn ann an suidheachadh mar sin? Bidh an t-seirbheis dĂŹreach aâ stad ag obair. Gu tur. Agus fhuair sinn a-mach mu dheidhinn, an toiseach, gun fhiosta, agus san dĂ rna Ă ite, sia mĂŹosan an dèidh sin. Bidh e aâ tachairt. Bâ e an aon rud a bha fios againn dè na h-innealan brĂŹgheil air an robh an t-seirbheis air a chleachdadh, cĂ ite an robh a chòd tĂšsail, agus bâ e sin e. Bidh sinn aâ dèanamh clòn git agus aâ dĂ ibheadh ââââââa-steach do inntinn an neach a sgrĂŹobh seo grunn bhliadhnaichean air ais, ach dè a chĂŹ sinn? Chan eil gin den Spring Boot ris a bheil sinn cleachdte, eadhon ged a tha sinn cleachdte ri a h-uile cĂ il, tha lĂ n chruach againn agus a h-uile cĂ il sin. Is dòcha gu bheil Spring Framework aca? Chan eil.
Bha an duine a sgrÏobh seo uile cruaidh agus sgrÏobh e a h-uile cà il ann an Java fÏor-ghlan. Tha na h-innealan leasachaidh à bhaisteach a dhÏth, agus tha am beachd ag èirigh: feumaidh sinn a h-uile cà il ath-sgrÏobhadh. Tha microservices againn, às dèidh a h-uile cà il, agus bho gach tostair thig an glaodh eòlach, "A dhaoine, is e microservices a tha a dhÏth oirbh!" Ma thèid rudeigin ceà rr gu h-obann, faodaidh tu cà nan sam bith a thogail gu furasta agus bidh a h-uile cà il ceart gu leòr.
Is e an rud, chan eil neach-dèiligidh againn an-drà sta a tha an urra ris an t-seirbheis seo. Dè na riatanasan gnÏomhachais aca? Dè bu chòir don t-seirbheis seo a dhèanamh dha-rÏribh? Agus tha an t-seirbheis air a h-aonachadh gu dlÚth ri pròiseasan do ghnÏomhachais.
A-nis innis dhomh, dè cho furasta 's a tha e seirbheis ath-sgrÏobhadh gun a bhith eòlach air na riatanasan gnÏomhachais aice? Chan eil e soilleir ciamar a thèid an t-seirbheis a chlà radh, agus chan eil fios a bheil meatrach sam bith ann. Dè a th' annta, ma tha gin ann, chan eil fios againn fhathast. Agus gidheadh, tha à ireamh mhòr de chlasaichean anns an t-seirbheis le loidsig ghnÏomhachais neo-shoilleir. Tha cuid dheth air a ghabhail a-steach ann an stòr-dà ta air choreigin, agus chan eil fios againn dad mu dheidhinn fhathast.
Cà ite am bi thu a 'tòiseachadh?
Aâ tòiseachadh leis an rud as loidsigeachâdeuchainnean a bhith agad. Mar as trice bidh co-dhiĂš beagan loidsig sgrĂŹobhte aca, aâ leigeil leinn co-dhĂšnaidhean a tharraing mu na tha aâ dol. Tha TDD fasanta na lĂ ithean seo, ach chĂŹ sinn còig bliadhna air ais, bha a h-uile dad cha mhòr mar a tha e a-nis: chan eil cha mhòr deuchainnean aonaid ann, agus chan eil iad ag innse dad dhuinn. Uill, ach a-mhĂ in is dòcha seòrsa de sgrĂšdadh, mar a tha faidhle XML air a shoidhnigeadh le teisteanas gnĂ thaichte.
Cha bâ urrainn dhuinn dad a thuigsinn bhon chòd, agus mar sin chaidh sinn a sgrĂšdadh an inneil fhĂŹor-dhealbhach. Dhâfhosgail sinn na logaichean seirbheis agus lorg sinn mearachd teachdaiche HTTP, agus bha an teisteanas fèin-shoidhnichte a bha anns na goireasan tagraidh air a dhol dona. Chuir sinn fios chun na sgrĂšdairean againn, dhâiarr iad teisteanas Ăšr, thug iad a-mach fear, agus bha an t-seirbheis ag obair a-rithist. Tha e coltach gur e sin a bhâ ann. No an e? Ăs dèidh a h-uile cĂ il, tha an t-seirbheis ag obair; bidh e aâ coileanadh gnĂŹomh a dhâ fheumas ar gnĂŹomhachas. Tha inbhean leasachaidh tagraidh sònraichte againn, agus is dòcha gu bheil iad sin agadsa cuideachd. Mar eisimpleir, na stòraich logaichean ann am pasgan air an nĂłd, ach stòraich iad ann an stòras mar Elastic, agus cĂšm sĂšil orra ann an Kibana. Faodaidh tu cuideachd cuimhneachadh air na meatairean òrail: an luchd seirbheis, an Ă ireamh de dhâiarrtasan, ge bith a bheil e beò no marbh, agus dè cho math âs a thèid e seachad air HealthCheck. Aig aâ char as lugha, cuidichidh na meatairean seo thu gus fios a bhith agad cuin as urrainn dhut a dhĂŹ-choimiseanadh gu sĂ bhailte agus dĂŹochuimhneachadh mar dhroch aisling.
Dè a nÏ thu
Mar sin cuiridh sinn an t-seann t-seirbheis seo ris aâ bhòrd, agus an uairsin bidh sinn aâ coimhead airson luchd-leasachaidh saor-thoileach a ghabhas thairis an t-seirbheis agus a sgioblaicheas i: sgrĂŹobhaidh iad co-dhiĂš beagan fiosrachaidh mun t-seirbheis, cuiridh iad ceanglaichean ri deas-bhòrd Grafana, gus gnĂŹomhan a thogail, agus obraichidh iad a-mach mar a chuireas iad an aplacaid an gnĂŹomh, seach faidhlichean a luchdachadh suas le lĂ imh tro FTP.
Is e am prĂŹomh rud, dè cho fada âs a bheir an obair shaor-thoileach fheumail seo uile? Aon ruith luath airson leasaiche le barrachd no nas lugha eòlais, can, rè Ăšine fiachan teicnigeach 20%. Agus dè cho fada âs a thug e gus tuigse fhaighinn air a h-uile loidsig a tha an lĂšib eadar-obrachadh le siostam riaghaltais sònraichte agus atharrachadh a dhèanamh air teicneòlasan nas Ăšire? Chan urrainn dhomh dearbhadh a dhèanamh air sin; dhâ fhaodadh e mĂŹos, is dòcha dĂ mhĂŹos eadhon, de dhâ obair na sgioba a thoirt. Tha mi aâ bruidhinn bho eòlas aâ toirt a-steach seirbheis Ăšr an-drĂ sta.
Ach, chan eil luach gnĂŹomhachais sam bith ann idir. Tha e gu tur ceart gu leòr seirbheis a ghabhail os lĂ imh agus beagan Ăšine a chaitheamh ga taic. Ach an dèidh ar n-obair Ă bhaisteach leis an t-seirbheis, chuir sinn ris aâ chlĂ r-obrach e, chuir sinn beagan fiosrachaidh mu dheidhinn, agus is dòcha gun sgrĂŹobh sinn a-rithist e latha air choireigin. An-drĂ sta, tha e aâ coinneachadh ris na h-inbhean seirbheis againn.
Mar cho-dhÚnadh, bu mhath leam plana de sheòrsa air choreigin a chruthachadh airson dè a nÏ mi le seirbheisean Legacy.
Is e droch bheachd a thâ ann dĂŹleab ath-sgrĂŹobhadh bhon fhĂŹor thoiseach
Gu dona, chan fheum thu eadhon smaoineachadh mu dheidhinn. Gu dearbh, bu toil leat, agus tha cuid de bhuannachdan ann, ach mar as trice, chan eil feum aig duine air, thusa nam measg.
Leabhar fiosrachaidh
Faigh a-mach còd tÚsail nan aplacaidean agad, cruthaich leabhar-là imhe fiosrachaidh a mhÏnicheas cà ite a bheil e agus ciamar a tha e ag obair, agus cuir a-steach tuairisgeul pròiseict (mar fhaidhle readme.md) gus an urrainn dhut fhaicinn gu sgiobalta cà ite a bheil na logaichean agus na meatrach. Bidh an leasaiche a thig às do dhèidh taingeil.
Tuig an raon
Ma tha fearann ââagad, feuch ri do mheur a chumail air aâ chuisle. Tha e aâ fuaimeachadh sĂŹmplidh, seadh, ach chan eil a h-uile duine aâ dèanamh cinnteach gu bheil na seirbheisean aca cunbhalach. Agus gidheadh, tha e tòrr nas fhasa a bhith ag obair taobh a-staigh aon inbhe.
Chan fhaod ach luchd-cleachdaidh clĂ raichte pĂ irt a ghabhail san sgrĂšdadh. , mas e do thoil e.
Dè nÏ thu leis an dÏleab agad?
31.5%Tha mi ga ath-sgrÏobhadh bhon fhÏor thoiseach, tha e nas ceart san dòigh seo.
52.6%Cha mhòr an aon rud riut fhèin20
10.5%Chan eil dĂŹleab againn, tha sinn math.
5.2%SgrĂŹobhaidh mi anns na beachdan.
Bhòt 38 neach-cleachdaidh. Sheall 20 neach-cleachdaidh.
Source: www.habr.com
