Cloudflare Genel

Cloudflare Workers ile Sunucusuz Uygulama Geliştirme

Cloudflare Workers ile Sunucusuz Uygulama Geliştirme

Cloudflare Workers ile Sunucusuz Uygulama Geliştirme

Günümüzün dinamik web uygulamaları, yüksek performans ve ölçeklenebilirlik gerektirir. Cloudflare Workers, geliştiricilere sunucusuz ortamda JavaScript kodu çalıştırma imkanı sağlayarak bu ihtiyaçları karşılar. Bu makalede, Cloudflare Workers ile nasıl sunucusuz uygulama geliştirebileceğinizi adım adım inceleyeceğiz.

Cloudflare Workers Nedir?

Cloudflare Workers, Cloudflare’ın global ağını kullanarak sunucusuz olarak kod çalıştırmanızı sağlayan bir platformdur. Bu sayede uygulamalarınızı dünya genelindeki veri merkezlerinde çalıştırabilir, gecikmeleri minimize edebilirsiniz.

Neden Cloudflare Workers?

Performans: Kodunuz, kullanıcılara en yakın noktada çalışır.
Ölçeklenebilirlik: Trafik yoğunluğuna göre otomatik ölçeklenir.
Maliyet Verimliliği: Sunucu yönetim maliyetlerini ortadan kaldırır.
Güvenlik: Cloudflare’ın yerleşik güvenlik özelliklerinden faydalanır.

Başlangıç: Çalışma Ortamının Hazırlanması

1. Wrangler Kurulumu

Wrangler, Cloudflare Workers için komut satırı aracıdır.

Node.js ve npm yüklü olduğundan emin olun:

node -v
npm -v

Ardından Wrangler’ı global olarak kurun:

npm install -g @cloudflare/wrangler

2. Cloudflare Hesabı Oluşturma

Eğer henüz bir Cloudflare hesabınız yoksa, Cloudflare üzerinden ücretsiz bir hesap oluşturun.

3. API Token Alımı

Wrangler’ı yetkilendirmek için API Token almanız gerekir:

– Cloudflare Dashboard’a girin.
API Tokens bölümüne gidin.
Create Token seçeneğiyle yeni bir token oluşturun.

4. Wrangler’ı Yapılandırma

Terminalde aşağıdaki komutu çalıştırın ve istenen bilgileri girin:

wrangler login

İlk Worker Uygulamanızı Oluşturma

1. Proje Oluşturma

Boş bir proje oluşturun:

wrangler init my-first-worker

2. Kodun Düzenlenmesi

my-first-worker/index.js dosyasını açın ve aşağıdaki basit örneği ekleyin:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  return new Response('Merhaba, dünya!', {
    headers: { 'content-type': 'text/plain' },
  })
}

3. Konfigürasyon Dosyası

wrangler.toml dosyasını açın ve gerekli ayarları yapın:

name = "my-first-worker"
type = "javascript"
account_id = "HESAP_ID'NİZİ_BURAYA_EKLEYİN"
workers_dev = true

account_id bilginizi Cloudflare Dashboard’ınızdan alabilirsiniz.

4. Uygulamayı Test Etme

Yerel olarak test etmek için:

wrangler dev

Tarayıcınızda http://localhost:8787 adresine giderek uygulamayı görüntüleyebilirsiniz.

Uygulamayı Yayına Alma

1. Yayınlama

Uygulamanızı Cloudflare’ın ağına dağıtmak için:

wrangler publish

Bu işlem sonrası Worker uygulamanız my-first-worker.your-subdomain.workers.dev adresinde yayına alınacaktır.

2. Özel Alan Adı ile Kullanma

Kendi alan adınızı kullanmak için:

– Alan adınızı Cloud Sunucu hizmeti ile yönetin.
– Cloudflare DNS ayarlarında yeni bir CNAME kaydı oluşturun.
– Worker’ınızı bu alan adına bağlayın.

İleri Seviye Özellikler

KV Store Entegrasyonu

Cloudflare Workers, KV Store ile verileri global olarak saklamanızı sağlar.

1. KV Namespace Oluşturma

Terminalde:

wrangler kv:namespace create "MY_KV"

wrangler.toml dosyasına ekleyin:

kv_namespaces = [
  { binding = "MY_KV", id = "KV_NAMESPACE_ID" }
]

2. KV Kullanımı

Veri yazmak:

await MY_KV.put('anahtar', 'değer')

Veri okumak:

const value = await MY_KV.get('anahtar')

HTTP İstekleri Yapma

Harici API’lere istek göndermek için fetch kullanabilirsiniz:

async function handleRequest(request) {
  const response = await fetch('https://api.example.com/data')
  const data = await response.json()
  return new Response(JSON.stringify(data), {
    headers: { 'content-type': 'application/json' },
  })
}

Sonuç

Cloudflare Workers ile sunucusuz uygulama geliştirmek, geleneksel sunucu yapılandırmalarına göre daha hızlı ve ölçeklenebilir çözümler sunar. Global ağ altyapısı sayesinde kullanıcılarınıza en iyi deneyimi yaşatabilirsiniz. Sanal Sunucu ihtiyaçlarınız için Hiz Hosting hizmetlerini inceleyebilirsiniz.

Kaynaklar

Cloudflare Workers Docs
Wrangler Docs