Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

サーバーレス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
server.js
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ダッシュボードからアプリケーションを確認することもできます:

サーバーレスRedisでFly.ioアプリを実行する

最後の言葉

この記事では、Fly.ioapplicationプラットフォームでUpstashRedisを使用する方法を紹介しました。

問題やコメントについては、GitHub、DiscordandTwitterでお気軽にお問い合わせください。


  1. サーバーレスRedisのパイプラインRESTAPI

    Upstashは、ネイティブのRedisAPIに加えてRESTAPIをサポートしています。 REST APIは、開発者がサーバーレスおよびエッジ関数からの接続の問題なしにRedisにアクセスするのに役立ちます。ただし、同じ関数で複数のRedisコマンドを実行する場合、これはデータベースを複数回呼び出すことを意味します。コミュニティメンバーの1人(@MasterGates)が、Discordチャンネルで素晴らしい提案をしてくれました。パイプラインAPI: パイプラインAPI Pipeline APIは、RedisPIPELINEコマンドをRESTAPIに適合させたものです。 1つのhtt

  2. CloudflareワーカーとのRedis@Edge

    エッジでのコンピューティングは、近年最もエキサイティングな機能の1つです。 CDNを使用すると、ファイルをユーザーに近づけることができます。エッジコンピューティングを使用すると、アプリケーションをユーザーの近くで実行できます。これは、開発者がグローバルに分散されたパフォーマンスの高いアプリケーションを構築するのに役立ちます。 Cloudflare Workersは、現在この分野の主要製品です。コールドスタートのないサーバーレス処理環境を提供します。 Cloudflareのグローバルネットワークを活用して、アプリケーションのレイテンシーを最小限に抑えます。関数はJavascript、Rust、