Serivisy lova ao amin'ny fotodrafitrasao

Salama! Pasha Chernyak no anarako, mpamorona lehibe ao amin'ny QIWI aho, ary androany aho dia te hiresaka momba ny tsy azo ihodivirana. Momba ny Lova.

Andeha isika hanomboka amin'ny fanontaniana hoe: inona ny serivisy Legacy? Serivisy tsy nokasihin'ny mpamorona nandritra ny herinandro/volana/taona ve ny serivisy lova? Sa serivisy izay nosoratan'ny programer tsy dia za-draharaha, ohatra, nataonao manokana, nefa herintaona lasa izay? Ary ankehitriny dia mangatsiatsiaka sy manana traikefa kokoa ianao. Sa ve ny serivisy Legacy dia tolotra izay nanapa-kevitra ny tsy hanolo-tena intsony ary manomana tsikelikely ny fanoloana azy? Na izany na tsy izany, ny famelana ny serivisy toy izany tsy voakarakara sy tsy manavao dia baomba fotoana mety hipoaka any aoriana.

Serivisy lova ao amin'ny fotodrafitrasao

Alohan'ny hirosoanay amin'ny fomba fiasanay ao amin'ny QIWI amin'ny serivisinay Lova dia holazaiko aminao ny fomba nitondranay ny tolotra tao amin'ny Wallet. Roa taona izao aho no tompon'andraikitra amin'ny fanatanterahana azy. Raha misy olana dia miantso ahy foana aloha ry zareo. Matetika aho no tsy sahy miantso olon-kafa amin'ny 11 ora alina, ka voatery nipetraka aho ary nijery ny serivisy rehetra tao amin'ny sehatra misy anay.

Fa izaho, tahaka ny olona rehetra, dia tia matory amin'ny alina, ka niezaka ny hiatrika ny fanararaotana: "Ry lehilahy, nahoana ianao no miantso ahy?" Nahazo valim-panontaniana somary laconic toy ny hoe “Iza koa?” Satria manamboatra serivisy aho, ary tsy fantatry ny bandy fotsiny hoe iza no hiantso.

Noho izany, tamin'ny iray amin'ireo famerenana ny ekipan'ny Wallet backend, dia nanapa-kevitra izahay fa mila manao sonia miaraka amin'ny lisitry ny serivisy, microservices ary monoliths amin'ny poketra, ary ireo tompon'andraikitra amin'izany. Ny famantarana dia mahasoa amin'ny ankapobeny, ao anatin'ny fetra mety.

Ho fanampin'ny fampahafantarana momba izay tompon'andraikitra amin'ny inona, dia nisy ny valin'ny fanontaniana hoe: iza no tompon'ny serivisy, izay tompon'andraikitra amin'ny fivoarany, ny maritrano ary ny tsingerin'ny fiainany. Ny olona tompon'andraikitra amin'ity serivisy ity dia ireo olona afaka manamboatra izany raha misy zavatra mitranga. Ny tompon'ny serivisy dia manan-jo hamela +2 amin'ny commits, ireo tompon'andraikitra dia tsy maintsy manatrika ihany koa amin'ny famerenana alohan'ny hanaiky ity serivisy ity amin'ny fanoloran-tena vaovao.

Rehefa nandeha ny fotoana, dia nanomboka nampiharina ny fanao vaovao, ohatra, ny fifindra-monina mankany Kubernetes, ny karazana checkstyle rehetra, ny spotbugs, ny ktlint, ny fisian'ny logs ao Kibana, ny serivisy autodiscovery fa tsy manondro mivantana ny adiresy sy ny zavatra mahasoa hafa. Ary na aiza na aiza ny latabatray dia namela anay hitazona ny maha-zava-dehibe ny serivisy. Ho anay, ity dia karazana lisitra milaza fa afaka manao an'izany ity serivisy ity, saingy tsy mbola nandroso izahay, nahatsapa fa tsy ampy ny fampahalalana momba ny serivisy, izay manara-maso, ny toerana misy ny loharanon'ny serivisy. aiza no anombohana ny asa fivoriambe ao amin'ny TeamCity, ny fomba ametrahana azy ireo, ny toerana hitehirizana ny loharanon'ny fitsapana end2end, sary avy amin'ny fotoam-pikarakarana momba ny maritrano, momba ny fanapahan-kevitra noraisina. Ny tsara indrindra dia tiako hapetraka any amin'ny toerana iray ary ho eo am-pelatanana ireo fampahalalana rehetra ireo rehefa ilaina izany. Noho izany, ny famantaranay no lasa toerana niaingan’ny fikarohana vaovao.

