Sunucular ve filo
Beş rol, çalıştırdıkları süreçler, onları renklendiren eşikler ve rafın nasıl büyüdüğü.
Son güncelleme:
Adlandırılmış makineleri yönetirsin — web-01, db-02, lb-01. Her biri CPU,
RAM, disk ve sıcaklık taşır; bunlardan türetilen bir durumu ve
top komutunun göstereceği bir süreç listesi vardır.
Beş rol
| Rol | Katıldığı gece | Taban CPU / RAM | Bant genişliği | Göreceğin süreçler |
|---|---|---|---|---|
web | 1 | %38 / %46 | her biri 1500 istek/sn | nginx, api-worker |
db | 1 | %32 / %61 | — | postgres, checkout_tx |
lb | 3 | %44 / %30 | her biri 3000 istek/sn | haproxy, keepalived |
cache | 4 | %22 / %55 | — | redis-server |
worker | 6 | %51 / %44 | — | celery, backup-agent |
Bant genişliği kapasitesini yalnızca web ve lb taşır. Bunu içselleştirmeye
değer: ağ barının kırmızı olmasının sebebi asla bir veritabanı değildir ve
önbellek makinesi eklemek bir trafik sorununa hiçbir şey yapmaz.
Süreç adları sabittir, dolayısıyla sözlüğün parçası olurlar. Sabahın üçünde
backup-agent adını geçen bir satır, nginx adını geçen bir satırdan epey
farklı bir şey söyler.
Durum eşikleri
Durum, hangisi en kötüyse o metrikten türetilir:
| Metrik | WARN | CRIT |
|---|---|---|
| CPU | %80 | %95 |
| RAM | %85 | %95 |
| Disk | %90 | %98 |
| Sıcaklık | 85 °C | 95 °C |
DOWN farklıdır — bir eşikten türetilmez ve yapışkandır. Düşen bir makine,
onu geri getiren bir şey olana kadar düşük kalır.
Sıcaklık 40–120 °C bandına kırpılır; yani bir soğutma sorununun gerçek bir tavanı vardır, anlamsız değerlere kaçmaz.
Raf nasıl büyür
Filo her gece, o gecenin planından yeniden kurulur. Rastgele değildir ve türetmen gereken bir formül de değildir — bir tablodur:
| Gece | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| Makine | 3 | 4 | 5 | 7 | 7 | 9 | 11 | 14 | 14 | 16 |
Gece bir tam olarak web-01, web-02, db-01. Gece ona geldiğinde beş rolün
tamamına yayılmış on altı makine; iki veritabanı, iki yük dengeleyici ve üç
worker.