কম্পিউটার

ফাস্টলি কম্পিউটে রেডিস ব্যবহার করুন

  • এই উদাহরণটি দ্রুত CLI-এর একটি পুরানো সংস্করণ ব্যবহার করে। একটি আপ-টু-ডেট সংস্করণের জন্য এই নিবন্ধটি দেখুন।

এই পোস্টে, আমরা একটি সহজ অ্যাপ্লিকেশন লিখব যা Fastly Compute@Edge-এ চলবে। অ্যাপ্লিকেশনটি পৃষ্ঠা দর্শনের ট্র্যাক রাখতে Upstash Redis অ্যাক্সেস করবে৷

প্রেরণা

এজ কম্পিউটিং সাম্প্রতিক বছরগুলিতে সবচেয়ে উত্তেজনাপূর্ণ প্রবণতাগুলির মধ্যে একটি। ক্লাউডফ্লেয়ার এবং ফাস্টলির মতো CDN পরিষেবাগুলি ব্যবহারকারীদের তাদের প্রান্ত পরিকাঠামোতে তাদের অ্যাপ্লিকেশন চালানোর জন্য সক্ষম করতে শুরু করেছে। এটি বিকাশকারীদের বিশ্বব্যাপী বিতরণ করা, উচ্চ কার্যকারিতা অ্যাপ্লিকেশন তৈরি করতে সহায়তা করে।

Compute@Edge হল ফাস্টলি থেকে সার্ভারহীন প্ল্যাটফর্ম। আপনি আপনার কোডটি রাস্ট, অ্যাসেম্বলিস্ক্রিপ্ট, জাভাস্ক্রিপ্টে লিখতে পারেন এবং ফাস্টলির এজ নেটওয়ার্কে চালাতে পারেন। দ্রুত গণনা ফাংশন রাষ্ট্রহীন হয়. এর মানে হল ডেভেলপারদের তাদের অ্যাপ্লিকেশনের অবস্থা একটি বাহ্যিক স্টোরেজে রাখা উচিত। কিন্তু ফাস্টলি ফাংশনগুলির জন্য রানটাইম হিসাবে WebAssembly ব্যবহার করে এবং এটি TCP সংযোগগুলিকে অনুমতি দেয় না। Upstash Redis হল REST API, গ্লোবাল রেপ্লিকেশন এবং সার্ভারহীন মূল্যের সাথে দ্রুত কম্পিউট ফাংশনের জন্য একটি নিখুঁত সমাধান৷

কোড এবং ডেমো দেখুন

প্রকল্প সেটআপ

Upstash কনসোলে একটি ডাটাবেস তৈরি করুন। প্রান্তের অবস্থান থেকে কম বিলম্বের জন্য গ্লোবাল ডাটাবেস পছন্দ করুন।

দ্রুত ইনস্টল করুন 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
To learn about deploying Compute@Edge projects using third-party orchestration tools, visit:
	https://developer.fastly.com/learning/integrations/orchestration/
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"

আপনাকে একটি দ্রুত কম্পিউট পরিষেবা তৈরি করতে হবে এবং উপরে আপনার দ্রুত পরিষেবা আইডি পেস্ট করতে হবে৷

ফাস্টলি কম্পিউটে রেডিস ব্যবহার করুন

এছাড়াও আপনাকে আপনার দ্রুত কম্পিউট পরিষেবাতে ব্যাকএন্ড হিসাবে Upstash REST URL যোগ করতে হবে। দ্রুত কম্পিউটের জন্য ব্যাকএন্ড হিসাবে নিবন্ধিত হওয়ার জন্য কোনও বাহ্যিক নেটওয়ার্ক সংযোগ প্রয়োজন। পরিষেবার স্ক্রিনে, Edit Configuration-এ ক্লিক করুন> Clone version x to edit> Origins> Create a host

হোস্ট যোগ করার পর, হোস্টের জন্য একটি নাম যোগ করতে আইকনে সম্পাদনা করতে ক্লিক করুন। নামটি upstash-db হিসাবে সেট করুন যা backend এর সমান হবে অপশন যখন আমরা upstash-redis ক্লায়েন্ট কনফিগার করছি। https:// সরান ইউআরএল থেকে অংশ। অবশেষে Activate এ ক্লিক করুন বর্তমান স্থাপনার সাথে কনফিগারেশন সক্রিয় করতে উপরের ডান কোণায় বোতাম।

ফাস্টলি কম্পিউটে রেডিস ব্যবহার করুন

Local_server.backends.upstash-db স্থানীয়ভাবে আপনার ফাংশন চালানোর জন্য আপনার জন্য প্রয়োজন। আপনার Upstash ডাটাবেসের REST url দিয়ে 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();

আপনাকে Upstash কনসোল

থেকে REST URL এবং টোকেন কপি এবং পেস্ট করতে হবে

আমরা কেবল upstash-redis ক্লায়েন্ট ব্যবহার করে Upstash-এর সাথে সংযোগ করি। আমরা একটি কাউন্টার বৃদ্ধি করি এবং প্রতিক্রিয়া ফেরত দেই।

মনে রাখবেন যে আপনি অন্য রেডিস ক্লায়েন্ট ব্যবহার করতে পারবেন না কারণ তারা TCP সংযোগ ব্যবহার করে যা ফাস্টলি কম্পিউট দ্বারা সমর্থিত নয়৷

auth() দিয়ে প্রমাণীকরণ করার সময় , আপনাকে backend: upstash-db যোগ করতে হবে একটি অতিরিক্ত অনুরোধ বিকল্প হিসাবে। এটি প্রয়োজনীয় কারণ ফাস্টলি কম্পিউটের জন্য ব্যাকএন্ড হিসাবে নিবন্ধিত হওয়ার জন্য যেকোনো বাহ্যিক নেটওয়ার্ক সংযোগ প্রয়োজন৷

স্থানীয়ভাবে চালান

আপনি স্থানীয়ভাবে ফাংশনটি চালাতে পারেন:

fastly compute serve

বিল্ড এবং স্থাপন করুন

এর সাথে আপনার ফাংশন তৈরি করুন এবং স্থাপন করুন:

fastly compute publish

আপনার অ্যাপ্লিকেশনটি দ্রুত দ্বারা নির্মিত এবং স্থাপন করা হবে। কমান্ডটি ইউআরএল লগ করবে যাতে আপনি এটি কাজ করছে কিনা তা পরীক্ষা করতে পারেন:

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

ক্লোজিং শব্দ

এই নিবন্ধে আমরা একটি খুব সাধারণ অ্যাপ্লিকেশন তৈরি করেছি যা Upstash ব্যবহার করে এজ এ ফাস্টলি কম্পিউটে চলে। আমরা আপনার প্রতিক্রিয়া দ্বারা Upstash এবং আমাদের বিষয়বস্তু উন্নত করতে পছন্দ করি। টুইটার বা ডিসকর্ডে আপনার চিন্তা আমাদের জানান।

https://developer.fastly.com/learning/compute/

https://developer.fastly.com/learning/compute/javascript/


  1. রেডিস লঞ্চপ্যাড পেশ করা হচ্ছে

  2. Redis.io রিফ্রেশ করা এবং প্রসারিত করা

  3. শীর্ষ পাঁচটি রেডিস ব্যবহারের ক্ষেত্রে

  4. শীর্ষ 5 Redis ব্যবহারের ক্ষেত্রে