Cloudflare workers'ın hala zaman'a ihtiyacı var. Zaten halihazırda WIP olarak işaretlenmiş durumda. Öncelikle hangi durumlar için iyi bir seçenek olduğunu belirtelim. Küçük dosya boyutunda kontrol edilebilir bağımlılık yönetimine sahip hızlı çalışmasını istediğiniz projelerinizde kullanabilirsiniz. Örneğin basit bir proxy servisi, static dosya sunan bir servis yazabilirsiniz. Bunları çok wasm simd ile birlikte çok hızlı çalışan ve ölçeklenme derdi olmayan bir servis haline getirebilirsiniz.

Gelelim kendi dökümanında yazan FAQ'ya. Bu kısımda sorulan soruların hepsi aslında neleri yapamayacağınızı anlamanız adına hazırlanmış kısım.

SSS

  1. Bir tokio veya async_std çalışma zamanını kullanan bir Worker'ı yayınlayabilir miyim?
  • Şu an için hayır. Worker projesindeki tüm crate'ler wasm32-unknown-unknown hedefine derlenmelidir. Bu, bazı yönlerden x86 ve ARM64 hedeflerinden daha sınırlıdır.
  1. worker crate'inde X neden yok?
  • Muhtemelen olmalı, sadece bunu tamamen uygulamak veya FFI'yi sarmak için bir kütüphane eklemek için zaman bulamadık. Bir özelliğe ihtiyacınız olduğunu bize bildirin, bir sorun açarak.
  1. Paketim Workers boyut limitlerini aşıyor, ne yapmalıyım?
  • Burada çözümler üzerinde çalışıyoruz, ama bu arada kodunuzun bağımlı olduğu crate'lerin sayısını minimuma indirmeniz veya .wasm binary'sinden olabildiğince çok şeyi çıkarmanız gerekecek. İşte deneyebileceğiniz bazı ek adımlar: https://rustwasm.github.io/book/reference/code-size.html#optimizing-builds-for-code-size

Yukarıdaki soruların ilki ile başlayalım. Eğer tokio veya async_std kullanmak istiyorsanız şu an için bunu yapamazsınız. Aslında async kullanabilirsiniz, bundan yana problem yok. Ancak kullanmak isteyeceğiniz bütün kütüphaneler yukarıdaki iki kütüphane bağımlılığına sahip olduğu için hata ile karşılaşacaksınız.

Kullanmak istediğiniz bir crate var mesela ancak bunun çalışmadığını görebilirsiniz. Crate'in kendisinden kaynaklı yada bağımlılıklarından birisinin wasm32-unknown-unknown hedeflenmemesi ile alakalı olabilir. Bu durumda yapabileceğiniz bir şey yok. Ancak bu durumda bir issue açarak bunu belirtebilirsiniz.

Son olarak boyut limitlerini aşmanız durumunda yapabileceğiniz bir şey yok. Bu durumda yapabileceğiniz tek şey bağımlılıklarınızı minimuma indirmek. Burada bir iki tane crate ekleseniz bile boyut limitlerini aşmanız çok kolay olacaktır. Bu durumda yapabileceğiniz tek şey wasm binary'sinden olabildiğince çok şeyi çıkarmak. Bu konuda buradaki linkteki adımları deneyebilirsiniz. Ancak yine de yeterli olmayabilir ki benim kullanım durumlarımda yeterli olmadığı oldu. Burada ikinci bir seçenek olarak CF ekibi iletişime geçerseniz size özel limit artırımında bulunabiliyor. Yada workerd kendi ortamınızı oluşturup orada istediğiniz limitlerde çalıştırabilirsiniz.

Sonuç

Bence, Cloudflare workers çok güzel bir servis. Ancak henüz tam anlamıyla kullanıma hazır değil. Özellikle limitler tarafında bir çok sorun var. Bu sorunların çözülmesi ile birlikte çok daha güzel bir servis olacağına inanıyorum.

Not: Eğer herhangi bir eksiklik veya yanlışlık olduğunu düşünüyorsanız, lütfen bana bildirin.