İçeriğe geç
getnextpdf.com

Enterprise sürüm

Faturalama

NextPDF Enterprise, kiracı başına hesaplama birimi (CU) kullanımını bir plan kotasına karşı izler ve yapılandırılabilir bir aşım politikası uygular: sert engelle, yeniden deneme yönlendirmesiyle engelle ya da sürdür ve uyar. Ayrıca %80, %100 ve bütçe-aşıldı eşiklerinde yinelenmesi giderilmiş kullanım uyarıları tetikler. Bu sayfa, gözlemlenebilir faturalama davranışını ve genel sözleşmeyi açıklar.

Bu yetenek NextPDF Enterprise (nextpdf/enterprise) içinde sunulur ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans alın.

Faturalama, ayrı bir özellik başına bayrağı olmayan temel bir Enterprise yeteneğidir; plan katmanları ve içerdikleri kotalar, plan kaydı aracılığıyla çözümlenir.

Faturalama, tüketimi hesaplama birimleriyle ölçer. Her kiracı bir plan kapsamında çalışır; her plan, içerdiği bir CU kotası ve bir yetenek kümesi taşır. Üç varsayılan plan katmanı sunulur — Standard, Advanced ve High Control — giderek daha büyük içerilen kotalarla ve giderek daha geniş yetenek kümeleriyle (daha yüksek katmanlar Intelligence ve Privacy eklenti paketlerini ekler). Kayıt, kanonik aramadır; bir beyaz etiket dağıtımı, onu özel tanımlarla oluşturabilir.

Aşım politikası, bir kiracı içerdiği kotayı aştığında ne olacağına karar verir. Sert durdurma politikası, işlemeyi anında engeller ve HTTP 402 semantiği taşır. Yumuşak durdurma politikası, yeniden deneme yönlendirmesiyle engeller ve HTTP 429 taşır. Bütçe-uyarı politikası asla engellemez — işleme sürer ve bunun yerine uyarılar tetiklenir; HTTP 200 taşır. Yalnızca sert durdurma ve yumuşak durdurma engelleyicidir; kota yöneticisi, yalnızca politika engellediğinde ve içerilen kota gerçekten aşıldığında bir kota-aşıldı koşulu yükseltir.

Uyarı hizmeti, kullanımı eşiklere karşı artan sırada değerlendirir — %80 uyarısı, %100 uyarısı, ardından bütçe-aşıldı — ve her uyarı türü, kiracı başına faturalama döneminde en fazla bir kez tetiklenir. Bütçe-aşıldı, yalnızca %100’e ulaşmayı değil, katı aşımı gerektirir. Uyarı durumu, bir depo arayüzü aracılığıyla izlenir; böylece yineleme giderme istekler arasında korunur ve hizmet, faturalama dönemi geçişinde uyarı durumunu sıfırlamak için açık bir işlem açığa çıkarır.

Faturalama, bir depolama sistemi olarak değil, saf bir karar katmanı olarak kurulmuştur. Kota denetimleri, aşım matematiği ve uyarı değerlendirmesi; bir PlanDefinition ve tek bir mevcut-kullanım rakamına karşı bellek içinde çalışır ve denetim yolunda hiçbir G/Ç yoktur. Kalıcılık, bu kararın dışında durur: uyarı-yineleme-giderme durumuna yalnızca bir operatörün sağladığı AlertStateRepositoryInterface aracılığıyla ulaşılır; bu da dayanıklılığı ve faturalama dönemi sınırını ana makine denetiminde tutar. Aşım sonucu, her politikayı sabit bir HTTP durumuna eşleyen küçük ve açık bir enum’dur; böylece engelle-ya-da-sürdür kararı belirleyici ve denetlenebilir kalır. Bu ayrım, aynı faturalama yüzeyinin tek bir örnekten ölçülen çok kiracılı bir filoya kadar değişmeden çalışmasını sağlar. Tasarım arka planı: NextPDF’i üretimde işletmek.

Terminal window
composer require nextpdf/enterprise:^3

Desteklenen entegrasyon noktaları; plan kaydı (get, has, defaultRegistry), kota yöneticisi (checkQuota, remainingQuota, usagePercentage), aşım hesaplayıcısı (calculate, değişmez bir aşım sonucu döndürür), aşım politikası enum’u (httpStatusCode, isBlocking) ve faturalama uyarı hizmetidir (evaluate, clearAlerts). Uyarı durumu deposu bir arayüzdür — testler için bir bellek içi uygulama veya üretim için kalıcı bir uygulama sağlayın.

use NextPDF\Enterprise\Billing\OverageCalculator;
use NextPDF\Enterprise\Billing\PlanRegistry;
use NextPDF\Enterprise\Billing\SaaSPlan;
$plan = PlanRegistry::defaultRegistry()->get(SaaSPlan::Standard);
$result = (new OverageCalculator())->calculate($plan, currentCu: 1_250.0);
$result->isOverage; // true — 1,250 CU against a 1,000 CU included quota
$result->overageCu; // 250.0
$result->usageRatio; // 1.25
use NextPDF\Enterprise\Billing\OveragePolicy;
use NextPDF\Enterprise\Billing\QuotaExceededException;
use NextPDF\Enterprise\Billing\QuotaManager;
$manager = new QuotaManager($registry, OveragePolicy::SoftStop);
try {
$manager->checkQuota($tenant, SaaSPlan::Advanced, $currentCu);
} catch (QuotaExceededException $e) {
// SoftStop → answer with 429 + Retry-After up to the reset instant.
return $this->retryAfter($e->resetsAt);
}
foreach ($alertService->evaluate($tenant, $plan, $planDef, $currentCu) as $alert) {
$this->notify($tenant, $alert->severity(), $alert);
}
  • Bütçe-uyarı asla engellemez. Bir bütçe-uyarı politikası altında checkQuota, kotanın çok ötesinde bile yükseltmez; bir istisnaya değil, tetiklenen uyarılara güvenin.
  • Bütçe-aşıldı katı aşım gerektirir. Tam olarak %100’e ulaşmak, bütçe-aşıldı’yı değil %100 uyarısını tetikler; bütçe-aşıldı, içerilen kotanın katı bir şekilde üzerinde kullanım gerektirir.
  • Uyarılar dönem başına yineleme giderir. Her uyarı türü, kiracı başına faturalama döneminde bir kez tetiklenir. Dönem geçişinde uyarı durumunu temizleyin, aksi hâlde uyarılar sonraki dönemde yeniden tetiklenmez.
  • Sıfır veya ayarlanmamış içerilen kota. Pozitif olmayan içerilen kotaya sahip bir plan, sıfıra bölmek yerine 0.0 bir kullanım oranı bildirir.
  • Dönem sıfırlaması bir sonraki ay sınırıdır. Varsayılan kota-aşıldı sıfırlama anı, bir sonraki takvim ayının ilk günü gece yarısıdır.

