Enterprise sürüm
Ölçümleme
Bir bakışta
“Bir bakışta” başlıklı bölümNextPDF Enterprise, faturalama ve denetim için PHP düzenleme katmanında kullanım ölçümünü — işlemleri, işlenen sayfaları, süreleri — toplar. Girişler bellekte arabelleğe alınır, partiler hâlinde bir veya daha fazla arka uca boşaltılır ve bir arka uç hatası işlemeyi asla engellemez. Bu sayfa, gözlemlenebilir ölçüm davranışını ve genel sözleşmeyi açıklar.
Kullanılabilirlik ve lisanslama
“Kullanılabilirlik ve lisanslama” başlıklı bölümBu yetenek NextPDF Enterprise (nextpdf/enterprise) ile sunulur ve Enterprise katmanı bir lisans zarfıyla etkinleşir. Bu yetkiye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Ölçüm, ayrı bir özellik başına bayrağı olmayan temel bir Enterprise yeteneğidir. Sürümleri karşılaştırın ve bir lisans alın.
Kavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümÖlçüm toplayıcısı, işlem başına değişmez bir giriş kaydeder: bir işlem türü, bir birim sayısı, bir zaman damgası, kiracı ve lisans tanımlayıcıları, işlenen sayfalar, işlem süresi ve serbest biçimli meta veri. Girişler bellek içi bir arabellekte birikir. Arabellek yapılandırılmış boyutuna ulaştığında otomatik olarak boşalır; ayrıca açıkça da boşaltabilirsiniz ve bir PHP-FPM çalışanının istek sonunda kalanı boşaltması için bir kapatma işleyicisi kaydedilebilir. Uzun süre çalışan bir çalışan (örneğin bir Octane veya Symfony çalışanı) bunun yerine düzenli bir zamanlayıcıyla boşaltmalıdır.
Raporlayıcı, bir partiyi bir veya daha fazla arka uca dağıtır. Arka uçlar yalıtılmıştır: bir arka uçtaki hata, diğerlerinin partiyi almasını durdurmaz. Her arka uç teslimi, yapılandırılmış bir deneme sayısına kadar yeniden denenir; tüm denemeler başarısız olursa o arka ucun partisi günlüğe kaydedilir ve düşürülür — ölçüm tasarım gereği elinden gelenin en iyisini yapar ve ölümcül değildir; böylece bir ölçüm kesintisi belge işlemeyi asla bozmaz. Bir arka uç, ölçüm arka uç arabiriminin herhangi bir uygulamasıdır — bir Prometheus push hedefi, bir faturalama API’si, bir veritabanı veya bir kuyruk — ve uygulamaların idempotent olması gerekir; böylece çoğaltılmış bir parti zarif biçimde işlenir.
Bu düzenleme düzeyi ölçümü, faturalama ve denetim görünürlüğü içindir. Kota uygulaması için bilinçli olarak yetkili kaynak değildir; kota kararları, yetkili bir kullanım rakamından, dağıtımda başka bir yerde verilir.
Neden bu şekilde çalışır
“Neden bu şekilde çalışır” başlıklı bölümÖlçüm, belge işleme yolunda değil, faturalama ve denetim yolunda yer alır ve bu ayrım bilinçlidir. Her record çağrısı, bellek içi bir arabelleğe değişmez bir MeterEntry ekler; böylece kullanımı yakalamak O(1) bir işlem olarak kalır. Boşaltma partiler hâlinde gerçekleşir ve MeteringBackendInterface sözleşmesinin arkasındaki yalıtılmış arka uçlara dağıtılır. Yavaş veya ölü bir faturalama uç noktası böylece zarif biçimde bozulur ve tükenmiş bir parti, fırlatılmak yerine günlüğe kaydedilir ve düşürülür. Böylece bir ölçüm kesintisi, yüksek hacimli işi asla durdurmaz veya belge iş çıkarımıyla yarışmaz. Ödünleşim, düzenleme ölçümünün elinden gelenin en iyisini yapması ve yetkili olmamasıdır — bu nedenle kota uygulaması, yetkili bir rakamdan başka bir yerde kararlaştırılır.
Tasarım arka planı: Yüksek hacimli belge üretimi.
Genel API yüzeyi
“Genel API yüzeyi” başlıklı bölümcomposer require nextpdf/enterprise:^3Desteklenen tümleştirme noktaları şunlardır: ölçüm toplayıcısı (record, flush, bufferCount, registerShutdownFlush), ölçüm raporlayıcısı (report), ölçüm arka uç arabirimi (report, isHealthy, backendName) ve değişmez ölçüm-giriş değer nesnesi. Üretim dayanıklılığı için yeniden-deneme-güvenli, idempotent bir arka uç uygulaması sağlamak sizin sorumluluğunuzdadır.
Kod örneği — hızlı başlangıç
“Kod örneği — hızlı başlangıç” başlıklı bölümuse NextPDF\Enterprise\Metering\MeterCollector;use NextPDF\Enterprise\Metering\MeteringReporter;
$collector = new MeterCollector(new MeteringReporter([$backend]), bufferSize: 100);$collector->registerShutdownFlush(); // PHP-FPM: flush remainder at request end
$collector->record( operation: 'parse', count: 1, tenantId: $tenantId, licenseId: $licenseId, pagesProcessed: 12, durationMs: 84.0,);Kod örneği — üretim
“Kod örneği — üretim” başlıklı bölümuse NextPDF\Enterprise\Metering\MeteringReporter;
// Multi-backend fan-out with retry and failure isolation.$reporter = new MeteringReporter( backends: [$prometheusBackend, $billingApiBackend], maxRetries: 3, logger: $logger,);
// A failing billing API does not stop Prometheus from receiving the batch;// exhausted retries are logged and the batch is dropped — never thrown.$collector = new MeterCollector($reporter, bufferSize: 500);Uç durumlar ve tuzaklar
“Uç durumlar ve tuzaklar” başlıklı bölüm- Boşaltma idempotenttir. Boş bir arabellekte
flushçağrısı bir işlemsizdir; çift boşaltma güvenlidir. - Arka uç hatası ölümcül değildir. Tükenmiş denemeler bir hata günlüğe kaydeder ve o arka ucun partisini düşürür; çağrı yine de normal döner. Sert kota uygulaması için ölçüme güvenmeyin.
- En az bir arka uç gereklidir. Boş bir arka uç listesiyle bir raporlayıcı oluşturmak reddedilir.
- İdempotentlik arka ucun işidir. Arabirim sözleşmesi, arka uçların (zaman damgası, işlem ve kiracıya göre) yinelenenleri kaldırmasını gerektirir — yeniden denenmiş veya çoğaltılmış bir parti çift sayılmamalıdır.
- Çalışan modeli önem taşır. PHP-FPM için kapatma işleyicisini kullanın; uzun süre çalışan çalışanlar için düzenli bir zamanlayıcı boşaltması kullanın, aksi takdirde girişler çalışan çıkana kadar arabellekte kalır.
Performans
“Performans” başlıklı bölümrecord, O(1) bir arabellek eklemesidir. Boşaltma maliyeti, parti boyutuyla ve arka uçların sayısıyla orantılıdır; arabelleğe alma ve kapatma işleyicisiyle istek yolundan çıkarılır. Yeniden denemeler arka uç başına uygulanır ve yapılandırılmış deneme sayısıyla sınırlanır.
Güvenlik notları
“Güvenlik notları” başlıklı bölümÖlçüm girişleri, kiracı ve lisans tanımlayıcılarını ve işlem meta verisini taşır. Meta veriyi olası hassas olarak ele alın ve arka uç depolamanızı ve saklamanızı uygunluk gereksinimlerinize göre kapsamlayın. Kiracı ve lisans tanımlayıcıları, kimliği doğrulanmış bir bağlamdan kaynaklanmalıdır.
Uygunluk
“Uygunluk” başlıklı bölümÖlçüm, herkese açık sınırda kendine ait hiçbir tel biçimi tanımlamaz — arka uç arabirimi, serileştirmeyi her arka uç uygulamasına devreder (örneğin bir Prometheus push hedefi, Prometheus gösterim sözleşmelerini izler). Bu yüzeyde hiçbir harici standart ileri sürülmez; süreç içi toplayıcı sözleşmesini hiçbir normatif spesifikasyon yönetmediğinden bu sayfa için hiçbir RAG citation yoktur.
Davranış sözleşmesi
“Davranış sözleşmesi” başlıklı bölüm- Toplayıcı, işlem başına değişmez bir giriş kaydeder ve girişleri, yapılandırılmış boyutunda otomatik olarak boşalan bellek içi bir arabellekte biriktirir; açık boşaltma ve bir kapatma-boşaltma işleyicisi de mevcuttur.
- Boşaltma idempotenttir: boş bir arabelleği boşaltmak bir işlemsizdir ve çift boşaltma güvenlidir.
- Raporlayıcı, bir partiyi arka uç başına yalıtımla bir veya daha fazla arka uca dağıtır; bir arka ucun hatası diğerlerini durdurmaz.
- Her arka uç teslimi, yapılandırılmış deneme sayısına kadar yeniden denenir; tükenmiş denemeler günlüğe kaydedilir ve düşürülür — ölçüm elinden gelenin en iyisini yapar ve işlem yoluna asla fırlatmaz.
- Boş bir arka uç listesiyle bir raporlayıcı oluşturmak reddedilir; arka uçların idempotent olması gerekir; böylece çoğaltılmış bir parti çift sayılmaz.
record, O(1) bir arabellek eklemesidir; boşaltma maliyeti, parti boyutuyla ve arka uç sayısıyla orantılıdır ve istek yolundan uzak tutulur.
Yayın sınırı
“Yayın sınırı” başlıklı bölümBu 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.
Core yedeği
“Core yedeği” başlıklı bölümNextPDF Core (Apache-2.0), hiçbir ölçüm toplayıcısına, raporlayıcısına veya arka uç yüzeyine sahip değildir — hiçbiri; bu yeteneğin Core katmanında bir karşılığı yoktur. Core işleme NextPDF tarafından ölçülmez.
Pro yedeği
“Pro yedeği” başlıklı bölümNextPDF Pro’nun hiçbir ölçüm yüzeyi yoktur — hiçbiri; bu yeteneğin Pro katmanında bir karşılığı yoktur. Ölçüm toplayıcısı, raporlayıcısı ve arka uç arabirimi yalnızca nextpdf/enterprise paketinde sunulur.
Enterprise sınır notu
“Enterprise sınır notu” başlıklı bölümArabellek yaşam döngüsü, dağıtım, yeniden deneme ve yalıtım davranış düzeyinde açıklanmıştır. Arka uç arabirimi, serileştirmeyi her arka uç uygulamasına devreder; dahilî arabelleğe alma dahilîleri ve herhangi bir dahilî dağıtım ayrıntısı, herkese açık yüzeyin kapsamı dışındadır.
Dağıtım sınırı
“Dağıtım sınırı” başlıklı bölümOperatör; arka uç uygulamalarına, bunların dayanıklılığına ve idempotentliğine, ölçüm meta verisinin saklama ve depolama kapsamına ve çalışan-modeli boşaltma stratejisine (PHP-FPM için kapatma işleyicisi, uzun süre çalışan çalışanlar için düzenli zamanlayıcı) sahiptir. Bir ölçüm arka uç kesintisi belge işlemeyi asla bozmaz. Kiracı ve lisans tanımlayıcıları, operatörün yapılandırdığı, kimliği doğrulanmış bir bağlamdan kaynaklanmalıdır.
Hukuki uygunluk sınırı
“Hukuki uygunluk sınırı” başlıklı bölümÖlçüm yüzeyine hiçbir ihracat-denetim kısıtlaması uygulanmaz. Ölçüm meta verisi hassas olabilir; saklama ve depolama kapsamı operatörün uygunluk sorumluluğundadır. Bu belge bir hukuki görüş değildir; kendi uygunluk ve hukuk danışmanlarınıza başvurun.