UUID Oluşturucu
Benzersiz tanımlayıcılar için rastgele UUID'ler oluşturun
Tam kılavuzu okuyunUUID'ler Hakkında:
- UUID v4: Rastgele oluşturulur, en yaygın kullanılan
- UUID v1: Zaman damgası ve MAC adresine dayalı (sürümümüz gizlilik için MAC yerine rastgele veri kullanır)
- UUID'ler global olarak benzersiz 128-bit tanımlayıcılardır
- Format: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (M = sürüm, N = varyant)
Türkiye'nin en güvenilir UUID oluşturucu aracıyla veritabanı kayıtları, API entegrasyonları ve dağıtık sistemler için benzersiz tanımlayıcılar üretin. UUID v4 (rastgele) ve UUID v1 (zaman tabanlı) formatlarında toplu ID oluşturma. Trendyol, Hepsiburada gibi e-ticaret platformlarının sipariş ve ürün ID'leri, mikroservis mimarileri, message queue sistemleri ve distributed caching için ideal. RFC 4122 standardına uyumlu, kriptografik olarak güvenli (crypto.getRandomValues). Tüm işlemler tarayıcınızda gerçekleşir—hiçbir UUID sunucuya gönderilmez.
UUID (Universally Unique Identifier - Evrensel Benzersiz Tanımlayıcı), 128-bit (16 byte) uzunluğunda, merkezi koordinasyon olmadan global benzersizlik garantisi veren standarttır. RFC 4122 ile tanımlanır. Format: xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx (32 hex + 4 tire = 36 karakter). M konumu sürümü (1-5), N konumu varyantı gösterir. UUID v4 (en yaygın) tamamen rastgele üretilir: 122 bit rastgele + 6 bit sürüm/varyant = 5.3×10^36 kombinasyon. İki UUID'nin çakışma olasılığı: 1 milyar UUID üretilse bile çakışma olasılığı 10^-18 (pratik olarak imkansız). Türkiye'de e-ticaret, bankacılık ve kurumsal yazılımlarda yaygın kullanılır: sipariş numaraları, işlem ID'leri, session tokenler.
Veritabanı Primary Key
Auto-increment ID yerine UUID kullanmak birçok avantaj sağlar: Dağıtık veritabanlarında (sharding) çakışma olmaz, ID tahmin edilemez (güvenlik), veritabanı bağımsız ID üretimi (önce ID, sonra insert). Türkiye'deki e-ticaret platformları sipariş ID'lerinde UUID kullanır—müşteriler sipariş numarasından toplam sipariş sayısını tahmin edemez. PostgreSQL uuid tipi, MySQL BINARY(16) veya CHAR(36) ile saklanır. İndeks performansı için UUID v7 (zaman sıralı) tercih edilebilir.
Mikroservis Mimarisi
Mikroservislerde her servis bağımsız ID üretmelidir—merkezi ID servisi darboğaz ve single point of failure oluşturur. UUID ile her servis kendi ID'sini üretir, servisler arası koordinasyon gerekmez. Türkiye'deki büyük e-ticaret (Trendyol, Hepsiburada), fintech (Papara, iyzico) ve telekomünikasyon (Turkcell, Vodafone) şirketleri mikroservis mimarisinde UUID kullanır. Correlation ID olarak da kullanılır—bir isteğin tüm servislerdeki loglarını takip etmek için.
API Kaynakları ve RESTful Endpoint'ler
RESTful API'larda kaynak ID'leri URL'de görünür: /api/products/{uuid}. Auto-increment yerine UUID: 1) Güvenlik—/api/orders/1, /api/orders/2 gibi tahmin edilebilir ID'ler bilgi sızdırır. 2) Idempotency—client UUID oluşturur, retry durumunda aynı kaynak tekrar oluşmaz. Türkiye'deki payment API'ları (iyzico, PayTR) transaction ID olarak UUID kullanır. OpenAPI/Swagger'da format: uuid olarak tanımlanır.
Dosya Yükleme ve Depolama
Kullanıcı yüklediği dosyaların ismi çakışabilir (image.jpg). UUID ile benzersiz dosya adı: {uuid}.{extension}. S3, Azure Blob, Google Cloud Storage'da dosya anahtarı olarak UUID kullanılır. Türkiye'deki e-ticaret siteleri ürün resimlerini UUID ile saklar. CDN cache invalidation için de UUID'li URL'ler avantajlı. Güvenlik: Orijinal dosya adı saklanmaz—kullanıcı bilgisi sızmaz.
Session ve Token Yönetimi
Kullanıcı oturumları, API tokenler ve refresh tokenler için UUID kullanılır. Tahmin edilemez olması güvenlik sağlar—brute force ile geçerli token bulmak imkansız. Türkiye'deki bankacılık uygulamaları (İşCep, Garanti BBVA) session ID'lerde UUID kullanır. JWT yerine opaque token tercih edildiğinde UUID ideal. Redis'te session:uuid şeklinde saklanır. Token rotation: Her kullanımda yeni UUID, eski UUID geçersiz.
Event Sourcing ve Message Queue
Event-driven mimarilerde her event benzersiz ID'ye sahip olmalı—replay, deduplication ve ordering için. Kafka, RabbitMQ, Azure Service Bus message'larında UUID kullanılır. Türkiye'deki fintech şirketleri (Papara, Param) para transferi eventlerini UUID ile takip eder. Idempotency key olarak UUID—aynı işlem birden fazla kez gönderilse bile tek sefer işlenir. Event ID + timestamp kombinasyonu audit trail sağlar.
UUID v4 üretimi: 1) 128 bit (16 byte) kriptografik rastgele sayı üretilir (crypto.getRandomValues). 2) 7. byte'ın üst 4 biti 0100 yapılır (versiyon 4). 3) 9. byte'ın üst 2 biti 10 yapılır (varyant RFC 4122). 4) 16 byte hex string'e çevrilir, tireler eklenir: 8-4-4-4-12. UUID v1 üretimi: Zaman damgası (100-nanosaniye hassasiyetinde, 15 Ekim 1582'den itibaren) + clock sequence (restart koruması) + node ID (genellikle MAC adresi, gizlilik için rastgele). UUID v7 (yeni): Unix timestamp + rastgele—zaman sıralı, veritabanı indeksleri için optimal. Çakışma olasılığı: UUID v4'te 2^122 kombinasyon var. 1 trilyon UUID üretilse bile çakışma olasılığı milyarda 1'in altında. Bu araç Web Crypto API kullanır—tarayıcınızda donanım destekli rastgele sayı üretimi.
| Auto-increment | 4-8 byte | Evet | Kolay | Zor |
| UUID v4 | 16 byte | Hayır | İmkansız | Kolay |
| UUID v1 | 16 byte | Kısmen | Orta | Kolay |
| UUID v7 | 16 byte | Evet | Zor | Kolay |
| ULID | 16 byte | Evet | Zor | Kolay |
| Snowflake ID | 8 byte | Evet | Orta | Orta |
| NanoID | Değişken | Hayır | İmkansız | Kolay |
UUID v4 üretimi Web Crypto API (crypto.getRandomValues) kullanır—tüm modern tarayıcılarda desteklenir: Chrome 11+ (2011), Firefox 21+ (2013), Safari 6.1+ (2013), Edge 12+ (2015). Node.js 14.17+'da crypto.randomUUID() doğrudan UUID v4 üretir. Türkiye'de tarayıcı dağılımı %99+ destekliyor. Web Crypto API donanım rastgele sayı üreteci (HRNG) kullanır—yazılımsal PRNG'den daha güvenli. Eski tarayıcılarda Math.random() fallback kullanılır ama kriptografik güvenlik yoktur. Bu araç tüm UUID'leri tarayıcınızda üretir, hiçbir veri sunucuya gönderilmez.