müşahidə olunmamikroservislərqeydmonitorinqbulud infrastrukturupaylanmış sistemlər
Mikroservislərdə və Monolit Sistem Qeydiyyatında Müşahidə Olunma
Mikroservislərin müşahidə qabiliyyəti müstəqil xidmətlər arasında paylanmış izləmə, metriklər və qeydlər təklif edir, monolit qeydlər isə tək bir tətbiqdən mərkəzləşdirilmiş qeydlərə yönəlir. Düzgün seçim sistemin mürəkkəbliyindən, miqyasından və xidmət qarşılıqlı təsirləri barədə komandaların nə qədər məlumat əldə etməsindən asılıdır.
Seçilmişlər
Mikroservislərin müşahidə qabiliyyəti izləri, metrikləri və qeydləri bərabər siqnallar kimi qəbul edir, monolit qeyd isə demək olar ki, tamamilə mətn qeydlərinə əsaslanır.
Paylanmış izləmə, komandalara hansı konkret xidmətin nasazlığa səbəb olduğunu müəyyən etməyə imkan verir ki, bu da ənənəvi jurnalların xidmət sərhədləri daxilində çətinlik çəkdiyi bir şeydir.
Monolit karotaj işlərinə başlamaq üçün daha az infrastruktur və təcrübə tələb olunur ki, bu da onu kiçik və ya köhnə sistemlər üçün cəlbedici edir.
Müşahidə qabiliyyəti sistem mürəkkəbliyi ilə dəyişir, monolit qeydiyyat isə tətbiq ölçüsü və trafik artdıqca azalmağa meyllidir.
Mikroservislərdə müşahidə qabiliyyəti nədir?
Paylanmış, müstəqil şəkildə yerləşdirilən xidmətlər arasında davranışı anlamaq üçün izləri, metrikləri və qeydləri birləşdirən çoxölçülü bir yanaşma.
Üç sütun üzərində qurulmuşdur: paylanmış izləmə, metriklər və xidmətlər arasında strukturlaşdırılmış qeydiyyat
Onlarla və ya yüzlərlə xidmət arasında keçid edərkən tək bir sorğunu izləmək üçün korrelyasiya ID-lərindən istifadə edir
Məlumatların toplanması və vizuallaşdırılması üçün OpenTelemetry, Jaeger, Prometheus və Grafana kimi alətlərə əsaslanır
Konteynerlərin və kapsulların daim yuxarı və aşağı fırlandığı qısamüddətli infrastrukturu idarə etmək üçün nəzərdə tutulmuşdur
Xidmət səviyyəli məqsədlər və səhv büdcələri vasitəsilə SRE qruplarına anomaliyaları aşkar etməyə imkan verir
Monolit Sistem Qeydiyyatı nədir?
Tək bir tətbiqin, ayıklama və audit üçün mərkəzləşdirilmiş fayllara və ya tək bir jurnal saxlama anbarına jurnal girişlərini yazdığı ənənəvi bir yanaşma.
Qeydlər tək bir proses kimi işləyən bir kod bazasından yaranır və bu da sorğu yollarını izləməyi asanlaşdırır.
Adətən fayl əsaslı qeydiyyat, syslog və ya Logback və ya log4j kimi sadə qeydiyyat aqreqatorlarından istifadə edir.
Sazlama adətən jurnal fayllarını grep-inq etməyi və ya tək bir ELK yığın nümunəsini sorğulamağı əhatə edir.
Qeydiyyat bir işləmə mühitində baş verdiyi üçün performans xərcləri minimaldır
Mövzu-lokal kontekst və ya sadə sessiya ID-ləri vasitəsilə korrelyasiyanı həyata keçirmək daha asandır
Müqayisə Cədvəli
Xüsusiyyət
Mikroservislərdə müşahidə qabiliyyəti
Monolit Sistem Qeydiyyatı
Memarlıq
Bir çox xidmətlər üzrə paylanmışdır
Vahid vahid tətbiq
İlkin Məlumat Növləri
İzləmələr, ölçülər və qeydlər
Əsasən qeydlər, bəzən isə metriklər
İzləmə Sorğusu
Span konteksti ilə paylanmış izləmə
Mövzuya əsaslanan və ya sessiya əsaslı izləmə
Alətlərin Mürəkkəbliyi
Yüksək — bütün xidmətlər üzrə cihaz tələb edir
Aşağı — tək taxta boru kəməri kifayətdir
Ölçülənə bilənlik
Xidmət sayı ilə üfüqi şəkildə miqyaslanır
Tək tətbiq ötürmə qabiliyyəti ilə məhdudlaşır
Uğursuzluq diaqnozu
Gecikməyə və ya səhvlərə səbəb olan xidməti dəqiqləşdirin
Bir proses daxilində daha asandır, sərhədlərdə daha çətindir
Saxlama Tələbləri
Yüksək həcmli, tez-tez zaman seriyası verilənlər bazaları
Orta, adətən düz fayllar və ya bir indeks
Tətbiq Xərci
Əhəmiyyətli ilkin investisiya
Daha aşağı ilkin quraşdırma dəyəri
Ətraflı Müqayisə
Əsas Fəlsəfə və Yanaşma
Mikroservislərin müşahidə qabiliyyəti hər bir nasazlıq rejimini əvvəlcədən proqnozlaşdıra bilməyəcəyinizi fərz edir, buna görə də problemlər yarandıqdan sonra yeni suallar vermək üçün kifayət qədər müxtəlif telemetriya toplayırsınız. Monolitik qeydiyyat daha sadə bir mövqe tutur: sorğu zamanı baş verənləri yenidən qurmaq üçün kifayət qədər mətn qeydlərini əldə edir. Birinci yanaşma qeydləri bir çox siqnal arasından bir siqnal kimi qəbul edir, ikincisi isə qeydləri sistem davranışını anlamaq üçün əsas siqnal kimi qəbul edir.
Sazlama və Kök Səbəb Analizi
Mikroservislər sistemində bir şey sıradan çıxdıqda, mühəndislər hansı xidmətin gecikməni tətbiq etdiyini və ya səhv qaytardığını dəqiq görmək üçün paylanmış izlərə keçirlər. Monolitdə tərtibatçılar adətən jurnal faylı açır, zaman möhürü və ya istifadəçi ID-si axtarır və ardıcıl girişləri oxuyurlar. Monolit yolu daha intuitiv görünür, lakin sistem tək bir jurnal faylı çətinləşəcək qədər böyüdükdə sıradan çıxır.
Alətlər və İnfrastruktur
Müşahidə stekləri adətən OpenTelemetry kimi cihazlar kitabxanasını, Jaeger və ya Tempo kimi izləmə arxa planını, Prometheus kimi metriklər anbarını və Grafana kimi idarəetmə paneli qatını birləşdirir. Monolitik qeydiyyat üçün çox vaxt daha az şey tələb olunur - qeydiyyat çərçivəsi, Filebeat kimi qeydiyyat göndəricisi və bəlkə də ELK və ya OpenSearch klasteri. Mikroservislər alətlər zənciri daha çox əməliyyat yetkinliyi tələb edir, lakin sistemlər mürəkkəbləşdikdə öz bəhrəsini verir.
Performans və Əlavə Xərclər
Paylanmış izləmə, xidmət sərhədləri boyunca yayıldıqca şəbəkə atlamalarını və seriallaşdırma xərclərini artırır, baxmayaraq ki, nümunə götürmə strategiyaları əlavə xərcləri idarəolunan saxlayır. Monolitik qeydiyyat tətbiq prosesinə yaxın qalır, buna görə də performans itkisi əsasən disk giriş/çıxışı və qeydiyyat formatlamasından qaynaqlanır. Hər iki yanaşma, qeydiyyat istehsalda ətraflı səviyyədə saxlanılarsa, performansı aşağı sala bilər, lakin mikroservis mühitləri daha diqqətli tənzimləmə tələb edir.
Hər biri mənalı olduqda
Müşahidə qabiliyyəti tez-tez yerləşdirilən, poliqlot xidmətləri və komponentlərin müstəqil mülkiyyətinə ehtiyacı olan komandaların olduğu mühitlərdə parlayır. Monolit qeydiyyat kiçik tətbiqlər, köhnə sistemlər və ya tənzimləyici uyğunluğun sadə audit izlərini tələb etdiyi ssenarilər üçün möhkəm uyğunluq olaraq qalır. Bir çox təşkilat əslində hər ikisini idarə edir - uyğunluq üçün ənənəvi qeydləri saxlayır və mühəndislik anlayışı üçün müşahidə qabiliyyəti alətlərini üst-üstə qoyur.
Üstünlüklər və Eksikliklər
Mikroservislərdə müşahidə qabiliyyəti
Üstünlüklər
+Tam sorğu görünürlüyü
+Çoxsiqnallı korrelyasiya
+Mürəkkəbliyi olan tərəzilər
+SRE təcrübələrinə imkan verir
Saxlayıcı
−Daha yüksək alət dəyəri
−Daha dik öyrənmə əyrisi
−Daha çox saxlama yeri
−Cihazçılıq intizamı tələb edir
Monolit Sistem Qeydiyyatı
Üstünlüklər
+Tətbiq etmək asandır
+Daha aşağı əməliyyat xərcləri
+Əksər komandalara tanışdır
+Asan audit yolu
Saxlayıcı
−Məhdud xidmətlərarası anlayış
−Ölçüyə görə zəif tərəzi
−Tək bir uğursuzluq nöqtəsi
−Hadisələri əlaqələndirmək daha çətindir
Yaygın yanlış anlaşılmalar
Əfsanə
İstənilən sistemin səhvlərini düzəltmək üçün təkcə qeydlər kifayətdir.
Həqiqət
Loqlar monolitlər üçün yaxşı işləyir, lakin tək bir sorğunun bir çox xidmətə toxunduğu paylanmış sistemlərdə effektivliyini itirir. Metrikalar və izlər, loqların asanlıqla aşkar edə bilmədiyi nümunələri və səbəb zəncirlərini göstərməklə boşluqları doldurur.
Əfsanə
Müşahidə qabiliyyəti sadəcə yeni bir adla xəyali qeydiyyat aparmaqdır.
Həqiqət
Müşahidə qabiliyyəti, qeydləri əhatə edən, eyni zamanda birinci dərəcəli siqnallar kimi metriklər və izlər əlavə edən daha geniş bir sahədir. Məqsəd, qeydləri axtarmaqdan yeni kod göndərmədən sistem davranışı ilə bağlı ixtiyari suallar verməyə keçir.
Əfsanə
Monolit sistemlərin müşahidəyə ehtiyacı yoxdur.
Həqiqət
Hətta tək tətbiqlər də mənalı miqyasa çatdıqdan sonra metriklərdən, izlərdən və strukturlaşdırılmış qeydlərdən faydalanırlar. Müşahidə olunma sistemin vəziyyətini anlamaqla bağlıdır və bu, arxitekturadan asılı olmayaraq tətbiq olunur.
Əfsanə
Paylanmış izləmə istehsalat istifadəsi üçün çox bahadır.
Həqiqət
Müasir izləmə sistemləri sorğuların nümayəndəli alt qrupunu tutmaq üçün baş əsaslı və ya quyruq əsaslı nümunə götürmələrdən istifadə edir. Bu, əksər problemləri diaqnoz etmək üçün kifayət qədər məlumat təmin edərkən xərcləri aşağı saxlayır.
Əfsanə
Mikroservislərə keçid avtomatik olaraq müşahidə qabiliyyətini artırır.
Həqiqət
Mikroservislər müşahidəni asanlaşdırmaq əvəzinə, çətinləşdirir, çünki artıq izləməli olduğunuz daha çox hərəkətli hissə var. Düzgün cihaz və alətlər olmadan, yaxşı alətlərlə təchiz olunmuş monolitlə müqayisədə görünürlük əslində azalır.
Tez-tez verilən suallar
Müşahidə və qeydiyyat arasındakı fərq nədir?
Qeydiyyat telemetriya məlumatlarının bir növüdür — tətbiq tərəfindən qeydə alınan diskret hadisələr. Müşahidə qabiliyyəti sistemin xarici çıxışlardan onun daxili vəziyyətini nə dərəcədə yaxşı başa düşə biləcəyinizi təsvir edən bir xüsusiyyətdir. Müşahidə qabiliyyəti qeydlərdən, metriklərdən və izlərdən birlikdə istifadə edir, qeyd isə yalnız mətn qeydlərinə yönəlir.
Mikroservislərin niyə paylanmış izləməyə ehtiyacı var?
Mikroservis arxitekturasında tək bir istifadəçi sorğusu tamamlanmadan əvvəl beş, on və ya daha çox xidmətdən keçə bilər. Paylanmış izləmə, korrelyasiya ID-ləri və aralıqlarından istifadə edərək həmin sorğunu xidmət sərhədləri boyunca izləyir və bu da vaxtın hara sərf olunduğunu və xətaların haradan qaynaqlandığını görməyə imkan verir.
Mikroservis mühitində ənənəvi qeydiyyatdan istifadə edə bilərsinizmi?
Bəli, amma paylaşılan identifikatorlar olmadan xidmətlər arasında jurnalları əlaqələndirmək daha da çətinləşir. Əksər komandalar sistem davranışı haqqında tam bir təsəvvür əldə etmək üçün korrelyasiya identifikatorları ilə strukturlaşdırılmış jurnalları, sonra isə təbəqə izləmə və metrikləri əlavə edirlər.
Müşahidə qabiliyyətinin üç sütunu hansılardır?
Üç sütun qeydlər, metriklər və izlərdir. Qeydlər diskret hadisələri qeyd edir, metriklər zamanla ədədi məlumatları qeyd edir və izlər paylanmış sistemlər vasitəsilə sorğunun yolunu göstərir. Birlikdə onlar komandalara performans, səhvlər və istifadəçi təcrübəsi ilə bağlı sualları cavablandırmağa imkan verir.
OpenTelemetry müşahidə üçün standartdırmı?
OpenTelemetry əksər dillərdə və platformalarda cihazlar üçün faktiki standarta çevrilib. OpenTracing və OpenCensus layihələrini birləşdirib və hazırda Cloud Native Computing Foundation tərəfindən dəstəklənir, satıcılar və açıq mənbəli alətlər tərəfindən geniş dəstəklənir.
Müşahidə qabiliyyəti qeydiyyatla müqayisədə nə qədərdir?
Müşahidə qabiliyyəti adətən əlavə saxlama, alət lisenziyaları və cihazların mühəndislik vaxtı səbəbindən daha baha başa gəlir. Bununla belə, bu, tez-tez problemlərin həllinə sərf olunan orta vaxtı azaldır və mürəkkəb sistemlər işlədən təşkilatlar üçün ilkin investisiyanı kompensasiya edə biləcək bahalı kəsintilərin qarşısını alır.
Monolitlər müşahidə alətlərindən faydalanırmı?
Əlbəttə. Hətta tək tətbiqlər belə öz prosesləri daxilində paylanmış izləmədən, performans trendlərini aşkar edən metriklərdən və sorğulanması daha asan olan strukturlaşdırılmış jurnallardan dəyər qazanır. Müşahidə vasitələri yalnız mikroservislərə aid deyil.
Paylanmış izləmədə span nədir?
Span, verilənlər bazası sorğusu və ya xidmətlər arasında HTTP çağırışı kimi bir izləmə daxilində tək bir iş vahidini təmsil edir. Spanların adı, başlama vaxtı, müddəti və metaməlumatları var və onlar tam bir izləmə yaratmaq üçün valideyn-uşaq münasibətləri vasitəsilə bir-birinə bağlanırlar.
Mikroservislər arasında jurnalları necə əlaqələndirirsiniz?
Komandalar adətən sistemin kənarına korrelyasiya ID-si yerləşdirir və onu HTTP başlıqları, mesaj metaməlumatları və ya mövzu konteksti vasitəsilə yayırlar. Hər bir xidmət həmin ID-ni öz jurnal girişlərinə daxil edir, buna görə də bütün xidmətlər üzrə tək bir axtarış tam sorğu yolunu qaytarır.
Startaplar müşahidə qabiliyyətindən istifadə etməlidirlər, yoxsa qeydiyyatdan keçməlidirlər?
Erkən mərhələli startaplar adətən strukturlaşdırılmış qeydiyyat və əsas metriklərlə başlayırlar, çünki onlar daha sürətli çatdırılır və daha az xərc tələb edir. Sistem böyüdükcə və komandalar çoxaldıqca, inkişaf sürətini qorumaq üçün izləmə və vahid müşahidə platformasının əlavə edilməsi dəyərli olur.
Hökm
Sisteminiz bir çox müstəqil xidməti əhatə etdikdə və real vaxt rejimində çarpaz xidmət qarşılıqlı əlaqələrini başa düşməlisinizsə, mikroservislərin müşahidə oluna bilənliyini seçin. Mərkəzləşdirilmiş qeydlərin kifayət qədər görünürlük təmin etdiyi və əməliyyat xərclərinin ətraflı məlumatdan daha çox əhəmiyyət kəsb etdiyi daha sadə tətbiqlər üçün monolit qeydiyyatdan istifadə edin. Praktikada, yetkin sistemlər tez-tez hər iki yanaşmanı tam olaraq birinə bağlamaq əvəzinə birləşdirir.