Əsas məzmuna keçin

Sistem Dizayn Konseptləri

Sistem dizaynında istifadə olunan müxtəlif konsept, alət və texnologiyaların qısa izahı. Bu konseptlər paylanmış sistemlərdə, authentication, data integrity və deployment proseslərində mühüm rol oynayır.

Nə üçün lazımdır?

  • Texniki söhbətlərdə: Interview və dizayn müzakirələrində tez-tez çıxan terminlər
  • Sistem dizaynında: Kompleks sistemlərin qurulmasında istifadə olunan əsas konseptlər
  • Best practice: Sənayedə qəbul edilmiş standart yanaşmalar
  • Problemləri həll etmək: Müxtəlif sistemlərdə çıxan problemlərə həll yolları
  • Kommunikasiya: Texniki komanda ilə ünsiyyətdə terminologiya bilikləri

Data Strukturları və Alqoritmlər

  • Bloom Filter: False positive ehtimalı ilə elementin siyahıda olub-olmadığını yoxlayır. Memory efficient, verilənlər bazasına müraciət azaldır
  • Consistent Hashing: Serverlər əlavə/çıxarıldıqda minimal data redistribution
  • Merkle Tree: Data integrity yoxlama üçün hash tree. Git, IPFS, blockchain istifadə edir
  • LSM Tree: Yazma-yönümlü data strukturu. Cassandra, RocksDB istifadə edir

Paylanmış Sistem Konseptləri

  • Quorum: Əməliyyatın uğurlu sayılması üçün minimum server sayı. (R+W>N) formulası
  • Heartbeat: Server health check üçün dövri mesajlar. Load balancer və cluster management
  • Vector Clock: Paylanmış hadisələrin zamanını müqayisə etmək üçün
  • Gossip Protocol: P2P şəbəkədə məlumat yayılması. Cassandra cluster metadata

Security və Authentication

  • OAuth 2.0: Authorization üçün açıq standart. Google, Facebook login
  • JWT (JSON Web Token): Stateless authentication token. Header.Payload.Signature formatı
  • API Key: Sadə authentication üsulu. Rate limiting və access control
  • Hash Functions: MD5 (deprecated), SHA-256, bcrypt password hash üçün

Performance və Optimizasiya

  • Throughput: Vaxt vahidində işlənən məlumat həcmi (req/sec, Mbps)
  • Latency: Bir əməliyyatın başdan sona vaxtı (ms)
  • Checksum: Data integrity yoxlama. MD5, SHA-256 hash funksiyaları
  • Compression: Gzip, Brotli kimi məlumat sıxlaşdırma

Messaging Patterns

  • Fan-out: Bir mesajın çoxlu receiver-ə göndərilməsi (pub-sub)
  • Fan-in: Çoxlu mənbədən mesajları toplama (aggregation)
  • Request-Reply: Sinxron mesaj mübadiləsi
  • Fire-and-Forget: Asinxron mesaj göndərmə, cavab gözlənmir

Deployment Strategiyaları

  • Blue-Green: İki paralel environment, instant switch
  • Canary: Kiçik user qrupuna yeni versiya test etmə
  • Rolling: Tədricən serverləri yenilə
  • A/B Testing: İki variantı müqayisə etmə

Modern Arxitektura Konseptləri

  • Service Mesh: Mikroservislər arasında kommunikasiya təbəqəsi. Istio, Linkerd
  • Microfrontends: Frontend-i mikroservislər kimi bölmə
  • Event Sourcing: State dəyişikliklərini event kimi saxlama
  • CQRS: Command Query Responsibility Separation

Container və Orkestrasiya

  • Kubernetes: Container orkestrasiya platforması
  • Docker: Konteyner texnologiyası
  • Pod: K8s-də ən kiçik deployment vahidi
  • Service Discovery: Dinamik service location tapma

Əsas Problemlər

  • Terminoloji qarışıqlıq: Çox konsept və termin → Practical nümunələrlə öyrən
  • Üst-üstə çıxan anlayışlar: Bəzi konseptlər oxşardır → Fərqləri aydın et
  • Context dependency: Konseptlərin istifadə yeri dəyişkən → Real-world case study-lər araşdır
  • Trend dəyişikliyi: Texnologiyalar tez köhnəlir → Industry news-lərə diqqət yetir
  • Çox derinə getmək: Interview-də detallara batmaq → High-level başa düşmə kifayət edir