Microservices
Mikroservislar nima?
Section titled “Mikroservislar nima?”Mikroservislar arxitekturasi — bu katta, monolit dasturni kichik, mustaqil va o’zaro bog’langan xizmatlarga (servislarga) bo’lish usulidir. Har bir servis:
- Bitta aniq biznes vazifani bajaradi.
- Mustaqil ishlaydi (deploy qilinadi).
- Boshqa servislar bilan API (HTTP, gRPC) yoki Event Bus orqali muloqot qiladi.
- O’zining shaxsiy ma’lumotlar bazasiga ega bo’lishi mumkin.
Monolit vs Mikroservislar
Section titled “Monolit vs Mikroservislar”| Monolit | Mikroservislar |
|---|---|
| Bitta Codebase: Hamma narsa bitta joyda. | Bo’lingan Codebase: Har bir servis alohida repozitoriyda. |
| Oson Deployment: Bitta faylni serverga qo’yish kifoya. | Murakkab Deployment: O’nlab servislarni orkestratsiya qilish kerak (K8s). |
| Scaling: Butun dasturni ko’paytirish kerak. | Scaling: Faqat yuklama tushayotgan servisni ko’paytirish mumkin. |
| Tech Stack: Bitta til va framework. | Tech Stack: Har bir servis har xil tilda yozilishi mumkin. |
Asosiy Komponentlar
Section titled “Asosiy Komponentlar”1. API Gateway
Section titled “1. API Gateway”Foydalanuvchi so’rovlarini qabul qilib, kerakli mikroservisga yo’naltiruvchi “darvoza”. U shuningdek avtorizatsiya va rate limiting vazifalarini ham bajaradi.
2. Service Discovery
Section titled “2. Service Discovery”Servislar bir-birini topishi uchun (IP manzillari o’zgarib turishi mumkin) ishlatiladigan mexanizm (masalan, Consul, Eureka).
3. Database per Service
Section titled “3. Database per Service”Har bir servisning ma’lumotlari izolyatsiya qilingan bo’lishi kerak. Bir servis boshqa servisning bazasiga to’g’ridan-to’g’ri kirmasligi lozim.