Biz yaqinda Buferda tizimlarimiz qismlari sahna ortida qanday aloqa qilishini tozalash uchun kichik loyihani boshladik. Ba'zi tezkor kontekst: biz SQS (Amazon Simple Queue Service) deb nomlangan narsadan foydalanamiz. Bu navbatlar vazifalar uchun kutish xonalari kabi ishlaydi. Tizimimizning bir qismi xabarni tashlab yuborsa, boshqasi uni keyinroq oladi. Buni hamkasbingizga eslatma qoldirish kabi o'ylab ko'ring, u ma'lumotni yuborish imkoniyatini beradi: " a" Note javob kutish shart emas. Bizning loyihamiz muntazam texnik xizmat ko‘rsatishdan iborat edi: biz navbatlarni mahalliy darajada sinab ko‘rish va ularning konfiguratsiyasini tozalash uchun foydalanadigan vositalarni yangilang. Lekin biz aslida qanday navbatlardan foydalanayotganimizni xaritalash chog‘ida biz kutmagan narsani topdik: yetti xil fon jarayonlari (yoki avtomatik ravishda bajariladigan rejalashtirilgan vazifalar) va u besh yildan beri hech narsa bajarmagan ishchilar Nima uchun bu muhim, biz ularni qanday topdik va bu haqda nima qildik. Nima uchun bu siz o'ylagandan ko'ra muhimroq. Tozalash, men moliyaviy xarajat aslida muammoning eng kichik qismi ekanligini ta'kidlayman. Har safar yangi muhandis jamoaga qo'shilib, bizning tizimlarimizni o'rganganida, ular bu sirli jarayonlarga duch kelishadi: "Bu ishchi nima qiladi?" degan savol tug'iladi, chunki biz hammamiz u erda bo'lganmiz, chunki u bir narsa qilishdan qo'rqamiz ". Infratuzilma vaqti-vaqti bilan e'tiborga muhtoj bo'lib, boshqa biror narsa o'zgarganda, bu bizning jamoamizning texnik xizmat ko'rsatish davrlarini hech qanday maqsadsiz bajarishga olib keldi. Lekin haqiqat shundaki, bu har qanday uzoq muddatli tizimda tabiiy ravishda sodir bo'ladi. Funktsiya eskiradi, lekin uni qo'llab-quvvatlaydigan fon ishini kimdir migratsiyani boshqarish uchun "vaqtinchalik" aylantiradi va u hech qachon ishdan bo'shatilmaydi joriy sanaga mos keladigan tug‘ilgan kunlar uchun barcha ma’lumotlar bazasini tekshirgan va mijozlarga shaxsiy e-pochta xabarini yuborgan rejalashtirilgan vazifa 2020-yildagi refaktor davomida biz bu ishchini olib tashlashni unutdik — u yana besh yil ishlayverdi. Bularning hech biri jismoniy shaxslarning xatosi emas — ular bizning arxitekturamizni qasddan o‘rnatmagan holda, bizga qanday qilib ishlayotganini aniqlashga yordam beradi. Bufer mikroservislar harakatini (kompaniyalar o'z kodlarini ko'plab kichik, mustaqil xizmatlarga ajratadigan mashhur yondashuv) yillar oldin qabul qilgan. Biz monolitimizni har birining o'z ombori, joylashtirish quvuri va infratuzilmasiga ega bo'lgan alohida xizmatlarga ajratdik. Shunday qilib, biz ko'p xizmat ko'rsatadigan yagona omborga birlashdik, ammo ular bir joyda yashaydilar. Bu kashfiyotni imkoni bo'ldi. Qayerda ishlayotgani haqida yagona ko'rinish yo'q. Hammasi bitta omborda bo'lganida, biz har bir navbatni uning iste'molchilari va ishlab chiqaruvchilari bilan kuzatishimiz mumkin edi.kashfiyot deyarli muqarrar. Biz aslida nima qildik, biz yetim jarayonlarni aniqlaganimizdan so'ng, ular bilan nima qilishni hal qilishimiz kerak edi. Biz unga qanday yondashdik. Avvalo, biz har birining kelib chiqishini kuzatdik. Har bir ishchi nima uchun birinchi navbatda yaratilganligini tushunish uchun git tarixi va eski hujjatlarni ko'rib chiqdik. Aksariyat hollarda asl maqsad aniq edi: maʼlumotlarning bir martalik koʻchishi, quyosh botishiga sabab boʻlgan funksiya, oʻz foydasidan uzoqroq boʻlgan vaqtinchalik yechim. Keyin ular haqiqatdan ham foydalanilmaganligini tasdiqladik. Biror narsani olib tashlashdan oldin, biz bu jarayonlar biz o'tkazib yuborgan muhim narsani jimgina bajarmayotganligini tekshirish uchun jurnalni qo'shdik. Biz ular umuman chaqirilmaganiga ishonch hosil qilish uchun bir necha kun kuzatdik va ularni bosqichma-bosqich olib tashladik. Biz bir vaqtning o'zida hammasini o'chirmadik. Biz kutilmagan nojo'ya ta'sirlarni kuzatib, jarayonlarni birma-bir olib tashladik. (Yaxshiyamki, yo'q edi.)Nihoyat, biz o'rganganlarimizni hujjatlashtirdik. Biz ichki hujjatlarimizga har bir jarayon dastlab nima qilgani va nima uchun olib tashlanganligi haqida eslatmalar qo‘shdik, shuning uchun bo‘lajak muhandislar muhim narsa yo‘qolib qolganmi yoki yo‘qmi deb o‘ylamasliklari uchun. Tozalashdan keyin nima o‘zgardi. Biz to‘liq ta’sirni o‘lchashga hali ertamiz, ammo mana shu paytgacha ko‘rgan narsamiz. Bizning infratuzilma inventarimiz hozir aniq. Kimdir so'rasa, "Biz qanday ishchilarni boshqaramiz?" biz aslida bu savolga ishonch bilan javob bera olamiz. Onboarding suhbatlari ham soddalashdi. Yangi muhandislar sirli jarayonlarga duch kelishmaydi va ular kontekstni etishmayaptimi, deb hayron bo'lishmaydi. Kod bazasi besh yil oldin qilganimizni emas, aslida nima qilayotganimizni aks ettiradi. Refaktorlarga arxeologiya va profilaktika sifatida munosabatda bo'ling Bu loyihadan eng katta xulosam: har bir muhim refaktor arxeologiya uchun imkoniyatdir. Agar siz tizimga chuqur kirib borganingizda, bo'laklar qanday bog'lanishini haqiqatdan ham tushunsangiz, siz hali ham zarur bo'lgan narsaga shubha qilish uchun mukammal holatda bo'lasiz. Qadimgi loyihadagi navbatmi? Bir martalik ma'lumotlarni ko'chirish uchun yaratilgan ishchimi? Siz hech qachon eshitmagan xususiyatga murojaat qiladigan rejalashtirilgan vazifami? Ular hali ham ishlayotgan bo‘lishi mumkin. Mana, biz oldinga siljish jarayonini qurmoqdamiz: Har qanday refaktor vaqtida so‘rang: bu tizimga biz ko‘pdan beri qaramagan yana nimalar tegadi? Funksiyani eskirganda, uni faqat foydalanuvchiga qaratilgan kod emas, balki uning fon jarayonlarigacha kuzatib boring. Kimdir jamoani tark etganda, ular nima uchun mas’ul bo‘lganini hujjatlashtiring, ayniqsa bizning fon qismlarida eski kodi bor. hali yagona omborga ko'chirilmagan. Birlashtirishda davom etar ekanmiz, biz bu yashirin yodgorliklarni ko'proq topishimizga aminmiz. Ammo endi biz ularni ushlash va yangilari paydo boʻlishining oldini olish uchun sozlanganmiz. Barcha kodlaringiz bir joyda yashasa, yetim infratuzilmaning yashiradigan joyi qolmaydi.
5 yil davomida ishlayotgan 7 ta unutilgan ishni topib, nimani bilib oldik
By Social Media
·
·
6 min read
·
694 views
Read in:
aa
ace
af
ak
alz
am
ar
as
awa
ay
az
ba
ban
be
bew
+191 more
bg
bho
bik
bm
bn
brx
bs
bug
ca
ceb
cgg
ckb
co
crh
cs
cv
cy
da
de
din
doi
dv
dyu
dz
ee
el
en
eo
es
et
eu
fa
ff
fi
fj
fo
fr
fur
fy
ga
gd
gl
gom
gn
gu
ha
haw
he
hi
hil
hne
hmn
hr
hrx
ht
hu
hy
id
ig
ilo
is
it
ja
jam
jv
ka
kab
kbp
kg
kha
kk
kl
km
kn
ko
kri
ku
ktu
ky
la
lb
lg
li
lij
ln
lo
lmo
lt
ltg
lua
luo
lus
lv
mai
mak
mg
mi
min
mk
ml
mn
mni-mtei
mos
mr
ms
mt
my
nd
ne
nl
nn
no
nr
nso
nus
ny
oc
om
or
pa
pag
pam
pap
pl
ps
pt
pt-br
qu
rn
ro
ru
rw
sa
sah
sat
sc
scn
sg
si
sk
sl
sm
sn
so
sq
sr
ss
st
su
sus
sv
sw
szl
ta
tcy
te
tg
th
ti
tiv
tk
tl
tn
to
tpi
tr
trp
ts
tt
tum
ty
udm
ug
uk
ur
uz
ve
vec
vi
war
wo
xh
yi
yo
yua
yue
zap
zh
zh-hk
zh-tw
zu