Onlarca veya yüzlerce belgeyi dönüştürmek, daha büyük bir yükle birlikte tek bir istek değildir. Bu, kuyruğa alma, kontrol edilen eşzamanlılık, depolama, yeniden deneme, izleme ve sonucun uygulamanız içinde güvenilir bir şekilde sunulmasını gerektiren bir iş akışıdır.
Windows ve .NET üzerinde çalışan ekipler için, Doconut dosyalar işlendiğinde gömülü görüntüleme katmanını sağlayabilir. Bu ayrım önemlidir: dönüştürme hizmetiniz çıktıyı hazırlar, Doconut SDK ise kullanıcıların desteklenen belgeleri kendi web uygulamanız içinde görüntülemesini sağlar.

Dönüştürme ve Görüntüleme Rolünü Anlamak
Bir toplu dönüştürme motoru ve bir belge görüntüleyici farklı sorunları çözer:
- dönüştürme katmanı kaynak dosyaları kabul eder ve gerekli çıktıyı oluşturur.
- orkestrasyon katmanı kuyrukları, yeniden denemeleri, zaman aşımını ve iş durumunu kontrol eder.
- depolama katmanı giriş ve çıkış dosyalarını yalnızca gerekli olduğu sürece saklar.
- görüntüleme katmanı işlenmiş belgeyi uygulamanız içinde gösterir.
Bu sorumlulukları ayrı tutmak, sistemin ölçeklenmesini ve sorun giderilmesini kolaylaştırır. Ayrıca dönüştürücüyü veya depolama sağlayıcısını, kullanıcıya sunulan belge deneyimini yeniden tasarlamadan değiştirebilmenizi sağlar.
Toplu işleme neden önemlidir
- Kontrollü kaynak kullanımı — Dönüştürmeler önemli miktarda CPU, bellek ve disk alanı tüketebilir. Bir kuyruk, aynı anda çok fazla işin çalışmasını önler.
- Güvenilir yeniden denemeler — Geçici depolama veya hizmet hataları, kullanıcıdan dosyayı yeniden yüklemesi istenmeden yeniden denenebilir.
- Açık iş durumu — Her belge, kuyruğa alındı, işleniyor, tamamlandı veya başarısız gibi öngörülebilir durumlar arasında hareket eder.
- Operasyonel görünürlük — Süre, hata nedeni, dosya boyutu ve yeniden deneme sayısı her iş için kaydedilebilir.
Yaygın Toplu Dönüştürme Darboğazları
| Darboğaz | Tipik belirti | Pratik hafifletme |
|---|---|---|
| Büyük dosyalar | Yüklemeler zaman aşımına uğrar veya çalışanlar belleği tükenir. | Belirtilen boyut limitlerini zorlayın, mümkün olduğunda dosyaları akış olarak işleyin ve kuyruğa almadan önce desteklenmeyen girdileri reddedin. |
| Uzun süren işler | İstekler, bir üst proxy bunları sonlandırana kadar açık kalır. | Bir iş tanımlayıcısını hemen döndürün ve dosyayı arka plan çalışanında işleyin. |
| Trafik dalgalanmaları | Birçok kullanıcı aynı anda yükleme yaptığında CPU ve bellek kullanımı keskin bir şekilde artar. | Çalışan eşzamanlılığını sınırlayın ve kuyrukta geri basınç uygulayın. |
| Geçici hatalar | Depolama veya dönüştürme bağımlılığı kısa bir süre için başarısız olur. | Üstel geri çekilme ile sınırlı yeniden denemeler kullanın ve orijinal hatayı koruyun. |
| Sınırsız saklama | Geçici belgeler birikir ve maliyeti ya da riski artırır. | Kaynak ve çıktı dosyaları için yaşam döngüsü kuralları tanımlayın. |
| Desteklenmeyen veya hasarlı dosyalar | Bir çalışan aynı girdi üzerinde tekrar tekrar başarısız olur. | İşleme öncesi formatı, boyutu ve temel dosya bütünlüğünü doğrulayın. |
Barındırılan bir dönüştürme uç noktasının sunamayabilecekleri
Bir dönüştürme sağlayıcısı seçmeden önce şunları destekleyip desteklemediğini doğrulayın:
- Uygulamanızın ihtiyaç duyduğu birden çok giriş formatı ve belirli çıktı
- Öngörülebilir dosya‑boyutu ve sayfa‑sayısı limitleri
- Uzun süren HTTP istekleri yerine asenkron işler
- Yeniden deneme‑güvenli veya idempotent istekler
- Bölgesel işleme ve saklama kontrolleri
- Ayrıntılı hata yanıtları ve operasyonel günlükler
Ücretsiz, tek‑dosya dönüştürme sayfası, üretim ortamı toplu API’sinin yerini nadiren alır. Kabul ettiğiniz limitleri belgeleyin ve kuyruğu buna göre tasarlayın.
Pratik bir Windows ve .NET Mimarisi
1. Kuyruğa almadan önce doğrulama yapın
Belirtilen dosya türünü, gerçek dosya imzasını, dosya boyutunu ve iş gereksinimlerine özgü kısıtlamaları kontrol edin. Reddedilen dosyalara net bir neden verin ki bunlar geçici hatalar olarak yeniden denenmesin.
2. Dayanıklı bir kuyruk kullanın
Dayanıklı bir kuyruk, yüklemeleri dönüştürmeden ayırır. Azure Service Bus, RabbitMQ veya altyapınızın desteklediği başka bir kuyruk, Windows tabanlı .NET çalışanları arasında işi dağıtabilir.
Mesajı küçük tutun. Belgeyi korumalı depolamada saklayın ve kuyrukta yalnızca bir iş tanımlayıcısı ve depolama referansı bulunsun.
3. Eşzamanlılığı sınırlayın
Daha fazla çalışan her zaman daha yüksek verim anlamına gelmez. Dönüştürme motorları CPU, bellek, geçici disk alanı, fontlar veya lisanslı bileşenler için rekabet edebilir. Öncelikle temkinli bir eşzamanlılıkla başlayın, gerçek belgeleri ölçün ve sistem kararlı kaldıkça artırın.
4. İşleri idempotent yapın
Bir mesaj birden fazla kez teslim edilebilir. Bir çalışan, işin zaten tamamlandığını tanımalı ve çift çıktı üretmekten kaçınmalıdır. Belirleyici bir çıktı anahtarı veya tamamlanma durumu içeren bir iş kaydı bu korumayı sağlayabilir.
5. Çıktıyı güvenli bir şekilde saklayın
Korumalı nesne depolama veya başka bir kontrol edilen depo kullanın. Dinlenirken şifreleme uygulayın, hizmet izinlerini kısıtlayın ve geçici URL’ler gerektiğinde kısa ömürlü erişim kullanın.
6. Görüntüleme katmanını ekleyin
İşlem tamamlandığında, uygulamanız belgeyi gömülü bir görüntüleyiciye sunabilir. Doconut Viewer web uygulamalarına belge görüntüleme entegrasyonu sağlamak için tasarlanmış bir .NET belge görüntüleyici SDK’sıdır.
Görüntüleyici, belge referansını uygulamanızın yetkilendirilmiş akışı üzerinden almalıdır. Kalıcı genel URL’leri veya istemci tarafı işaretlemesinde depolama kimlik bilgilerini ifşa etmeyin.
Güvenlik ve Gizlilik Hususları
Dosyaları amaçlanan güven sınırları içinde tutun
Belgenin tam yolunu haritalayın: yükleme, geçici depolama, dönüştürme çalışanı, çıktı depolama, görüntüleme ve silme. Her bileşen yalnızca ihtiyacı olan izinlere sahip olmalı.
Veriyi aktarımda ve dinlenirken koruyun
Yüklemeler ve iç hizmet çağrıları için HTTPS kullanın. Depolama şifrelemesini etkinleştirin ve gizli anahtarları platformun gizli‑yönetim hizmetinde tutun; yapılandırma dosyalarında kaynak kontrolüne itmemeye özen gösterin.
Kısa saklama periyotları kullanın
Kaynak dosyalar, dönüştürülmüş çıktı, geçici dosyalar ve başarısız işler için ayrı saklama kuralları belirleyin. Temizleme işleminin terk edilmiş yüklemeleri ve çalışan çöküşlerini de kapsadığından emin olun.
Görüntüleyici kontrollerini kullanılabilirlik özelliği, mutlak koruma olarak görmeyin
İndirme veya yazdırma kontrollerini gizlemek istenen iş akışını destekleyebilir, ancak yetkili bir kullanıcının görüntülenen bilgiyi yakalamamasını garanti edemez. Hassas uygulamalar hâlâ kimlik doğrulama, yetkilendirme, denetim kontrolleri ve uygun belge politikaları gerektirir.
Faydalı denetim verilerini kaydedin
İş tanımlayıcıları, zaman damgaları, durum değişiklikleri, süre, yeniden deneme sayısı ve temizlenmiş hata detaylarını günlüğe alın. Günlüklerde belge içeriği, imzalı URL’ler, erişim belirteçleri veya gereksiz kişisel verileri bulundurmaktan kaçının.
Güvenilir Toplu İşler İçin Operasyonel İpuçları
Her belgeyi bağımsız izleyin
100 dosyadan oluşan bir toplu, tek bir opak başarı‑veya‑başarısız sonucu olmamalıdır. Her belgeyi ayrı ayrı izleyin, ardından toplu durumu bu bireysel sonuçlardan hesaplayın.
Geçici ve kalıcı hataları ayırın
Zaman aşımı ve geçici depolama hataları yeniden denemeyi hak edebilir. Şifreli, hasarlı veya desteklenmeyen bir dosya genellikle kullanıcı müdahalesi gerektirir. Kalıcı hataları yeniden denemek kapasiteyi boşa harcar ve toplunun geri kalanını geciktirir.
Açık limitler koyun
Maksimum dosya boyutu, sayfa sayısı, toplu büyüklüğü ve işleme süresi yayınlayın. Limitler hizmeti korur ve müşterilere öngörülebilir beklentiler sunar.
Tam iş akışını ölçün
Kuyruk bekleme süresi, dönüştürme süresi, çıktı boyutu, görüntüleyici kullanılabilirliği, hata oranı ve temizlik başarısını izleyin. Sadece dönüştürme hızı, kullanıcı deneyimini tam olarak anlatmaz.
Doconut Nerede Yer Alıyor
Doconut, bu mimaride belge görüntüleme bileşeni olarak konumlandırılmıştır. .NET ekiplerinin kendi uygulamalarına belge görüntüleme eklemesini sağlar; yüklemeler, dönüştürme işleri, yetkilendirme, depolama ve saklama sorumluluğu ise çevre sistemi tarafından yürütülür.
Bu yaklaşım aşağıdaki durumlarda faydalıdır:
- ASP.NET uygulamasına entegre bir görüntüleyici ihtiyacı
- PDF dışındaki iş belgeleri formatlarını destekleme
- Uygulama deneyimi ve belge erişim akışı üzerinde tam kontrol
- Kendi altyapı gereksinimlerinize uygun bir dağıtım modeli
Mimarinizi kesinleştirmeden önce Doconut web sitesindeki mevcut ürün detaylarını, desteklenen formatları, gereksinimleri ve entegrasyon kaynaklarını gözden geçirin.
Temel Çıkarımlar
- Toplu dönüştürmeyi uzun süren bir web isteği yerine asenkron bir iş akışı olarak ele alın.
- Dosyaları kuyruğa almadan önce doğrulayın ve her belgeyi bağımsız izleyin.
- Sınırlı eşzamanlılık, idempotent işler, korumalı depolama ve açık saklama politikaları kullanın.
- Kalıcı hataları, yeniden denenebilen hatalardan ayırın.
- Doconut’u gömülü görüntüleme katmanı olarak kullanın; dönüşüm, depolama ve erişim kontrolü ise uygulamanızın sorumluluğunda olsun.
.NET Uygulamanıza Belge Görüntüleme Ekleyin
Windows tabanlı .NET uygulamanız entegre bir belge ön izleme deneyimine ihtiyaç duyuyorsa, Doconut Viewer’ı keşfedin ve mevcut indirme ve dokümantasyon kaynaklarını inceleyin.