Cloudflare werkers

Vinnige bedienerlose funksies wat deur Cloudflare se CDN aangebied word

Bedienerlose funksies op die Edge-netwerk

Cloudflare het 'n hele reeks wolkgebaseerde produkte wat u 'n 'backend-as-a-service' bied, en Cloudflare Workers is 'n belangrike deel van hierdie suite. Cloudflare Workers is bedienerlose funksies, geskryf in Javascript (of verkieslik, Typescript) wat aangebied word in 'n Node.js-omgewing wat aangedryf word deur die V8-enjin. U kan dit plaaslik skryf en gebruik via die "wrangler" -CLI of direk in die wolk ontwikkel.

// This is a minimal example for a
// serverless function hosed by
// Cloudflare. You define this code
// in a JS-file and upload it via the
// 'wrangler'-CLI.

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

async function handleRequest(request) {
  return new Response("Hello world")
}

As u hier vir die eerste keer van "bedienerlose funksies" hoor, is dit 'n vinnige verduideliking. Bedienerlose funksies is letterlik funksies wat die bedryfslogika van u diens saamvat en wat in die wolk aangebied word. Die grootste voordeel is dat u nie een sekonde van u tyd hoef te mors aan die hosting, pleister en instandhouding van 'n bediener nie. U "laai" u funksies op en dit is binne 'n paar minute wêreldwyd beskikbaar.

Cloudflare bevorder veral die spoed van sy produkte, aangesien dit 'n baie groot inhoudafleweringsnetwerk met baie eindpunte regoor die planeet beheer. Natuurlik word hierdie CDN ook gebruik vir die Cloudflare Workers.

Hoe u u agterkant oor die hele wêreld versprei

Elke keer as u u Cloudflare Workers inspan, word hulle op baie plekke wêreldwyd gedeel en opgedateer. Dit laat Cloudflare toe om inkomende versoeke na die altyd naaste eindpunt te stuur om u bedienerlose funksies aan te roep, wat die netwerkvertraging tot enkele millisekondes verminder. Hierdie routing wat deur Cloudflare gedoen word, is deursigtig wanneer u versoeke rig - die routing en balanslaai word outomaties op die agtergrond gedoen.

Om die topologie van Cloudflare Worker se argitektuur beter te verstaan, is hier 'n uiteensetting van hoë na lae vlak:

Soos genoem, het Cloudflare 'n CDN wat bestaan uit baie bedieners op verskillende plekke ter wêreld
'N Enkele plek self bestaan uit baie bedieners wat inkomende versoeke verwerk
As ons op 'n enkele bediener inzoom, sien ons dat hierdie masjien 'n sogenaamde 'Worktime runtime' bestuur, wat aangedryf word deur die Javascript V8-enjin
Uiteindelik is u bedienerlose funksie net een "isolaat" binne hierdie runtime; 'n enkele looptyd kan duisende funksies gelyktydig aanbied

'N Besonder belangrike inligting: elke Cloudflare Worker wat u gebruik, het sy eie geheue, geïsoleer van elke ander proses. Dit verseker dat u data eintlik net deur u instansie toeganklik is.

Wanneer om Cloudflare Workers te gebruik, en wanneer nie

Cloudflare Workers klink baie opwindend en is beslis die moeite werd om dit uit te probeer, selfs al het u reeds bestaande programme wat bedienerlose funksies van ander verskaffers gebruik. Tog kan dit ook die hoofrede aandui waarom Cloudflare se produk moeiliker is om aan te neem: baie dienste, soos Next.js, gekombineer met Vercel of Firebase deur Google, bied ook sulke oplossings. As u tans hul produkte gebruik, maak dit nie veel sin om oor te skakel na Cloudflare nie.

Maar as u met 'n nuwe projek begin, is dit die moeite werd om te oorweeg om Cloudflare Workers as u backend te gebruik. Die gebruik daarvan is prakties onbeperk in terme van gebruiksgevalle. Verder bied Cloudflare 'n groot verskeidenheid ander dienste wat pas by u behoeftes.

Voorstelle

Verwant

Aanhangsel

Tale