Seirbheisean dĂŹleab sa bhun-structair agad

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.

Seirbheisean dĂŹleab sa bhun-structair agad

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. Soidhnig a-steach, 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

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster