بازگشت به کتابخانهکتابخانه10.4ساختارهای احتمالاتی و Service Mesh
طراحی سیستم نرم‌افزاریSYSTEM DESIGNاز صفر تا تسلط
v1.0.0
01مبانی و تصویر بزرگ
02Scalability و ظرفیت
03لایه داده
04Cache، Queue و جریان
05معماری نرم‌افزار
06قابلیت اطمینان و عملیات
07متد طراحی
08Case Study های واقعی
09سیستم‌های توزیع‌شده عمیق
10مهندسی تولید: داده، امنیت و کارایی
11تمرین پیشرفته و کیس‌استادی‌های مکمل
12زیر کاپوت دیتابیس و معماری داده
13وب بلادرنگ و پروتکل‌های مدرن
14سیستم‌های توزیع‌شده پیشرفته
15SaaS ،SRE ،امنیت و شبکه پیشرفته
16طراحی سیستم در عصر AI
17Case Study های تکمیلی
LESSON 10.4فصل ۱۰مهندسی تولید: داده، امنیت و کارایی

ساختارهای احتمالاتی و Service Mesh

  • ~۱۴ دقیقه
  • ۲ پرسش
  • متن را انتخاب کن تا هایلایت شود

گاهی جواب دقیق خیلی گران است، اما جواب تقریبی کاملاً کافی است: «آیا احتمالاً این لینک قبلاً دیده شده؟»، «حدوداً چند کاربر یکتا داشتیم؟» یا «کدام کالا خیلی داغ است؟». ساختارهای احتمالاتی با حافظه کم، چنین جواب‌هایی می‌دهند و باید خطای آن‌ها را بشناسیم.

Bloom Filter
عضویت احتمالی: false positive ممکن است، false negative نباید رخ دهد. پیش از DB/disk برای جلوگیری از lookup بی‌فایده استفاده می‌شود؛ حذف به Counting Bloom نیاز دارد.
HyperLogLog
تخمین cardinality (کاربر یکتا) با حافظه کم؛ برای billing دقیق یا authorization مناسب نیست.
Count-Min Sketch
تخمین فراوانی با overestimate؛ برای یافتن کلید داغ/رتبه‌بندی تقریبی خوب است.
Service Mesh
لایه data plane مانند Envoy کنار workloadها برای mTLS، retry، telemetry و traffic policy؛ control plane سیاست توزیع می‌کند.

Mesh ابزار است، نه جای طراحی

Mesh می‌تواند mTLS، timeout policy، canary traffic و trace context را استاندارد کند، ولی idempotency، authorization دامنه، budget retry و ownership داده را حل نمی‌کند. retry پنهان mesh روی POST غیر-idempotent یا timeout نامناسب می‌تواند آسیب را بیشتر کند. ابتدا قراردادهای سرویس و observability را درست کن، سپس mesh را وقتی پیچیدگی عملیاتی‌اش توجیه دارد اضافه کن.

به زبان ساده

بعضی جواب‌ها را تقریبی و ارزان می‌گیریم (مثلاً «احتمالاً دیده‌ام») ولی اندازه خطایش را می‌دانیم؛ Service Mesh هم کارهای مشترک سرویس‌ها را می‌گیرد، نه منطق دامنه را.

مثال واقعی

Bloom Filter جلوی دیتابیس جستجو: اگر گفت «SKU قطعاً نیست» مستقیم پاسخ می‌دهی و سراغ DB نمی‌روی؛ اگر گفت «شاید هست»، تازه DB را چک می‌کنی.

دانش‌سنجی

آزمون درس

۲ Q
01
Bloom Filter چه پاسخی را با اطمینان می‌دهد؟
02
کدام مسئولیت را نباید به Service Mesh واگذار کرد؟