• 12-10-2023, 20:00:34
    #1
    Merhaba
    Bir pazar yerine api bağlantısı yaptığım bir laravel servisim var bu serviste attığım istekleri limitlemeliyim
    Örneğin
    -Dakikada 1000 post isteği atabilirim
    -Dakikada 2000 get isteği atabilirim gibi.
    Nasıl bir yöntem izlemem konusunda emin olamadım. Şuan işimi görebilecek şekilde cache ile çözüyorum. Basit bir counter oluşturdum fakat pek içime sinmedi böyle bir yapıyı daha etkin ve esnek olarak nasıl yapabilirim fikir verebilirseniz sevinirim.
    Token bucket algoritması ile yapılsa nasıl olur ?
    Tüm alternatiflere açığım fikir beyan eden herkese şimdiden teşekkürler.
  • 12-10-2023, 20:02:16
    #2
    hocam wp yazın sohbet edelim
  • 12-10-2023, 20:05:47
    #3
    koksalkesici adlı üyeden alıntı: mesajı görüntüle
    hocam wp yazın sohbet edelim
    Profilinizdeki numaraya yazdım hocam
  • 12-10-2023, 20:07:53
    #4
    ibrahimyakutt adlı üyeden alıntı: mesajı görüntüle
    Merhaba
    Bir pazar yerine api bağlantısı yaptığım bir laravel servisim var bu serviste attığım istekleri limitlemeliyim
    Örneğin
    -Dakikada 1000 post isteği atabilirim
    -Dakikada 2000 get isteği atabilirim gibi.
    Nasıl bir yöntem izlemem konusunda emin olamadım. Şuan işimi görebilecek şekilde cache ile çözüyorum. Basit bir counter oluşturdum fakat pek içime sinmedi böyle bir yapıyı daha etkin ve esnek olarak nasıl yapabilirim fikir verebilirseniz sevinirim.
    Token bucket algoritması ile yapılsa nasıl olur ?
    Tüm alternatiflere açığım fikir beyan eden herkese şimdiden teşekkürler.
    imzadan ulaşırsanız yardımcı olabilirim.
  • 12-10-2023, 22:52:39
    #5
    Rotaya yapılan istekleri engellemek isterseniz zaten laravel bunu sağlıyor
    Detaylı bakmak isterseniz rate limit diye aratın

    Örnek olması adına bir kod paylaşıyorum;
    Route::controller('BrandController')->middleware('throttle:100,1')->prefix('brands')->name('brands.')->group(function () {
        Route::get('/', 'index')->name('index');
        Route::get('/{slug}', 'show')->name('show');
    });
    bu kodda bakmanız gereken kısım middleware.

    throttle:100,1 - burada 1 süremizi belirtiyor ve dakika cinsinden tanımlama yapıyoruz 100 ise 1 dakikada kaç istek atılabileceğini söylüyor
  • 12-10-2023, 23:12:41
    #6
    dinarbey adlı üyeden alıntı: mesajı görüntüle
    Rotaya yapılan istekleri engellemek isterseniz zaten laravel bunu sağlıyor
    Detaylı bakmak isterseniz rate limit diye aratın

    Örnek olması adına bir kod paylaşıyorum;
    Route::controller('BrandController')->middleware('throttle:100,1')->prefix('brands')->name('brands.')->group(function () {
        Route::get('/', 'index')->name('index');
        Route::get('/{slug}', 'show')->name('show');
    });
    bu kodda bakmanız gereken kısım middleware.

    throttle:100,1 - burada 1 süremizi belirtiyor ve dakika cinsinden tanımlama yapıyoruz 100 ise 1 dakikada kaç istek atılabileceğini söylüyor

    Rotaya yapılan istekler değil hocam rate limiter kullanıyorum rotalar için botlarım ve cronlarımında kullandığı benim istek attığım dış api için.