Sobes.tech
Middle

Mikroxidmətlərin düzgün işlədiyini necə müəyyən etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Bunu monitorinq, qeydiyyat və izləmə vasitəsilə müəyyən etmək mümkündür.

Monitorinq

  • Sağlamlıq metrikaları: Mövcudluq vəziyyəti (uptime), cavab gecikməsi (latency), səhv nisbəti (error rate), resursların yüklənməsi (CPU, yaddaş, disk giriş/çıxış).
  • Biznes metrikaları: Uğurlu əməliyyatların sayı, istifadəçi fəaliyyəti.
  • Alətlər: Prometheus, Grafana, Nagios, Zabbix.

Qeydiyyat (Logging)

  • Mərkəzləşdirilmiş log toplanması: Bütün mikroservislərdən logların toplanması, səhvlərin, nasazlıqların və anormal davranışların aşkarlanması.
  • Strukturlaşdırılmış loglar: JSON və ya digər parsalanabilən strukturlarda loglar, analiz üçün asanlıq təmin edir.
  • Alətlər: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk, Loki.

Paylanmış izləmə (Distributed Tracing)

  • Sorğuların izlənməsi: Bir sorğunun çoxsaylı mikroservislər vasitəsilə keçməsini izləmək, tıxac nöqtələrini və səhvləri müəyyən etmək.
  • Vizualizasiya: Sorğunun axışını diaqram şəklində göstərmək.
  • Alətlər: Jaeger, Zipkin, OpenTelemetry.

Hazır olma və canlılıq yoxlamaları (Readiness and Liveness Probes)

  • Canlılıq yoxlamaları (Liveness probes): Konteynerin işlək olub-olmadığını müəyyən edir. Əgər yoxlama uğursuz olarsa, kubelet konteyneri yenidən başlatır.
  • Hazır olma yoxlamaları (Readiness probes): Konteynerin trafik qəbul etməyə hazır olub-olmadığını müəyyən edir. Əgər yoxlama uğursuz olarsa, kubelet bu pod-a trafik göndərmir.

Avtomatlaşdırılmış testlər

  • Bölmə və inteqrasiya testləri: Ayrı-ayrı komponentlərin düzgün işləməsini və qarşılıqlı əlaqəsini yoxlayır.
  • Yük testləri: Sistem performansını yüksək yüklə qiymətləndirir.
  • Xaos mühəndisliyi (Chaos Engineering): Sistemdə nasazlıqları simulyasiya edərək onun dayanıqlığını yoxlayır.

Yanlış işləmə əlamətləri:

  • Loglarda və ya monitorinqdə səhvlərin artması.
  • Cavab gecikmələrinin artması.
  • Keçirmə qabiliyyətinin azalması.
  • Resursların anormal istifadəsi.
  • Biznes proseslərində nasazlıqlar.

Kubernetes-də hazır olma yoxlamasının konfiqurasiyasına nümunə:

# Konteyner üçün hazır olma yoxlamasının təyini
readinessProbe:
  httpGet:
    path: /health # Hazır olma vəziyyətini qaytaran HTTP endpoint yolu
    port: 8080 # Xidmət portu
  initialDelaySeconds: 5 # İlk yoxlamadan əvvəl gecikmə
  periodSeconds: 10 # Yoxlamalar arasındakı interval