Middle
Hansı mikroxidmətlər üfüqi miqyasda artıra bilər?
sobes.tech Süni İntellekt
AI-dan cavab
Praktik olaraq hər hansı stateless (mövcud vəziyyəti saxlamayan) prinsiplərə uyğun olaraq hazırlanmış mikroservislər.
Əsas meyarlar:
- Stateless (aralı vəziyyəti saxlamayan): Xidmət, çağırışlar arasında xüsusi bir sorğuya aid məlumatı saxlamır. Lazımi bütün məlumatlar sorğu ilə birlikdə ötürülür və ya xarici, miqyaslana bilən mənbədə (verilənlər bazası, keşik, mesaj brokeri) saxlanılır.
- Deterministik davranış: Eyni giriş məlumatları ilə, xidmət hər zaman eyni nəticəni verir, hansı instansiyada (serverdə) işlədiyindən asılı olmayaraq.
- Müstəqillik: Xidmət, asanlıqla çoxaldıla bilməyən xüsusi bir maşına və ya resursa sıx bağlı deyil.
Yatay olaraq yaxşı miqyaslana bilən mikroservislər nümunələri:
- Doğrulama və icazə xidmətləri.
- HTTP sorğularını işləyən xidmətlər (API Gateway, backend xidmətlər).
- Növbələrdən gələn mesajları işləyən xidmətlər.
- Arxa plan tapşırıqları yerinə yetirən xidmətlər (worker services).
- Hesabatların yaradılması xidmətləri (əgər məlumatlar xarici verilənlər bazasından alınırsa).
Vəziyyətli (stateful) mikroservislər yatay miqyasda daha çətin miqyaslanır və xüsusi yanaşmalar tələb edir, məsələn:
- Partitioning (bölmə): Məlumatların xidmət instansiyaları arasında bölünməsi.
- Paylanmış verilənlər bazaları: Miqyaslanma və replikasiya təmin edən verilənlər bazası sistemlərindən istifadə.
- In-Memory Data Grids istifadə: Paylanmış mühitdə keşik və vəziyyətin işlənməsi üçün.
Əhəmiyyətli olan, hətta stateless xidmətin belə məlumatların saxlanması üçün miqyaslana bilən infrastruktur (verilənlər bazası, keşik, mesaj brokeri) və orkestrasiya (Kubernetes, Docker Swarm) tələb etdiyidir ki, bu da effektiv yatay miqyaslandırma üçün vacibdir.