Մենք վերջերս սկսեցինք մի փոքր նախագիծ՝ մաքրելու, թե ինչպես են մեր համակարգերի մասերը կուլիսներում հաղորդակցվում Buffer-ում: Որոշ արագ ենթատեքստ. մենք օգտագործում ենք SQS (Amazon Simple Queue Service: Այս հերթերը գործում են որպես սպասասրահներ՝ առաջադրանքների համար: Մեր համակարգի մի մասը թողարկում է հաղորդագրությունը, իսկ մյուսը վերցնում է այն ավելի ուշ: Մտածեք, որ դա գրություն է թողնում գործընկերոջը, երբ դուք ստանում եք այս հնարավորությունը: Պետք չէ սպասել պատասխանի: Մեր նախագիծն էր կատարել սովորական սպասարկում. թարմացնել գործիքները, որոնք մենք օգտագործում ենք հերթերը լոկալ փորձարկելու և դրանց կազմաձևումը մաքրելու համար: Բայց մինչ մենք քարտեզագրում էինք, թե իրականում ինչ հերթեր ենք օգտագործում, մենք գտանք մի բան, որը չէինք սպասում Ահա թե ինչու է դա կարևոր, ինչպես մենք գտանք դրանք և ինչ արեցինք դրա հետ կապված: Ինչու՞ է սա ավելի կարևոր, քան դուք կարծում եք: Այո, անհարկի ենթակառուցվածքը ծախսում է գումար, և այդ աշխատողներից մեկի համար մենք կվճարեինք 360-600 դոլար 5 տարվա ընթացքում: Մաքրում, ես կպնդեմ, որ ֆինանսական ծախսերը իրականում խնդրի ամենափոքր մասն են: Ամեն անգամ, երբ նոր ինժեներ է միանում թիմին և ուսումնասիրում մեր համակարգերը, նրանք բախվում են այս առեղծվածային գործընթացներին: Անվտանգության թարմացումները, կախվածության շտկումները, երբ ինչ-որ այլ բան փոխվում է, հանգեցրել է նրան, որ մեր թիմը ծախսում է ոչ մի նպատակի համար նախատեսված ցիկլեր: Բնականաբար տեղի է ունենում ցանկացած երկարատև համակարգում: Ֆոնային աշխատանքը, որն աջակցում էր այն, շարունակում է աշխատել Ընթացիկ ամսաթվին համապատասխանող ծննդյան օրվա ամբողջ տվյալների բազան և 2020-ին վերամշակող էլ. Տարիներ առաջ շարժումը (հանրաճանաչ մոտեցում, որտեղ ընկերությունները բաժանեցին իրենց կոդը բազմաթիվ փոքր, անկախ ծառայությունների): Համախմբվել է բազմաֆունկցիոնալ շտեմարանի մեջ: Ծառայությունները դեռևս գոյություն ունեն որպես տրամաբանական սահմաններ, բայց դրանք միասին են ապրում: Պարզվեց, որ դա հնարավոր է դարձրել հայտնագործությունը: Միկրոծառայությունների աշխարհում մոռացված աշխատողը կարող է երբեք չնկատվել մեկ այլ վայրում աշխատող ինժեներների կողմից: Մեկ պահեստում մենք կարողացանք հետևել յուրաքանչյուր հերթին՝ արտադրողների և արտադրողների հետ, բայց չկարողացանք գտնել աշխատողների, որոնք վկայակոչում էին այն հերթերը, որոնք այլևս գոյություն չունեին:բացահայտումը գրեթե անխուսափելի է: Ինչ մենք իրականում արեցինք Երբ մենք բացահայտեցինք որբ գործընթացները, մենք պետք է որոշեինք, թե ինչ անել դրանց հետ: Ահա, թե ինչպես ենք մենք մոտեցել դրան: Նախ, մենք հետևեցինք յուրաքանչյուրի ծագմանը: Մենք փորել ենք git պատմությունը և հին փաստաթղթերը՝ հասկանալու համար, թե ինչու է ստեղծվել յուրաքանչյուր աշխատող ի սկզբանե: Շատ դեպքերում սկզբնական նպատակը պարզ էր. տվյալների միանվագ տեղափոխում, մի հատկանիշ, որը ստացավ մայրամուտ, ժամանակավոր լուծում, որը գերազանցեց դրա օգտակարությունը: Հետո մենք հաստատեցինք, որ դրանք իսկապես չօգտագործված են: Նախքան որևէ բան հեռացնելը, մենք ավելացրեցինք գրանցումը՝ ստուգելու համար, որ այս գործընթացները հանգիստ չեն անում ինչ-որ կարևոր բան, որը մենք բաց էինք թողել: Մի քանի օր մոնիտորինգ ենք արել, որպեսզի համոզվենք, որ նրանց ընդհանրապես չեն կանչել, և աստիճանաբար հեռացրել ենք: Մենք ամեն ինչ միանգամից չենք ջնջել։ Մենք հերթով հեռացրել ենք պրոցեսները՝ հետևելով ցանկացած անսպասելի կողմնակի ազդեցությունների: (Բարեբախտաբար, այդպիսիք չկային:) Վերջապես մենք փաստագրեցինք այն, ինչ սովորեցինք: Մենք նշումներ ենք ավելացրել մեր ներքին փաստաթղթերում այն ​​մասին, թե ի սկզբանե ինչ է արել յուրաքանչյուր պրոցեսը և ինչու է այն հեռացվել, այնպես որ ապագա ինժեներները չմտածեն, թե արդյոք ինչ-որ կարևոր բան անհետացել է: Երբ ինչ-որ մեկը հարցնում է. «Ի՞նչ աշխատողներ ենք մենք ղեկավարում»: մենք իրականում կարող ենք վստահորեն պատասխանել այդ հարցին: Ներքին խոսակցությունները նույնպես ավելի պարզ են դարձել: Նոր ինժեներները չեն բախվում առեղծվածային գործընթացներին և չեն մտածում, թե արդյոք դրանք բացակայում են համատեքստից: Կոդի բազան արտացոլում է այն, ինչ մենք իրականում անում ենք, այլ ոչ թե այն, ինչ արել ենք հինգ տարի առաջ: Վերաբերեք ռեֆակտորներին որպես հնագիտության և կանխարգելման Իմ ամենամեծ ձեռքբերումն այս նախագծից. յուրաքանչյուր նշանակալի ռեֆակտոր հնագիտության համար հնարավորություն է: Այդ հերթը ինչ-որ հին նախագծի՞ց: Աշխատողն ինչ-որ մեկը ստեղծել է տվյալների մեկանգամյա միգրացիայի համար: Պլանավորված առաջադրանքը, որը վկայակոչում է մի առանձնահատկություն, որի մասին երբեք չեք լսել: Նրանք կարող են դեռ գործարկվել: Ահա թե ինչ ենք մենք կառուցում մեր հետագա գործընթացում. Ցանկացած ռեֆակտորի ժամանակ հարցրեք. էլ ի՞նչն է շոշափում այս համակարգը, որը մենք երկար ժամանակ չէինք դիտել: Երբ հնացած գործառույթը, հետևեք այն մինչև ֆոնային գործընթացները, ոչ միայն օգտատիրոջը: Երբ ինչ-որ մեկը հեռանում է թիմից, փաստաթղթավորեք, թե ինչ է նա ղեկավարում ֆոնային կոդերը: որոնք դեռ չեն տեղափոխվել մեկ պահոց: Մինչ մենք շարունակում ենք համախմբվել, մենք վստահ ենք, որ կգտնենք ավելի շատ այս թաքնված մասունքները: Բայց հիմա մենք ստեղծված ենք նրանց բռնելու և նորերի ձևավորումը կանխելու համար: Երբ ձեր ամբողջ ծածկագիրը ապրում է մեկ տեղում, որբ ենթակառուցվածքը թաքցնելու տեղ չունի:

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free