TGViewer
Go Casts | Systems & Agents 🚀 Go Casts | Systems & Agents 🚀 @gocasts · 10.3K subscribers
Post #49 722
Go Casts | Systems & Agents 🚀 Stateless Services حالا Stateless Service چیه؟ سرویسیه که هیچگونه stateی رو نیاز نداشته باشه برای پاسخگویی به یه درخواست جدید. مثال: یه سری اپلیکیشن ها وقتی کاربر لاگین میکنه یه سری دیتا بصورت session سمت سرور نگه میدارن، و از کلاینت انتظار دارن همراه درخواست…
Session Tracked Services
خب یه سری وقت ها پیش میاد که سرویس های ما Stateful هستن مثل همون مثال sessionی که در مطلب قبلی گفتم

یه دلیل رایج دیگه هم وجود داره برای اینکه سرویس های ما stateful باشن: اونم چیزی نیست جز cache
خیلی از سرویس ها برای اینکه لود کمتری روی سرویس های پایین دست (downstream) مثل دیتابیس بندازن از cache برای پاسخگویی استفاده میکنن. به این صورت که اگه درخواستی برای بار اول به اون سرویس بیاد دیتارو از سرویس های پایین دست مثلا دیتابیس میگیرن و علاوه بر اینکه درخواست کاربر رو پاسخ میدن، یک نسخه از اون دیتا رو در حافظه خودشن یا دیتابیس وابسته به خودشون مثل Redis ذخیره میکنن تا اگه درخواست مشابهی اومد نیاز نباشه دوباره دیتارو از دیتابیس بخونن، اینطوری هم لود overall سیستم کمتر میشه هم response time خیلی پایین میاد.

خب مشکل اینجاست که وقتی ما از cache استفاده میکنیم، اگه بخوایم واقعا بصورت بهینه از کارایی cache بهره مند بشیم، باید سعی کنیم درخواست های مشابه رو همیشه به یه سری node مشخص بفرستیم نه اینکه بصورت تصادفی هر درخواست رو به یه node بفرستیم. در واقع تو این حالت سرویس ما stateful شده و دیگه به راحتی حالت stateless نیست که load balancer هر طور دلش بخواد درخواست هارو تقسیم بکنه بین node ها

عموما load balancer ها برای حل کردن قضیه stateful service ها از یه سری hash function استفاده میکنن. البته اگه بخوایم بهترین و بهینه ترین الگوریتم های hashing رو استفاده کنیم باید از consistent hashing استفاده کنیم. مثلا از ip مبدا و مقصد برای وروی تابع هش استفاده میکنن و خروجی hash که همیشه ثابته به عنوان کلیدی برای مشخص کردن nodeی که باید پاسخگو باشه استفاده میشه.

در مورد consistent hashing جلوتر با بررسی الگوی sharded صحبت میکنیم

#designing_distributed_systems_brendan_burns

@gocasts
  • ❤ 1
More from @gocasts
  1. Oct 11, 2026روحت شاد آقای چاپلین. باورم نمیشه که عصر جدید داره برامون تکرار میشه! انگار خط تولید «عصر…
  2. Oct 9, 2026با یه پارادوکسی مواجه هستیم که خیلی مهمه درست درکش کنیم. وقتی در مورد کارایی که با ایجنت‌ه…
  3. Oct 4, 2026از دیروز چند آیتم ظاهری در GoCasts به‌روز شده 🚀 اگه دقت کرده باشید، لوگو، اسم کانال و بیو…
  4. Oct 1, 2026اینم از عمو باب که تسلیم شد! کاری ندارم که با ایشون هم نظر بودید و هستید یا نه. به دور از…
  5. Oct 1, 2026ترکیب Sonnet 5.5 و Opus 5.5 این روزا خیلی خوب جواب میده. الگویی که برای من جواب داده اینه:…
  6. Sep 24, 2026این بهترین تجربه‌ای بود که تا حالا با یه agent داشتم. دیشب با تاخیر چند ساعته ایمیل هاستین…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →