İçeriğe atla
Tüm makaleler
4 dk okuma

Bir YZ isteği yalnızca başlangıçtır.

Bir görevi yetkilendirme, dayanıklı yürütme, kullanım takibi ve kullanıcının dönebileceği bir sonuç boyunca izleyin.

supastack ekibi

Model çalışmadan önce

Kullanıcı bir komut ve cheap, fast veya smart gibi bir takma ad sağlar. Üretim sunucusu, görevi kabul etmeden önce kimlik doğrulama, çalışma alanı sahipliği ve yetkilendirmeyi kontrol eder. Sağlayıcı model kimlikleri ve gizli anahtarları bu sınırın arkasında kalır — dost takma ad, istemcinin ihtiyaç duyduğu tek model sözlüğüdür; çünkü gerçek sağlayıcı modeliyle eşleme sözleşme değil, yapılandırmadır.

Dayanıklı bir görev kaydı, arka plan yürütmesi başlamadan önce isteğe bir kimlik verir. Bu kimlik gönderimi, işçiyi, kullanım kayıtlarını ve sonucu birbirine bağlar. Ayrıca kullanıcıya uzaklaştıktan sonra işi kurtarma yolu verir.

Sıralama önemlidir: pahalı iş, ancak ucuz kontroller geçtikten sonra başlar. Herhangi bir şey kuyruğa alınmadan önce kimlik doğrulama, sahiplik ve yetkilendirmeyi doğrulamak, kimliği doğrulanmamış ya da ödenmemiş isteklerin sağlayıcıya asla ulaşmamasını sağlar — ve hatayı kullanıcıya açıklanabilir kılar. YZ modülü kılavuzu bu kontrollerin nerede yaşadığını belgeler; çalışma alanı sınırları yazısı sahipliğin neden istemciden güvenilmek yerine sunucuda türetildiğini açıklar.

Kimin anahtarları ve kimin limitleri olduğuna karar verin

Bir YZ özelliği bir harcama kararıdır. supastack, çalışma alanlarının kendi sağlayıcı anahtarlarını getirmesine izin verir — şifreli saklanır, istemcilere asla açılmaz — ya da platform anahtarlarıyla çalışır ve bir model fiyat kataloğuna karşı çalışma alanı başına bütçeleri uygular. Uygulamanız ne olursa olsun sorular aynıdır: kim öder ve limit nerede uygulanır?

Uygulama, tarayıcı tarafı bir tahminde değil, sunucu iş akışında olmalıdır. Üretimden sonra kontrol edilen bir bütçe yalnızca aşırı harcamayı kaydeder; gönderimden önce kontrol edilen onu önler. Sağlayıcı anahtarı kurulumu yapılandırma tarafını kapsar.

Yürütmeyi açık hale getirin

Trigger.dev, ai.generate iş akışını çalıştırır. Yetenek duyarlı yönlendirici, yapılandırılmış politikayı ve isteğin gereksinimlerini kullanarak bir model seçer. Bu politikayı operasyonel bir girdi olarak ele alın: kullanılamayan bir takma ad, arayüzde çalışan bir seçenek olarak görünmemelidir.

Gönderim sırasındaki ağ hatası, istemcinin işin kuyruğa alınıp alınmadığı konusunda belirsiz kalmasına neden olabilir. Üretim yolu, kurtarmanın orijinal isteği yeniden kullanabilmesi için görev kapsamlı bir idempotency anahtarı ve kayıtlı bir gönderim kullanır. Her zaman aşımından sonra yeni görev göndermek, yinelenen iş ve yinelenen maliyet riski taşır.

Arayüzü sade tutan da dayanıklılıktır: ekran, yeniden denemeleri yönetmek yerine görev durumunu okur ve çizer. Üretim model çağrılarına, araç adımlarına ya da zamanlamalara yayıldığında, “devam ediyor”u dürüst tutan açık iş akışı sözleşmesidir — enqueue, status, cancel.

Hata modlarını adlandırın

İstekle sonuç arasında ters gidebilecek belirli, sonlu bir küme vardır. Soyutta “hatalar” için değil, her biri için adıyla tasarlayın — her görev açıklanabilir bir durumda bitmelidir: kuyrukta, çalışıyor, bir nedeniyle başarısız ya da bir sonuçla tamamlandı. Görev kurtarma kitin kurtarma tarafı için referansıdır.

