サーバーレスRedisでFly.ioアプリを実行する
Fly.ioは、アプリケーションをグローバルに配布できる優れたプラットフォームです。アプリケーションがグローバルである場合、データはグローバルである必要があります。通常のRedisをFly.ioアプリとして実行できますが、問題は単一のリージョンにあることです。一方、Upstash RedisGlobal Databaseは、グローバルに複製されるため、Fly.ioに完全に適合します。さらに、RESTベースのSDKのおかげで、ステートレスランタイムでの接続の問題は発生しません。
この記事では、UpstashRedisにアクセスしてFly.ioプラットフォームにデプロイする基本的なNode.jsアプリケーションを作成します。
Fly.ioセットアップ
- Fly.ioアカウントを作成します。
- flyctlをインストールし、
flyctl auth login
を実行します
UpstashRedisセットアップ
- 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プラットフォームでUpstashRedisを使用する方法を紹介しました。
問題やコメントについては、GitHub、DiscordandTwitterでお気軽にお問い合わせください。
-
サーバーレスRedisのパイプラインRESTAPI
Upstashは、ネイティブのRedisAPIに加えてRESTAPIをサポートしています。 REST APIは、開発者がサーバーレスおよびエッジ関数からの接続の問題なしにRedisにアクセスするのに役立ちます。ただし、同じ関数で複数のRedisコマンドを実行する場合、これはデータベースを複数回呼び出すことを意味します。コミュニティメンバーの1人(@MasterGates)が、Discordチャンネルで素晴らしい提案をしてくれました。パイプラインAPI: パイプラインAPI Pipeline APIは、RedisPIPELINEコマンドをRESTAPIに適合させたものです。 1つのhtt
-
CloudflareワーカーとのRedis@Edge
エッジでのコンピューティングは、近年最もエキサイティングな機能の1つです。 CDNを使用すると、ファイルをユーザーに近づけることができます。エッジコンピューティングを使用すると、アプリケーションをユーザーの近くで実行できます。これは、開発者がグローバルに分散されたパフォーマンスの高いアプリケーションを構築するのに役立ちます。 Cloudflare Workersは、現在この分野の主要製品です。コールドスタートのないサーバーレス処理環境を提供します。 Cloudflareのグローバルネットワークを活用して、アプリケーションのレイテンシーを最小限に抑えます。関数はJavascript、Rust、