Hur man distribuerar en Express-applikation och skalar med MemCachier på DigitalOcean App Platform

Inledning

I den digitala eran ställs höga krav på webbapplikationers förmåga till skalbarhet, driftsäkerhet och prestanda. Express.js är ett populärt ramverk för Node.js, vilket underlättar skapandet av serverbaserade applikationer. Genom att kombinera Express med MemCachier på DigitalOcean App Platform kan du driftsätta och skala din applikation för att hantera ökad trafik och optimera användarupplevelsen.

Denna handledning ger dig detaljerade anvisningar för hur du distribuerar en Express-applikation och skalar den med hjälp av MemCachier på DigitalOcean App Platform. Vi går igenom följande aspekter:

  • Förberedelser
  • Skapande av DigitalOcean-droppar
  • Konfigurering av Express-applikationen
  • Installation av MemCachier
  • Anpassning av Express för MemCachier
  • Deployment till DigitalOcean App Platform
  • Skalning med MemCachier

Förutsättningar

  • Ett aktivt DigitalOcean-konto
  • Node.js och npm installerat
  • En befintlig Express-applikation

Installera DigitalOcean CLI

DigitalOcean CLI är ett kommandoradsverktyg som förenklar hanteringen av dina DigitalOcean-resurser. Följ stegen i denna instruktion för att installera CLI.

Skapa DigitalOcean-droppar

Vi kommer att konfigurera två DigitalOcean-droppar: en för att köra vår Express-applikation och en annan för MemCachier.

Skapa en droppe för Express

Logga in på ditt DigitalOcean-konto och klicka på ”Skapa ny droppe”. Konfigurera droppen enligt följande:

  • Namn: express-app
  • Operativsystem: Ubuntu 20.04 x64
  • Storlek: Anpassad med 1 GB RAM och 1 CPU
  • Region: Välj en region som är geografiskt nära dina användare

Skapa en droppe för MemCachier

Skapa ytterligare en droppe och konfigurera den med följande parametrar:

  • Namn: memcachier
  • Operativsystem: memcachier
  • Storlek: Anpassad med 512 MB RAM och 1 CPU
  • Region: Samma region som Express-droppen

Konfigurera Express-applikationen

Installera Express och tillhörande beroenden i din Express-applikation:


npm install express body-parser

Skapa en ny fil med namnet server.js och kopiera in följande kod:


const express = require('express');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.json());

app.get('/', (req, res) => {
res.send('Hello world!');
});

app.listen(3000);

Installera MemCachier

På MemCachier-droppen

Anslut till MemCachier-droppen via SSH. Installera MemCachier med detta kommando:


sudo apt-get update
sudo apt-get install memcached

På Express-droppen

Installera MemCachier-klienten för Node.js:


npm install memcached

Anpassa Express för att använda MemCachier

I din server.js-fil, anpassa Express för att använda MemCachier:


const memcached = require('memcached');

const client = new memcached('memcachier:11211');

Använd MemCachier-klienten för att spara och hämta data från cachen:


client.set('key', 'value', 1000, (err) => {
if (err) {
console.error(err);
}
});

client.get('key', (err, value) => {
if (err) {
console.error(err);
} else if (value) {
console.log(`Got value: ${value}`);
} else {
console.log('Cache miss');
}
});

Deployment till DigitalOcean App Platform

Skapa ett nytt DigitalOcean-projekt

Logga in på DigitalOcean Cloud och skapa ett nytt projekt.

Lägg till applikationsfunktionen till projektet

Klicka på ”Funktioner” och välj ”App”.

Skapa en ny applikation

Klicka på ”Skapa applikation” och konfigurera applikationen enligt följande:

  • Namn: express-app-memcachier
  • Programmeringsspråk: Node.js
  • Storlek: Standard
  • Region: Samma region som dina droppar
  • Bind till droppar: express-app, memcachier

Skalning med MemCachier

När din applikation upplever ökad trafik kan du skala den genom att lägga till fler MemCachier-droppar. Öka bara antalet droppar som är kopplade till din DigitalOcean-applikation.

MemCachier kommer automatiskt att sprida din cachade data till alla droppar, vilket garanterar hög tillgänglighet och snabb prestanda.

Slutsats

Genom att följa anvisningarna i denna guide kan du driftsätta och skala din Express-applikation med MemCachier på DigitalOcean App Platform. Denna lösning ger dig fördelarna med cachelagring och gör det möjligt för din applikation att hantera ökad trafik, samtidigt som en snabb och pålitlig användarupplevelse säkerställs.

Vanliga frågor

1. Vilka fördelar finns med att använda MemCachier?
* Ökad prestanda och kortare svarstider
* Reducerad serverbelastning
* Förbättrad skalbarhet och tillgänglighet

2. Hur konfigurerar jag MemCachier-klienten i min Express-applikation?
* Installera memcached-paketet
* Skapa en ny memcached-instans med anslutningsinformationen till MemCachier-droppen

3. Hur skalar jag min applikation med MemCachier på DigitalOcean App Platform?
* Lägg till fler MemCachier-droppar till din applikation
* MemCachier sprider automatiskt cachad data till alla droppar

4. Vilka andra cachelösningar kan jag använda med DigitalOcean App Platform?
* Redis
* Varnish

5. Hur förbättrar MemCachier säkerheten för min applikation?
* MemCachier lagrar inte känslig data
* Det är viktigt att implementera andra säkerhetsåtgärder, som SSL och brandväggar

6. Vilka är några bästa metoder för att använda MemCachier?
* Använd nycklar med tidsstämplar för att undvika att data blir för gammal
* Använd så liten datastorlek som möjligt för cachad data
* Övervaka cacheanvändningen och justera inställningarna vid behov

7. Hur felsöker jag problem med MemCachier?
* Kontrollera anslutningen till MemCachier-droppen
* Kontrollera minnesanvändningen på MemCachier-droppen
* Sök efter felmeddelanden i din Express-applikation eller MemCachier-droppen

8. Var kan jag få support för MemCachier på DigitalOcean App Platform?
* DigitalOcean-dokumentationen
* Stack Overflow
* DigitalOcean Community