Saingy ny QIWI, na dia mitazona ny fanahin'ny fanombohana aza, dia orinasa lehibe. Efa 12 taona isika, ary miova ny ekipa: miala ny olona, ​​tonga ny olona, ​​miforona ny ekipa vaovao. Ary nahita serivisy maromaro tao amin'ny sehatray izay nolovainay izahay. Ny sasany dia avy amin'ny mpamorona avy amin'ny ekipa hafa, ny sasany dia mifandray ankolaka amin'ny Wallet, noho izany dia manana ny serivisy ao amin'ny takela-bolantsika izahay. Ny fahatakarana ny inona sy ny fomba fiasa - nahoana? Mandeha ny serivisy, ary manana endri-javatra vokatra izay tena mila hatsaraina izahay.

Ahoana no mitranga

Saingy amin'ny fotoana iray dia hitantsika fa mijanona amin'ny asany ny serivisy, misy zavatra tapaka - inona no tokony hatao amin'ny toe-javatra toy izany? Nitsahatra fotsiny ny serivisy. Na izany aza. Ary fantatray izany, voalohany, tsy nahy, ary faharoa, enim-bolana taty aoriana. Mitranga izany. Ny hany fantatray dia ny hoe aiza ny milina virtoaly hapetraka ny serivisy, ny toerana misy ny loharanony, ary izay ihany. Manao clone git isika ary miditra ao an-tsain'ilay olona nanoratra an'io taona vitsivitsy lasa izay, fa inona no hitantsika? Tsy misy amin'ny Spring Boot izay mahazatra antsika, na dia efa zatra amin'ny zava-drehetra aza izahay, dia manana stack feno sy izay rehetra. Angamba misy Lohataona Framework ao? Saingy tsia.

Henjana ilay lehilahy nanoratra izany rehetra izany ary nanoratra ny zava-drehetra tamin'ny Java madio. Tsy misy fitaovana mahazatra ho an'ny mpamorona, ary misy hevitra mipoitra - mila manoratra izany rehetra izany isika. Manana microservices izahay, ary avy amin'ny toaster rehetra dia misy ny mahazatra "Ry zalahy, microservices no ilainao!" Raha misy zavatra tsy mety tampoka, dia azonao atao ny mandray am-pahatoniana ny fiteny rehetra ary hilamina ny zava-drehetra.

Ny zava-misy dia izao dia tsy manana mpanjifa tompon'andraikitra amin'ity serivisy ity izahay. Inona no fepetra takian'ny orinasa nananany, inona no tokony hataon'ity serivisy ity? Ary ny serivisy dia tafiditra tanteraka amin'ny fizotran'ny orinasanao.

Lazao ahy izao, mora ve ny mamerina manoratra serivisy nefa tsy mahafantatra ny fepetra takian'ny orinasa? Tsy mazava ny fomba fidiran'ny serivisy raha misy ny metrika tsy fantatra. Inona izy ireo, raha misy, dia vao mainka tsy fantatra. Ary miaraka amin'izay koa, ny serivisy dia misy kilasy tsy takatry ny saina ara-barotra. Misy zavatra ampidirina ao anatin'ny karazana tahiry sasany, izay mbola tsy fantatsika na inona na inona.

Aiza no hanombohana?

Avy amin'ny teboka lojika indrindra - ny fisian'ny fitsapana. Matetika dia misy lojika voasoratra ao ary azonao atao ny manatsoaka hevitra momba ny zava-mitranga. Ankehitriny dia lamaody ny TDD, saingy hitantsika fa 5 taona lasa izay dia saika nitovy tamin'ny ankehitriny ny zava-drehetra: saika tsy misy fitsapana vondrona, ary tsy hilaza na inona na inona amintsika izy ireo. Eny, afa-tsy ny karazana fanamarinana sasany, ny fomba nanasoniavana ny xml sasany miaraka amin'ny taratasy fanamarinana manokana.