Kota denetimleri, aşım hesaplaması ve uyarı değerlendirmesi; bir plan tanımına ve sağlanan mevcut-kullanım rakamına karşı sabit zamanlı, bellek içi işlemlerdir. Uyarı durumu deposu uygulamanız bunu gerçekleştirmedikçe denetim yolunda hiçbir G/Ç yoktur.

Faturalama kararları, çağıranın sağladığı kiracı kapsamlı bir mevcut-kullanım rakamından türetilir; kiracı kimliği, asla istemcinin sağladığı girdiden değil, kimliği doğrulanmış bağlamdan gelmelidir. Faturalama yüzeyi kotayı zorunlu kılar ve uyarılar yayar — kiracının kimliğini kendisi doğrulamaz.

Aşım politikası sonuçları, standart HTTP durum semantiği taşır: sert durdurma için ödeme-gerekli (402), yumuşak durdurma için yeniden deneme yönlendirmesiyle birlikte çok-fazla-istek (429) ve bütçe-uyarı için başarı (200); 402, 429 ve 2xx sınıfları için IETF HTTP semantiği spesifikasyonunu (RFC 9110) izler. RFC 9110, bu sayfa için RAG bütüncesinden alınmamıştır; bu eşleme, kodda bildirilen durum kodlarından ve iyi bilinen HTTP semantiği spesifikasyonundan ileri sürülmüştür ve burada RAG-doğrulanmış değil, kodda-bildirilmiş olarak işaretlenmiştir.

  • Tüketim, hesaplama birimleriyle ölçülür; her kiracı, içerdiği bir CU kotası ve bir yetenek kümesi olan bir plan kapsamında çalışır.
  • Aşım politikası; sert durdurma (402, engelleyici), yumuşak durdurma (yeniden deneme yönlendirmesiyle 429, engelleyici) veya bütçe-uyarı (200, engelleyici olmayan) seçeneklerinden biridir; bir kota-aşıldı koşulu, yalnızca politika engellediğinde ve içerilen kota gerçekten aşıldığında yükseltilir.
  • Uyarılar artan sırada değerlendirilir (%80 uyarısı, %100 uyarısı, bütçe-aşıldı) ve her tür, kiracı başına faturalama döneminde en fazla bir kez tetiklenir; bütçe-aşıldı katı aşım gerektirir.
  • Pozitif olmayan içerilen kota, sıfıra bölmek yerine 0.0 bir kullanım oranı bildirir.
  • Kota denetimleri, aşım hesaplaması ve uyarı değerlendirmesi, uyarı durumu deposu bunu gerçekleştirmedikçe denetim yolunda hiçbir G/Ç olmayan sabit zamanlı bellek içi işlemlerdir.

Bu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. Dahilî ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.

NextPDF Core’un (Apache-2.0) hiçbir faturalama, kota veya aşım yüzeyi yoktur — hiçbiri; bu yeteneğin hiçbir Core katmanı eşdeğeri yoktur. Core işlemesi NextPDF tarafından ölçülmez, kotayla geçitlenmez veya uyarılmaz.

NextPDF Pro’nun hiçbir faturalama, kota veya aşım yüzeyi yoktur — hiçbiri; bu yeteneğin hiçbir Pro katmanı eşdeğeri yoktur. Plan kaydı, kota yöneticisi, aşım hesaplayıcısı ve uyarı hizmeti yalnızca nextpdf/enterprise paketinde sunulur.

Plan kaydı, aşım politikası ve uyarı yineleme giderme, davranış düzeyinde açıklanmıştır. Uyarı durumu deposu bir arayüzdür; kalıcı kalıcılık ana makine tarafından sağlanır ve dahilî uyarı durumu saklama stratejisi, genel yüzeyin kapsamı dışındadır.

Faturalama kararları, çağıranın sağladığı kiracı kapsamlı bir mevcut-kullanım rakamından türetilir. Operatör; uyarı durumu deposu uygulamasından, kalıcılığından ve faturalama dönemi geçiş zamanlamasından sorumludur. NextPDF Enterprise kotayı zorunlu kılar ve uyarılar yayar; ancak kiracının kimliğini kendisi doğrulamaz veya kullanımı kalıcılaştırmaz.

Faturalama yüzeyine hiçbir ihracat denetimi kısıtlaması uygulanmaz. Plan kapsamları, kotalar ve ticari koşullar; çalışma zamanı zorlamasına değil, lisans sözleşmenize tabidir. Bu belge bir hukuki veya sözleşmesel görüş değildir; plan kapsamı için kendi danışmanlarınıza ve sözleşmenize başvurun.