Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

Deploy Global Serverless Redis บน Fly.io สำหรับการกระจายข้อมือราบรื่น

Fly.io เป็น Platform ยอดเยี่ยมที่กระจาย Application ได้ทั่วโลก เมื่อ Application เป็น Global ข้อมูลก็ต้องเป็น Global คุณสามารถรัน Regular Redis เป็น Fly.io App แต่ปัญหาคืออยู่ Single Region ส่วน Upstash Redis Global Database เหมาะกับ Fly.io เพราะ Replicated ทั่วโลก นอกจากนี้ด้วย REST-based SDK ไม่มี Connection Problem ใน Stateless Runtime

ในบทความนี้ จะสร้าง Node.js Application เบื้องต้นที่เข้าถึง Upstash Redis และ Deploy ไป Fly.io Platform

Fly.io Setup

Upstash Redis Setup

  • สร้าง Global Database ฟรีที่ Upstash Console
  • คัดลอก REST_URL และ REST_TOKEN จะใช้ในขั้นตอนถัดไป

Application Code

  • Clone Hello World App: git clone https://github.com/fly-apps/hellonode-builtin
  • ติดตั้ง Dependencies: npm install express @upstash/redis
  • อัปเดต server.js แทนที่ url และ token:
const express = require("express");
const app = express();
const port = process.env.PORT || 3000;
const { Redis } = require("@upstash/redis");

const redis = new Redis({
    url: "REPLACE_HERE",
    token: "REPLACE_HERE",
});

app.get(["/", "/:name"], async (req, res) => {
    let greeting = "<h1>Hello From Node on Fly!</h1>";
    if (req.url !== "/favicon.ico") {
        const data = await redis.incr("count");
        res.send(greeting + "</br> Counter: " + data);
    } else {
        res.send("");
    }
});

app.listen(port, () => console.log(`HelloNode app listening on port ${port}!`));

Run และ Deploy

  • รัน Local: node server.js

  • Launch และ Deploy ไป Fly.io: flyctl launch

  • Redeploy: flyctl deploy

  • ดู Application URL: flyctl status

  • ตรวจสอบจาก Fly.io Dashboard:

Deploy Global Serverless Redis บน Fly.io สำหรับการกระจายข้อมือราบรื่น

ข้อสรุป

ในบทความนี้ เราแสดงวิธีใช้ Upstash Redis บน Fly.io Application Platform

ติดต่อเราได้ที่ GitHub, Discord และ Twitter สำหรับ Issues หรือ Comments