چند Worker روی یک Consumer و مانیتورینگ lag در JetStream

آخر مقاله‌ی قبل دو موضوع را وعده داده بودم: اجرای بیش از یک Worker و زیر نظر گرفتن میزان عقب‌ماندگی. تا وقتی پیام‌ها کندتر از توان یک Worker می‌رسند همه‌چیز خوب است، اما بعدش دو سؤال پیش می‌آید: چطور Worker اضافه کنیم بدون اینکه چیزی دوبار پردازش شود، و از کجا بفهمیم صف دارد انباشته می‌شود؟ همه‌ی مثال‌های زیر را با یک nats-server تعبیه‌شده (با JetStream و یک پوشه‌ی موقت برای ذخیره‌سازی) و nats.go نسخه‌ی v1.54.0 روی Go 1.26 اجرا کرده‌ام و خروجی‌ها از همان اجراها هستند. ...

25 اکتبر 2026 · 5 دقیقه · Roham