ホームページ > ウェブフロントエンド > jsチュートリアル > Node.js と Pulsetracker の Redis Pub/Sub を使用したリアルタイムの位置追跡

Node.js と Pulsetracker の Redis Pub/Sub を使用したリアルタイムの位置追跡

DDD
リリース: 2024-12-09 13:20:10
オリジナル
617 人が閲覧しました

Real-Time Location Tracking with Node.js and Pulsetracker

はじめに

リアルタイムの位置追跡は、配送サービスから個人追跡ツールに至るまで、多くの最新アプリケーションの中心となっています。 Pulsetracker は、開発者がバックエンドでリアルタイムの位置情報の更新をサブスクライブできる専用の Redis Pub/Sub サーバーを提供することで、このプロセスを簡素化します。このガイドでは、これらの更新をリッスンして位置データをリアルタイムで処理する Node.js アプリケーションを構築する方法を説明します。


Pulsetracker を使用する理由

Pulsetracker は、リアルタイムの位置追跡のためのバックエンドを構築する複雑さを排除します。 WebSocket ディスパッチ、Redis Pub/Sub 統合、構成可能なプライバシー設定など、プライバシーを重視したオプションと機能を備えたスケーラブルなインフラストラクチャを提供します。


Node.js を使用する理由

Node.js は、ノンブロッキングのイベント駆動型アーキテクチャーにより、リアルタイム アプリケーションに最適です。 Node.js で Redis Pub/Sub を使用すると、リアルタイム データ ストリームを効率的に処理できます。


Node.js 環境のセットアップ

前提条件:

  • Node.js がインストールされました
  • Redis クライアント ライブラリ (ioredis) がインストールされました
  • Pulsetracker アカウントと API 認証情報

ステップ 1: 依存関係をインストールする

次のコマンドを実行して、必要な Redis ライブラリをインストールします。

npm install ioredis
ログイン後にコピー
ログイン後にコピー

ステップ 2: アプリケーションを構成する

.env ファイルを作成し、Pulsetracker Redis 構成を追加します。
(pulsestracker ダッシュボードから APP_KEY と TOKEN を取得します)

PULSETRACKER_REDIS_URL=redis://redis-sub.pulsestracker.com:6378
APP_KEY=YOUR_APP_KEY
TOKEN=YOUR_TOKEN
ログイン後にコピー

ステップ 3: Node.js サブスクライバーを作成する

位置情報の更新をリッスンする Node.js スクリプトの例を次に示します。

const Redis = require("ioredis");
require("dotenv").config();

// Configuration
const redisUrl = process.env.PULSETRACKER_REDIS_URL;
const appKey = process.env.APP_KEY;
const token = process.env.TOKEN;

// Generate the signature
function generateSignature(appKey, token) {
  const crypto = require("crypto");
  const [prefix, secret] = token.split("|");
  if (!secret) throw new Error("Invalid token format");

  const innerHash = crypto.createHash("sha256").update(secret).digest("hex");
  return crypto.createHmac("sha256", innerHash).update(appKey).digest("hex");
}

const signature = generateSignature(appKey, token);
const channel = `app:${appKey}.${signature}`;

// Connect to Redis
const redis = new Redis(redisUrl);

console.log(`Subscribing to channel: ${channel}`);
redis.subscribe(channel, (err, count) => {
  if (err) {
    console.error("Failed to subscribe:", err);
    process.exit(1);
  }
  console.log(`Successfully subscribed. Waiting for messages...`);
});

// Listen for messages
redis.on("message", (channel, message) => {
  console.log(`Received message ${message}`);
});
ログイン後にコピー

仕組み

  1. 環境構成: Redis 接続 URL と認証情報は .env ファイルに安全に保存されます。
  2. 署名の生成: アプリは、HMAC を使用して安全なチャネル署名を生成し、正しいチャネルに登録します。
  3. Redis サブスクリプション: アプリケーションは、Redis チャネルに公開されたリアルタイムの位置情報の更新をリッスンします。

アプリケーションの実行

  1. スクリプトをsubscriber.jsとして保存します。
  2. 以下を使用してスクリプトを実行します。
node subscriber.js
ログイン後にコピー
  1. アプリケーションは、Pulsetracker から受信したリアルタイムの位置情報の更新をログに記録します。

ログの例:

npm install ioredis
ログイン後にコピー
ログイン後にコピー

結論

Pulsetracker の Redis Pub/Sub 統合により、堅牢なリアルタイム位置追跡アプリケーションを簡単に構築できます。 Node.js を使用すると、これらの更新をリアルタイムで処理できるため、アプリのシームレスなバックエンド操作が可能になります。

Pulsetracker のドキュメントを参照してその機能について詳しく学び、スケーラブルな追跡ソリューションの構築を今すぐ始めましょう!

以上がNode.js と Pulsetracker の Redis Pub/Sub を使用したリアルタイムの位置追跡の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート