برنامه نویسی

ساده ترین صف پیام با استفاده از Redis

Summarize this content to 400 words in Persian Lang
در Woovi ما بر روی کد تولید حمل و نقل با ساده ترین معماری تمرکز می کنیم، این به ما کمک می کند مقیاس را آسان تر کنیم و یک رویکرد DevOps ساده داشته باشیم.

ما همچنین در مورد تمام موارد استفاده Redis در Woovi نوشتیم. و ما قصد داریم نحوه اجرای آن را پوشش دهیم

BullMQ

BullMQ یک کتابخانه پردازش کار پس زمینه سریع و قوی برای Redis است.

از Redis برای ایجاد صفی از پیام‌ها استفاده می‌کند که در پس‌زمینه توسط کارگران پردازش می‌شوند.

شما می توانید با استفاده از سایر کارگزاران پیام پیچیده تر مانند RabbitMQ و Kafka به نتایج مشابهی برسید.

برای ما، BullMQ بهترین هزینه و فایده را تا کنون ارائه کرده است.

پیاده سازی گره

برای راه اندازی و اجرا با BullMQ فقط باید دو مفهوم را درک کنید: صف و کارگر.

آ Queue یک صف در Redis ایجاد می کند، جایی که سرویس های برنامه شما می توانند پیام ها یا رویدادها را به آن اضافه کنند.

آ Worker فرآیندی است که هر پیام را از یک صف خاص پردازش می کند

import { Queue } from “bullmq”;

const queue = new Queue(“Payment”);

await queue.add(“payment_received”, {
payment,
});

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

import { Worker } from ‘bullmq’;

const worker = new Worker(‘Payment’, async job => {
if (job.name === ‘payment_received’) {
await processPayment(job.data);
}
}, { concurrency: 100 });

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

معماری BullMQ

BullMQ به شما امکان می دهد رویدادها را از هر سرور یا کارگری به هر صف ارسال کنید و همچنین با افزایش پیام شما، کارگران خود را مقیاس بندی کنید.

مزایای رویداد محور

هنگام اتخاذ یک معماری رویداد محور، می توانید به راحتی کد خود را جدا کنید.کد جدا شده: کدی که رویداد را منتشر می کند نیازی به اطلاع از کد یا سرویسی که رویداد را پردازش می کند ندارد.خطاپذيري: همچنین می‌توانید در هنگام پردازش یک پیام، تلاش‌های مجدد را اضافه کنید و سیستم خود را نسبت به خطا مقاوم‌تر کنید.حد نرخ: می‌توانید محدودیت نرخ پردازش خود را کنترل کنید، در اینجا اطلاعات بیشتری در مورد آن بخوانید محدودیت نرخ را با استفاده از صف‌ها کنترل کنید

در نتیجه

اگر به دنبال یک صف پیام یا کار پردازش توزیع شده هستید، BullMQ را امتحان کنید.اگر در حال حاضر از Redis استفاده می کنید، اضافه کردن BullMQ به پشته خود آسان خواهد بود.در صورت نیاز به ابزارهای پیچیده تری مانند RabbitMQ و Kafka بروید.

Woovi یک استارت آپ نوآورانه است که چشم انداز پرداخت را متحول کرده است. با Woovi، خریداران می توانند از آزادی پرداخت به هر نحوی که ترجیح می دهند لذت ببرند. پلت فرم پیشرفته ما راه حل های پرداخت فوری را ارائه می دهد و به بازرگانان اجازه می دهد تا سفارشات را بپذیرند و تجربه مشتری خود را به طور یکپارچه ارتقا دهند.

اگر مایل به پیوستن به تیم ما هستید، ما در حال استخدام هستیم! فرصت های شغلی ما را در Woovi Careers بررسی کنید.

در Woovi ما بر روی کد تولید حمل و نقل با ساده ترین معماری تمرکز می کنیم، این به ما کمک می کند مقیاس را آسان تر کنیم و یک رویکرد DevOps ساده داشته باشیم.

ما همچنین در مورد تمام موارد استفاده Redis در Woovi نوشتیم. و ما قصد داریم نحوه اجرای آن را پوشش دهیم

BullMQ

BullMQ یک کتابخانه پردازش کار پس زمینه سریع و قوی برای Redis است.

از Redis برای ایجاد صفی از پیام‌ها استفاده می‌کند که در پس‌زمینه توسط کارگران پردازش می‌شوند.

شما می توانید با استفاده از سایر کارگزاران پیام پیچیده تر مانند RabbitMQ و Kafka به نتایج مشابهی برسید.

برای ما، BullMQ بهترین هزینه و فایده را تا کنون ارائه کرده است.

پیاده سازی گره

برای راه اندازی و اجرا با BullMQ فقط باید دو مفهوم را درک کنید: صف و کارگر.

آ Queue یک صف در Redis ایجاد می کند، جایی که سرویس های برنامه شما می توانند پیام ها یا رویدادها را به آن اضافه کنند.

آ Worker فرآیندی است که هر پیام را از یک صف خاص پردازش می کند

import { Queue } from "bullmq";

const queue = new Queue("Payment");

await queue.add("payment_received", { 
  payment,
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

import { Worker } from 'bullmq';

const worker = new Worker('Payment', async job => {
  if (job.name === 'payment_received') {
    await processPayment(job.data);
  }
}, { concurrency: 100 });
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

معماری BullMQ

معماری BullMQ

BullMQ به شما امکان می دهد رویدادها را از هر سرور یا کارگری به هر صف ارسال کنید و همچنین با افزایش پیام شما، کارگران خود را مقیاس بندی کنید.

مزایای رویداد محور

هنگام اتخاذ یک معماری رویداد محور، می توانید به راحتی کد خود را جدا کنید.
کد جدا شده: کدی که رویداد را منتشر می کند نیازی به اطلاع از کد یا سرویسی که رویداد را پردازش می کند ندارد.
خطاپذيري: همچنین می‌توانید در هنگام پردازش یک پیام، تلاش‌های مجدد را اضافه کنید و سیستم خود را نسبت به خطا مقاوم‌تر کنید.
حد نرخ: می‌توانید محدودیت نرخ پردازش خود را کنترل کنید، در اینجا اطلاعات بیشتری در مورد آن بخوانید محدودیت نرخ را با استفاده از صف‌ها کنترل کنید

در نتیجه

اگر به دنبال یک صف پیام یا کار پردازش توزیع شده هستید، BullMQ را امتحان کنید.
اگر در حال حاضر از Redis استفاده می کنید، اضافه کردن BullMQ به پشته خود آسان خواهد بود.
در صورت نیاز به ابزارهای پیچیده تری مانند RabbitMQ و Kafka بروید.


Woovi یک استارت آپ نوآورانه است که چشم انداز پرداخت را متحول کرده است. با Woovi، خریداران می توانند از آزادی پرداخت به هر نحوی که ترجیح می دهند لذت ببرند. پلت فرم پیشرفته ما راه حل های پرداخت فوری را ارائه می دهد و به بازرگانان اجازه می دهد تا سفارشات را بپذیرند و تجربه مشتری خود را به طور یکپارچه ارتقا دهند.

اگر مایل به پیوستن به تیم ما هستید، ما در حال استخدام هستیم! فرصت های شغلی ما را در Woovi Careers بررسی کنید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا