Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

फास्टली कंप्यूट@एज के साथ रेडिस को एकीकृत करना: कुशल पेज व्यू ट्रैकिंग के लिए

इस पोस्ट में, हम एक साधारण एप्लिकेशन लिखेंगे जो फास्टली कंप्यूट@एज पर चलेगा। यह एप्लिकेशन पेज व्यू को ट्रैक करने के लिए अपस्टैश रेडिस का उपयोग करेगा।

प्रेरणा

एज कंप्यूटिंग हाल के वर्षों में सबसे रोमांचक ट्रेंड्स में से एक है। क्लाउडफ्लेयर और फास्टली जैसी CDN सेवाओं ने उपयोगकर्ताओं को अपने एज इंफ्रास्ट्रक्चर पर एप्लिकेशन चलाने में सक्षम बनाया है। इससे डेवलपर्स को विश्व स्तर पर वितरित, उच्च-प्रदर्शन वाले एप्लिकेशन बनाने में मदद मिलती है।

कंप्यूट@एज फास्टली का सर्वरलेस प्लेटफॉर्म है। आप अपना कोड रस्ट, असेंबलीस्क्रिप्ट, जावास्क्रिप्ट में लिख सकते हैं और इसे फास्टली के एज नेटवर्क पर चला सकते हैं। फास्टली कंप्यूट फंक्शन स्टेटलेस होते हैं। इसका मतलब है कि डेवलपर्स को अपने एप्लिकेशन की स्थिति बाहरी स्टोरेज पर रखनी चाहिए। लेकिन फास्टली फंक्शन के लिए रनटाइम के रूप में WebAssembly का उपयोग करता है और यह TCP कनेक्शन की अनुमति नहीं देता। अपस्टैश रेडिस अपने REST API, ग्लोबल रेप्लिकेशन और सर्वरलेस प्राइसिंग के साथ फास्टली कंप्यूट फंक्शन के लिए एक आदर्श समाधान है।

प्रोजेक्ट सेटअप

डेटाबेस बनाएं

अपस्टैश कंसोल में एक डेटाबेस बनाएं। एज लोकेशन से कम लेटेंसी के लिए ग्लोबल डेटाबेस चुनें।

फास्टली CLI इंस्टॉल करें

brew install fastly/tap/fastly

CLI को कॉन्फ़िगर करें

fastly configure

प्रोजेक्ट इनिशियलाइज़ करें

एक फोल्डर बनाएं और उसमें fastly compute init चलाएं:

➜ using-fastly-compute git:(master) ✗ fastly compute init
Creating a new Compute@Edge project. Press ^C at any time to quit.
Name: [using-fastly-compute]
Description:
Author: [enes@upstash.com]
Language: [1] Rust [2] AssemblyScript (beta) [3] JavaScript (beta) [4] Other ('bring your own' Wasm binary)
Choose option: [1] 3
Starter kit: [1] Default starter for JavaScript
A basic starter kit that demonstrates routing, simple synthetic responses and overriding caching rules.
https://github.com/fastly/compute-starter-kit-javascript-default
Choose option or paste git URL: [1]
✓ Initializing... ✓ Fetching package template... ✓ Updating package manifest... ✓ Initializing package...
Initialized package using-fastly-compute to: /Users/enes/dev/examples/using-fastly-compute
To publish the package (build and deploy), run: fastly compute publish
SUCCESS: Initialized package using-fastly-compute

निर्भरताएं इंस्टॉल करें

npm install @upstash/redis flight-path

webpack.config.js अपडेट करें

plugins: [
  // Polyfills go here.
  // Used for, e.g., any cross-platform WHATWG,
  // or core nodejs modules needed for your application.
  new webpack.ProvidePlugin({
    URL: "core-js/web/url",
  }),
],

fastly.toml अपडेट करें

authors = ["enes@upstash.com"]
description = "Example of using Upstash with Fastly Compute@Edge"
language = "javascript"
manifest_version = 2
name = "fastly-upstash"
service_id = "PASTE_YOUR_SERVICE_ID"
[local_server.backends.upstash-db]
url = "https://eu1-liberal-cat-30162.upstash.io"

आपको एक फास्टली कंप्यूट सर्विस बनानी होगी और ऊपर अपना फास्टली सर्विस आईडी पेस्ट करना होगा।

साथ ही, आपको अपने फास्टली कंप्यूट सर्विस में अपस्टैश REST URL को बैकएंड के रूप में जोड़ना होगा। फास्टली कंप्यूट के लिए किसी भी बाहरी नेटवर्क कनेक्शन को बैकएंड के रूप में रजिस्टर करना आवश्यक है। सर्विस स्क्रीन पर जाएं, Edit Configuration > Clone version x to edit > Origins > Create a host पर क्लिक करें।

होस्ट जोड़ने के बाद, एडिट आइकन पर क्लिक करके होस्ट के लिए नाम सेट करें। नाम को upstash-db सेट करें जो अपस्टैश-रेडिस क्लाइंट कॉन्फ़िगर करते समय backend ऑप्शन के बराबर होगा। URL से https:// पार्ट हटाएं। अंत में, टॉप राइट कॉर्नर पर Activate बटन पर क्लिक करके वर्तमान डिप्लॉयमेंट के साथ कॉन्फ़िगरेशन को एक्टिवेट करें।

