الگوی بعدی از دنیای Distributed System ها یک الگوی خیلی جدید هست به اسم Functions and Event-Driven Processing
تا حالا الگوهایی که بررسی کردیم همه مربوط میشدن به process هایی که بصورت long-running بودن. در این الگوها سرور همیشه در حال اجراست و به درخواست ها پاسخ میده. این الگوها برای زمانی مناسب هستند که سیستم زیر لود زیادی قرار داره یا مجبوره حجم زیادی از دیتارو تو ram نگه داره یا حتی لازم هست که یه جورایی background processing انجام بده. در همه این حالت ها الگوهای long-running computation کاربرد دارند.
یه دسته دیگه از application ها هستند که لازم هست موقتا اجرا بشن و یک درخواستی رو مدیریت کنن و یا به یک event پاسخ بدن. این دسته از application ها در چند سال اخیر با ارائه محصولات FaaS(function-as-a-service) از سوی cloud provider ها رایج شده.
توجه به این نکته ضروریه که گاها serverless با event-driven FaaS اشتباه گرفته میشه. در حالیکه serverless computation دسته بزرگتری از کاربردهارو شامل میشه. مثلا سرویس های Container as a Service هم serverless هستند اما event-driven نیستند. یا شما میتونید یک open source FaaS رو روی physical server های خودتون بالا بیارید که event-driven هست اما serverless نیست. تفاوت بین FaaS و serverless مهمه برای اینکه بتونید معماری درستی برای نیازهاتون داشته باشید.
#faas
#designing_distributed_systems_brendan_burns
@gocasts
Post #100
1.31K
Go Casts | Systems & Agents 🚀 بیاید با هم فکر کنیم مثلا چه use-case هایی میشه واسه این الگو پیدا کرد! اگه بخوام مثالی بزنم که این الگو کارآمد باشه شاید بشه سیستم هایی که با نقشه سر و کار دارند رو مثال زد. چون تو این سیستم ها حجم داده ذاتا زیاده و در عین حال حجم محاسباتی که real-time هم…
- 🤩 2