Alttaki arayüz gereksinimi, hiçbir durumun yalan söyleyemeyeceğidir. İşten uzun yaşayan bir döner simge ya da hiç çalışmamış bir görev için başarı mesajı, olmayı bekleyen bir destek talebi ve faturalama anlaşmazlığıdır.

  • Gönderim zaman aşımına uğradı — yeniden kuyruğa almak yerine kayıtlı gönderim ve görev kapsamlı idempotency anahtarıyla kurtarın.
  • Sağlayıcı görev ortasında başarısız oldu — görevi, arayüzün gösterebileceği bir nedenle başarısız işaretleyin.
  • Bütçe tükendi — harcamadan sonra değil, gönderimden önce reddedin.
  • Kullanıcı uzaklaştı — dayanıklı kayıt ve kurtarma URL'si durumu ve sonucu geri yükler.

Ne olduğunu takip edin

Üretim metinden fazlasını üretir. Uygulama kullanımı ve bir görev sonucunu kaydeder; arayüz durumu kimliği doğrulanmış API üzerinden okur. Bütçeyi uygulanabilir kılan kullanım kaydıdır — sonradan tahmin edilmez, sonuç döndürülmeden önce yazılır.

Tamamlanma e-postası, ayrı teslimat kayıtlarına sahip ayrı bir adımdır. Başarılı bir model yanıtı, e-postanın teslim edildiğini kanıtlamaz. Bu sonuçları ayrı tutmak, modeli gereksiz yere yeniden çalıştırmadan hataları açıklamayı ve yeniden denemeyi kolaylaştırır.

Sonucun da kullanıcının dönebileceği bir yuvaya ihtiyacı vardır: bir görev sayfası, bir geçmiş listesi, o tamamlanma e-postasında teslim edilen bir kurtarma URL'si. Yalnızca geçici bir bildirimde var olan bir üretim, iki kez üretmeniz istenecek iştir.

Her sınırı doğrulayın

Önce uygulamanın kararlarını deterministik sahte bağdaştırıcılarla test edin: reddedilen erişim, devre dışı takma adlar, yinelenen gönderimler, sonuç kurtarma ve genel hatalar. Bu testler sağlayıcı kimlik bilgileri olmadan çalışmalıdır.

Ardından gerçek entegrasyonlar için açıkça etkinleştirilen sağlayıcı smoke sürecini kullanın. Belgelenen sanal ortam yapılandırmasını ve harici çağrılar için onayı gerektirir. Bu ayrım, sıradan geliştirmeyi hızlı tutarken üretim kanıtını belirli ve hesap verebilir kılar.

Ürün değiştikçe bu ayrımı sabit tutun: her sınır kararının yakınında deterministik kapsam olsun ki sağlayıcı değişimi, yönlendirici politikası değişikliği ya da yeni bir takma ad bir müşteriyi değil, bir testi başarısız etsin.

SaaS'te YZ özellikleri hakkında sık sorulan sorular

YZ'yi bir ödeme duvarının arkasına koyma hakkındaki her konuşmada birkaç soru gündeme gelir.

  • YZ özellikleri için yetkilendirme nerede olmalı? — Herhangi bir şey kuyruğa alınmadan önce: kimlik doğrulayın, çalışma alanını çözün, yetkilendirmeyi kontrol edin, sonra görevi oluşturun. Üretimden sonra çalışan kontroller yalnızca kötüye kullanımı belgeler.
  • Kendi anahtarını getir desteğine ihtiyacım var mı? — Müşterilerinizin kendi sağlayıcı ilişkileri varsa evet: kimin ödediğini ve hız limitlerini kimin sahiplendiğini belirler. Anahtarları şifreli saklayın ve istemcilerden uzak tutun — YZ yapılandırma kılavuzu modeli anlatır.
  • Yeniden denemelerin çift ücretlendirmesini nasıl önlerim? — Idempotency anahtarını göreve kapsamlayın ve kurtarma sırasında kayıtlı gönderimi yeniden kullanın; böylece bir zaman aşımı ikinci bir ücretli çalıştırma yaratamaz.
  • Hangi kullanım verisini kaydetmeliyim? — Görev başına: model, tüketilen birimler, fiyat kataloğuna karşı maliyet ve çalışma alanı — işleri yeniden çalıştırmadan bütçeleri uygulamaya ve harcama sorularını yanıtlamaya yetecek kadar.
  • Üretim ne zaman arka plan işine aittir? — Bir istekten uzun yaşayabildiği her zaman. Model gecikmesi, yeniden denemeler ve çok adımlı iş dayanıklı yürütmeyi savunur; yalnızca anlık, ucuz çağrılar satır içi kalmalıdır.

Sık sorulan sorular

14 soru

supastack nedir?

