# Sticky Sessions

#### Sticky Sessions (Oturum Yapışkanlığı)

* **Amaç:**\
  Aynı kullanıcıdan gelen isteklerin her zaman aynı backend sunucuya (EC2 instance) yönlendirilmesini sağlar.
* **Destekleyen yük dengeleyiciler:**
  * Classic Load Balancer (CLB)
  * Application Load Balancer (ALB)
  * Network Load Balancer (NLB)
* **Nasıl çalışır:**
  * Yük dengeleyici, oturum yapışkanlığı (stickiness) için bir **çerez (cookie)** kullanır.
  * Bu çerezin geçerlilik süresi (expiration date) kontrol edilebilir.
* **Kullanım Senaryosu:**
  * Kullanıcının oturum verisini kaybetmemesi için idealdir.
  * Örn: Login olduktan sonra tekrar login olmadan aynı sunucuya yönlendirilmek.
* **Dikkat edilmesi gereken:**

  * Stickiness, yükün backend EC2 instance’lar arasında **dengesiz dağılmasına** yol açabilir.
  * Bazı sunucular fazla yük alırken bazıları boşta kalabilir.

  <figure><img src="https://898869988-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GNfPnZHcJcPKLgWCT7h%2Fuploads%2F2MTOwnXHaUtDkU4fnbt8%2Fimage.png?alt=media&#x26;token=93ff1c25-f53b-45af-9b1f-f63996632ce0" alt=""><figcaption><p>Sticky Session Diyagramı</p></figcaption></figure>

#### Sticky Sessions – Çerez (Cookie) İsimleri

**1. Uygulama Tabanlı Çerezler (Application-based Cookies)**

**a. Özel (Custom) Çerez:**

* Uygulama hedefi (target) tarafından oluşturulur.
* Uygulamanın ihtiyaç duyduğu özel nitelikleri (attribute) içerebilir.
* Çerez adı her hedef grup (target group) için ayrı ayrı tanımlanmalıdır.
* Aşağıdaki çerez adları **ELB tarafından rezerve edildiği için kullanılmamalıdır**:\
  `AWSALB`, `AWSALBAPP`, `AWSALBTG`

**b. Uygulama Çerezi (Application cookie):**

* Yük dengeleyici (Load Balancer) tarafından otomatik olarak oluşturulur.
* Çerez adı: `AWSALBAPP`

***

**2. Süre Bazlı Çerezler (Duration-based Cookies)**

* Çerez yük dengeleyici tarafından oluşturulur.
* Çerez adları:
  * `AWSALB` (Application Load Balancer için)
  * `AWSELB` (Classic Load Balancer için)