Tsy azonay na inona na inona avy amin'ny kaody, ka nandeha nijery izay tao anaty milina virtoaly izahay. Nosokafanay ny diarin'ny serivisy ary hitanay ny hadisoan'ny mpanjifa http tao amin'izy ireo; Nifandray tamin'ny mpandinika anay izahay, nangataka taratasy fanamarinana vaovao izy ireo, namoaka izany taminay ary miasa indray ny serivisy. Toa izay ihany. Na tsia? Rehefa dinihina tokoa, miasa ny serivisy, manatanteraka asa sasany ilain'ny orinasanay. Manana fenitra sasantsasany momba ny fampivoarana fampiharana izahay, izay mety ho anananao koa. Aza mitahiry logs amin'ny node ao anaty lahatahiry, ohatra, fa tehirizo ao anaty karazana fitahirizana sasany, toy ny elastika, ary jereo ao amin'ny Kibana. Azonao atao koa ny mitadidy ny metrika volamena. Izany hoe ny enta-mavesatra amin'ny serivisy, ny isan'ny fangatahana ny serivisy, na velona izy na tsia, ny fandehan'ny HealthCheck azy. Farafaharatsiny, ireo metrika ireo dia hanampy anao hahafantatra hoe rahoviana no azo esorina amin'ny serivisy amin'ny feon'ny fieritreretana madio ary hadino toy ny nofy ratsy.

Inona no tokony hatao?

Noho izany, manampy serivisy tranainy toy izany eo amin'ny latabatra izahay, ary avy eo dia mitady mpilatsaka an-tsitrapo avy amin'ireo mpamorona izay hikarakara ny serivisy ary hametraka izany amin'ny filaharany: hanoratra farafaharatsiny momba ny serivisy izy ireo, ampio rohy mankany dashboards ao amin'ny grafana, amin'ny asa fivoriambe, ary fantaro ny fomba fametrahana ny fampiharana, aza mampakatra rakitra amin'ny alàlan'ny ftp.

Ny tena zava-dehibe dia haharitra hafiriana izao asa an-tsitrapo mahasoa rehetra izao? Haingana iray ho an'ny mpamorona efa za-draharaha kokoa na latsaka, ohatra, mandritra ny trosa ara-teknika 20%. Naharitra hafiriana vao nahatakatra ny lojikan'ny fifandraisana rehetra tamin'ny rafi-panjakana iray ka nitondra izany tamin'ny teknolojia vaovao? Tsy azoko antoka izany, mety ho iray volana, na roa, amin'ny asan'ny ekipa. Ilazako izany avy amin'ny traikefa amin'ny fampidirana amin'izao fotoana izao amin'ny serivisy vaovao sasany.

Mandritra izany fotoana izany, tsy misy famoahana ny sandan'ny orinasa. Na izany aza. Ara-dalàna ny manakarama serivisy ho fanohanana ary mandany fotoana kely amin'izany. Saingy taorian'ny dihy mahazatra anay miaraka amin'ny serivisy, dia nampidirinay teo amin'ny latabatra izany, nampiana vaovao momba izany ary, angamba, hanoratra izany indray andro any. Fa izao dia mahafeno ny fenitry ny serivisy.

Vokatr'izany dia te-hanao drafitra momba ny zavatra hatao amin'ny serivisy Legacy aho.

Hevitra ratsy ny mamerina manoratra ny lova avy amin'ny scratch
Raha ny marina, tsy mila mieritreritra an'izany ianao. Mazava fa tiako izany, ary misy tombony, fa matetika tsy misy mila izany, anisan'izany ny tenanao.

lahatahiry
Fantaro ny kaody loharanon'ny rindranasao, manaova boky fanondroana izay hanondro ny toerana misy azy sy ny fomba fiasany, ampidiro ny famaritana ny tetikasa ao (conditional readme.md) mba hahafantarana haingana ny toerana misy ny logs sy ny metrika. Ny mpandrindra izay hiatrika izany aorian'ny anao dia tsy hiteny afa-tsy misaotra.

Fantaro ny sehatra
Raha manana sehatra ianao dia miezaha hitazona ny rantsan-tànanao amin'ny pulse. Toa tsinontsinona izany, eny, saingy tsy ny rehetra no manao izay hahazoana antoka fa ao anaty fanalahidy tokana ny serivisy. Saingy mora kokoa ny miasa amin'ny fenitra iray.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Inona no ataonao amin'ny lovanao?

  • 31.5%Manoratra hatrany am-boalohany aho, marina kokoa ny 12

  • 52.6%Saika mitovy aminao20

  • 10.5%Tsy manana lova isika fa lehibe4

  • 5.2%Hanoratra ao amin'ny commentaire2 aho

Mpampiasa 38 no nifidy. Mpampiasa 20 no nifady.

Source: www.habr.com

Mividiana fampiantranoana azo antoka ho an'ny tranokala misy fiarovana DDoS, mpizara VPS VDS 🔥 Mividiana fampiantranoana tranonkala azo antoka miaraka amin'ny fiarovana DDoS, mpizara VPS VDS | ProHoster