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
- สร้าง Fly.io Account
- ติดตั้ง flyctl และรัน
flyctl auth login
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.jsLaunch และ Deploy ไป Fly.io:
flyctl launchRedeploy:
flyctl deployดู Application URL:
flyctl statusตรวจสอบจาก Fly.io Dashboard:

ข้อสรุป
ในบทความนี้ เราแสดงวิธีใช้ Upstash Redis บน Fly.io Application Platform
ติดต่อเราได้ที่ GitHub, Discord และ Twitter สำหรับ Issues หรือ Comments