Laravel Sunucuda Redis Queue Kullanımı
İş yükünüzü yönetirken, Laravel'in sunduğu queue sistemleri büyük avantaj sağlar. Bu sistemlerin en güçlü ve yaygın kullanılanlarından biri Redis tabanlı queue'lerdir. Redis, yüksek performansı ve hafıza tabanlı yapısıyla, Laravel projelerinde arka plan işlemlerini asenkron hale getirip, uygulamanın yanıt verme hızını artırmak için idealdir.
İlk adım olarak, Laravel projenizde Redis'i queue driver olarak yapılandırmanız gerekir.
config/queue.php dosyasını açıp,
default anahtarını
'redis' olarak ayarlamalısınız. Ayrıca,
.env dosyanızda şu satırların bulunduğundan emin olun:
12345
QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Redis'i kurmadan önce, sisteminizde Redis servisinin düzgün çalıştığından emin olun. Redis'in kurulu ve aktif olması, Laravel'in Redis ile iletişim kurmasını sağlar.
Laravel'de Redis queue'leri kullanmak için, öncelikle bir queue job sınıfı oluşturmalısınız. Artisan komutu:
12
php artisan make:job SampleJob
Bu sınıf içerisinde,
handle() metoduna arka plan işlemini tanımlarsınız. Örneğin, büyük veri işlemeleri veya API çağrıları gibi zaman alan işlemler buraya yerleştirilebilir. Queue'ye işleri eklemek için ise, şu şekilde çağrı yapabilirsiniz:
12
SampleJob::dispatch($param1, $param2);
Laravel'de queue'lerin çalışması için, bir worker sürecinin aktif olması gerekir. Bunu şu komutla başlatabilirsiniz:
12
php artisan queue:work redis
Bu komut, Redis tabanlı queue'lerdeki işleri sürekli dinler ve işler. Ayrıca, production ortamında worker'ların otomatik başlamasını ve yönetilmesini sağlamak için Supervisor gibi araçlar kullanılabilir.
Redis queue kullanımı, yüksek trafikli uygulamalarda ölçeklenebilirlik ve performans açısından büyük avantaj sağlar. Laravel ile Redis queue'lerinin doğru yapılandırılması, sisteminizin yanıt hızını ve kullanıcı deneyimini önemli ölçüde artırabilir.