local_server.backends.upstash-db आपके फंक्शन को स्थानीय रूप से चलाने के लिए आवश्यक है। URL को अपने अपस्टैश डेटाबेस के REST URL से बदलें।

इम्प्लीमेंटेशन

src/index.js सर्वरलेस फंक्शन का इम्प्लीमेंटेशन है। कोड को नीचे दिए अनुसार एडिट करें:

import { Router } from "flight-path";
import { Redis } from "@upstash/redis/fastly";

const router = new Router();
const redis = new Redis({
  url: "PASTE_YOUR_UPSTASH_REST_URL",
  token: "PASTE_YOUR_UPSTASH_TOKEN",
  backend: "upstash-db",
});

router.get("/", async (req, res) => {
  const count = await redis.incr("count");
  res.send(`Fastly with Upstash! Count: ${count}`);
});

router.listen();

आपको अपस्टैश कंसोल से REST URL और टोकन कॉपी करके पेस्ट करने होंगे।

हम बस upstash-redis क्लाइंट का उपयोग करके अपस्टैश से कनेक्ट करते हैं। हम एक काउंटर को बढ़ाते हैं और रिस्पॉन्स वापस करते हैं।

नोट: आप अन्य रेडिस क्लाइंट का उपयोग नहीं कर सकते क्योंकि वे TCP कनेक्शन का उपयोग करते हैं जो फास्टली कंप्यूट द्वारा समर्थित नहीं है।

auth() के साथ ऑथेंटिकेट करते समय, आपको एक्स्ट्रा रिक्वेस्ट ऑप्शन के रूप में backend: upstash-db जोड़ना होगा। यह आवश्यक है क्योंकि फास्टली कंप्यूट के लिए किसी भी बाहरी नेटवर्क कनेक्शन को बैकएंड के रूप में रजिस्टर करना आवश्यक है।

स्थानीय रूप से चलाएं

आप फंक्शन को स्थानीय रूप से चला सकते हैं:

fastly compute serve

बिल्ड और डिप्लॉय करें

अपने फंक्शन को बिल्ड और डिप्लॉय करें:

fastly compute publish

आपका एप्लिकेशन फास्टली द्वारा बिल्ड और डिप्लॉय किया जाएगा। कमांड URL लॉग करेगा ताकि आप टेस्ट कर सकें कि यह काम कर रहा है:

https://horribly-organic-spider.edgecompute.app

निष्कर्ष

इस आर्टिकल में हमने अपस्टैश का उपयोग करके फास्टली कंप्यूट एट एज पर चलने वाला एक बहुत ही सरल एप्लिकेशन बनाया है। हम आपके फीडबैक से अपस्टैश और अपने कंटेंट को बेहतर बनाना पसंद करते हैं। ट्विटर या डिस्कॉर्ड पर अपने विचार बताएं।

एक्सटर्नल लिंक्स

  1. नवीनीकृत Redis.io पेश: आधुनिक डिज़ाइन, अद्यतन डॉक्स, और उन्नत उपयोगकर्ता अनुभव नवीनीकृत Redis.io पेश: आधुनिक डिज़ाइन, अद्यतन डॉक्स, और उन्नत उपयोगकर्ता अनुभव

    आज हमें Redis.io के पुन: लॉन्च की घोषणा करते हुए खुशी हो रही है। Redis.io हमेशा से Redis का घर और नए Redis उपयोगकर्ताओं के लिए प्रवेश बिंदु रहा है। इस लॉन्च के साथ, हमने कोर Redis डॉक्यूमेंटेशन को संशोधित किया है जबकि साइट के डिज़ाइन को आधुनिक बनाया है और इसके इंफ्रास्ट्रक्चर को अपडेट किया है। इस पो

  1. आधुनिक एप्लिकेशन के लिए 5 आवश्यक Redis उपयोग मामलों की खोज करें आधुनिक एप्लिकेशन के लिए 5 आवश्यक Redis उपयोग मामलों की खोज करें

    मूल रूप से 7 नवंबर, 2017 को ObjectRocket.com/blog पर प्रकाशित। यह पोस्ट Redis™ के कुछ सबसे सामान्य उपयोग मामलों और विभिन्न विशेषताओं की व्याख्या करता है जो इन विकल्पों को प्रभावित करती हैं। 1. सत्र कैश Redis के लिए सबसे स्पष्ट उपयोग मामलों में से एक इसे सत्र कैश के रूप में उपयोग करना है। Memcached

  1. स्केलेबल एप्लिकेशन के लिए 5 आवश्यक Redis उपयोग के मामले स्केलेबल एप्लिकेशन के लिए 5 आवश्यक Redis उपयोग के मामले

    इस पोस्ट में, हम Redis के कुछ सबसे सामान्य उपयोग के मामलों और उन विभिन्न विशेषताओं को समझाएंगे जो इन विकल्पों को प्रभावित कर रही हैं। 1. सेशन कैश Redis के लिए सबसे स्पष्ट उपयोग के मामलों में से एक इसे सेशन कैश के रूप में उपयोग करना है। Memcached जैसे अन्य सेशन स्टोर्स पर Redis का उपयोग करने के फायद