Fly.io는 애플리케이션을 전 세계적으로 배포할 수 있는 훌륭한 플랫폼입니다. 애플리케이션이 글로벌이면 데이터도 글로벌해야 합니다. 일반 Redis를 Fly.io 앱으로 실행할 수 있지만 문제는 단일 지역에 있다는 것입니다. 반면에 Upstash RedisGlobal Database는 전 세계적으로 복제되는 Fly.io에 완벽하게 맞습니다. 또한 REST 기반 SDK 덕분에 Stateless 런타임에서 연결 문제가 없습니다.
이 기사에서는 Upstash Redis에 액세스하여 Fly.io 플랫폼에 배포하는 기본 Node.js 애플리케이션을 생성합니다.
Fly.io 설정
- Fly.io 계정을 만드세요.
- flyctl 설치 및
flyctl auth login
실행
Upstash Redis 설정
- 무료 Global Databaseon Upstash 콘솔 만들기
- REST_URL 및 REST_TOKEN을 복사하면 다음 단계에서 사용됩니다.
애플리케이션 코드
- hello worldapp 복제:
git clone https://github.com/fly-apps/hellonode-builtin
- 종속성 설치:
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}!`));
실행 및 배포
-
로컬에서 애플리케이션 실행:
node server.js
-
fly.io:
flyctl launch
실행 및 배포 -
flyctl deploy
를 사용하여 앱을 재배포할 수 있습니다. -
flyctl status
가 있는 애플리케이션 URL 보기 -
또한 fly.io 대시보드에서 애플리케이션을 확인할 수 있습니다.
닫는 말
이 기사에서는 Fly.ioapplication 플랫폼에서 Upstash Redis를 사용하는 방법을 보여주었습니다.
문제나 의견이 있는 경우 GitHub, Discord 및 Twitter를 통해 언제든지 문의하세요.