رباتی که در پیک کمپین
پیامها را از دست نمیدهد.
وقتی کمپین میترکد، تلگرام آپدیتها را با همان سرعت میفرستد چه شما آماده باشید چه نباشید. اگر پردازش هر پیام درجا انجام شود، صف ورودی بالا میرود و پیامها میسوزند. راهحل، جدا کردن دریافت از پردازش است.
چه چیزی باید حل میشد
رباتهایی که آپدیت تلگرام را همان لحظه پردازش میکنند، در ترافیک بالا دچار تجمع صف میشوند. تلگرام برای هر آپدیت پاسخ سریع میخواهد؛ اگر دیر جواب بگیرد دوباره میفرستد و بار بیشتر میشود — یک چرخهٔ باطل که ربات را از کار میاندازد.
تصمیمهای فنی و دلیلشان
هر بند اینجا یک تصمیم است که میشد جور دیگری گرفته شود. اگر تیم فنی دارید، همینها را زیر سؤال ببرید.
- وبهوک فقط آپدیت را تحویل میگیرد و بلافاصله پاسخ میدهد؛ هیچ کار سنگینی در مسیر پاسخ انجام نمیشود
- کار واقعی وارد صف Redis میشود و کارگرهای جداگانه آن را برمیدارند
- کارگرها مستقل از هم مقیاس میگیرند، پس بار سنگین یک بخش بقیه را متوقف نمیکند
- هر پیام کلید یکتا دارد تا ارسال دوبارهٔ تلگرام باعث پردازش تکراری نشود
- محدودسازی نرخ بهازای کاربر، جلوی سوءاستفاده و اسپم را میگیرد
خودتان امتحان کنید
این دمو با دادهٔ نمونه کار میکند و به سیستم واقعی وصل نیست. برای درک رفتار سامانه ساخته شده، نه برای نمایش.
با چه چیزی ساخته شده
- FastAPI · Async Webhook
- Redis Streams
- Python Worker Pool
- PostgreSQL
- Docker Compose
ظرفیت و اعداد عملکردی به منابع سروری بستگی دارد که پروژه رویش مستقر میشود. عدد قطعی پس از تست بار روی همان سرور اندازهگیری و در قرارداد ثبت میشود.
احراز هویت بیومتریک eKYC
سرویسهای احراز هویت ابری، تصویر چهره و کارت ملی کاربران را به سرور بیرونی میفرستند. برای سازمانهایی که محدودیت خروج داده دارند …
دستیار جستجوی اسناد حقوقی
مدل زبانی وقتی جواب را نداند، جواب میسازد. در متن حقوقی این فاجعه است: یک بند اشتباه میتواند مبنای تصمیم غلط شود. مسئله فقط «جست…
سامانهٔ رایگیری الکترونیکی
در فرآیند کاغذی، مخفی بودن رای با صندوق و پاکت تأمین میشود. در نسخهٔ دیجیتال، اگر رای و هویت در یک رکورد ذخیره شوند، هرکسی که به …
مسئلهٔ مشابهی دارید؟
اگر چیزی از این صفحه به کار شما میخورد، یک جلسهٔ کوتاه کافی است تا بگوییم برای مورد شما چه چیزی منطقی است — و چه چیزی نیست.