Middle
Kā noteikt, ka mikroservisi darbojas pareizi?
sobes.tech AI
Atbilde no AI
To var noteikt, izmantojot uzraudzību, žurnālu reģistrēšanu un izsekošanu.
Uzraudzība
- Veselības metriki: Pieejamības statuss (uptime), atbildes aizkave (latency), kļūdu līmenis (error rate), resursu slodze (CPU, atmiņa, diska ieejas/izejas).
- Biznesa metriki: Veiksmīgu darījumu skaits, lietotāju aktivitāte.
- Instrumenti: Prometheus, Grafana, Nagios, Zabbix.
Žurnālu reģistrēšana
- Centralizēta žurnālu vākšana: Žurnālu apkopošana no visiem mikroservisiem, lai atrastu kļūdas, bojājumus un anomālas uzvedības.
- Strukturēta žurnālu reģistrēšana: Žurnāli JSON vai citās analizējamās struktūrās, lai atvieglotu analīzi.
- Instrumenti: ELK Stack (Elasticsearch, Logstash, Kibana), Splunk, Loki.
Izsekošana (Distributed Tracing)
- Pieprasījumu izsekošana: Ļauj izsekot pieprasījuma ceļu caur daudziem mikroservisiem, identificēt šaurās vietas un kļūdas izplatītās sistēmās.
- Vizuālizācija: Pieprasījuma plūsmas attēlojums diagrammas veidā.
- Instrumenti: Jaeger, Zipkin, OpenTelemetry.
Gatavības un dzīvības pārbaudes (Readiness and Liveness Probes)
- Dzīvības pārbaudes (Liveness probes): Nosaka, vai konteineris darbojas. Ja pārbaude neizdodas, kubelet pārstartēs konteineru.
- Gatavības pārbaudes (Readiness probes): Nosaka, vai konteineris ir gatavs pieņemt satiksmi. Ja pārbaude neizdodas, kubelet nevadīs satiksmi uz šo pod.
Automatizēta testēšana
- Modulāri un integrācijas testi: Pārbauda atsevišķu komponentu pareizu darbību un to mijiedarbību.
- Slodzes testēšana: Novērtē sistēmas veiktspēju lielas slodzes laikā.
- Haosa inženierijas testi: Simulē sistēmas bojājumus, lai pārbaudītu tās izturību.
Nepareizas darbības pazīmes:
- Kļūdu biežuma pieaugums žurnālos vai uzraudzībā.
- Atbildes aizkaves pieaugums.
- Pārsūtīšanas jaudas samazināšanās.
- Resursu normāla izmantošana.
- Biznesa procesu bojājumi.
Kubernetes piemērs, kā iestatīt gatavības pārbaudi:
# Konteineru gatavības pārbaudes definīcija
readinessProbe:
httpGet:
path: /health # HTTP punkts, kas atgriež statusu 200 OK, kad gatavs
port: 8080 # Pakalpojuma ports
initialDelaySeconds: 5 # Aizkaves laiks pirms pirmās pārbaudes
periodSeconds: 10 # Pārbaudes intervāls