supastack, YZ destekli SaaS ürünleri oluşturmak için modüler bir temeldir. Ortak altyapıyı bir araya getirir, böylece ürüne özgü özelliklere odaklanabilirsiniz.

Web ve mobil destekliyor mu?

Evet. supastack, web ve mobil deneyimler için başlangıç noktası olarak Next.js ve Expo uygulamaları içerir.

Hangi kimlik doğrulama dahil?

Better Auth; e-posta/parola, OTP ve sosyal girişi kapsar. Kişisel çalışma alanları hesapla birlikte sağlanır, böylece ürün kayıtları ilk günden itibaren sınırlı kalır.

YZ'yi nasıl destekliyor?

supastack; yapılandırılabilir çok sağlayıcılı YZ, kullanım takibi, bütçeler ve şifreli kendi-anahtarını-getir desteği içerir.

Abonelikler nasıl ele alınıyor?

Kit üzerine kurulu ürünler için Stripe faturalama, abonelikler ve yetkilendirmeler ücretli erişim temelini oluşturur. Sağlayıcı gizli anahtarları yalnızca sunucuda kalır.

Ürüne özgü kodum nerede durur?

Ürüne özgü özellikler ayrı bir kod tabanında kalırken ürün, supastack'in temel modüllerini yapılandırır ve entegre eder.

supastack fiyatlandırması nasıl çalışır?

Kit, ömür boyu güncellemeli tek seferlik bir satın alımdır: 249 $'a Tek Platform (geçici tanıtım fiyatı — normal fiyat 349 $ üzerinden 100 $ indirim) — Next.js (Web), Expo (iOS ve Android) veya Tauri (macOS ve Windows Masaüstü) seçiminiz — ya da tüm platformları ve tam monorepo'yu içeren 499 $'lık Tüm Platformlar Paketi (geçici tanıtım fiyatı — normal fiyat 599 $ üzerinden 100 $ indirim); ek geliştirici koltuğu başına 75 $. Kit aboneliği yok. Bu sitedeki ödeme, lisans anahtarınızı e-postayla teslim eder ve depo erişimi GitHub davetiyle sağlanır.

Çalışma alanları verilerimi nasıl sınırlar?

Kullanıcıya ait kayıtlar workspaceId ile sınırlanır. Kimlik, yetkilendirmeler, YZ kullanımı, faturalama olayları ve denetim kayıtları kişisel çalışma alanı sınırının içinde kalır.

Arka plan işleri nasıl çalışır?

Trigger.dev açık iş çalışma zamanıdır. JobRunner sözleşmesi yalnızca enqueue, status ve cancel vaat eder — iş akışı semantiği Trigger.dev'e özgü ve açık kalır.

E-posta, tanıtım yazılarından nasıl farklı?

İşlemsel e-posta, tamamlanma bildirimleri gibi ürün iş akışlarını kapsar. Soğuk tanıtım ve kampanyalar, bu kitin e-posta modülünün dışında kalan ürün konularıdır.

Mobil satın almalar nasıl çalışır?

Mobil uygulama RevenueCat ile yerel satın alma ve geri yükleme sunar; erişimi sunucunuz doğrular. Yayınlamadan önce mağaza hesaplarını yapılandırın ve cihaz testlerini tamamlayın. Web faturalandırması ayrı kalır.

YZ sağlayıcı anahtarları nerede durur?

Kendi-anahtarını-getir kimlik bilgileri şifrelidir ve yalnızca sunucuda kalır. Anahtarlar günlüklerden gizlenir; kullanım ve bütçeler çalışma alanı düzeyinde görünür kalır.

Ödeme hangi ödeme yöntemlerini kabul ediyor?

Stripe tarafından barındırılan ödeme sayfası kartları kabul eder; cüzdanlar Stripe hesabında etkinleştirildiğinde Alipay ve WeChat Pay de sunabilir — Çin'deki alıcılar için kullanışlı. Cüzdan yetkilendirmeleri eşzamansız onaylanır; ödeme tamamlanır tamamlanmaz lisans sayfası güncellenir.

Geri ödeme alabilir miyim?

Depoya erişim kazandıktan sonra supastack sonsuza kadar sizin olur, bu nedenle geri ödeme yapılamaz. Ancak içiniz rahat olsun: kendiniz veya müşterileriniz için sınırsız sayıda ürün geliştirip yayınlamak üzere ömür boyu güncellemeler içeren eksiksiz kaynak koduna sahip olursunuz. Yalnızca kodu yeniden satamaz veya depoyu bir başlangıç kiti ya da şablon olarak yeniden dağıtamazsınız.

TR