سرویس جستجوی باز آمازون یک سرویس مدیریت شده است که ایمن سازی، استقرار و اجرای خوشه های OpenSearch را در مقیاس در AWS Cloud ساده می کند. سال گذشته معرفی کردیم فشار برگشتی نمایه سازی شارد و کنترل پذیرش، که منابع خوشه و ترافیک ورودی را برای رد انتخابی درخواست هایی که در غیر این صورت خطرات پایداری مانند از بین رفتن حافظه و عملکرد خوشه را به دلیل اختلافات حافظه، اشباع CPU و سربار GC و غیره ایجاد می کنند، رد می کند.
ما اکنون مشتاق هستیم که Search Backpressure و کنترل پذیرش مبتنی بر CPU را برای OpenSearch Service معرفی کنیم، که انعطاف پذیری خوشه ها را بیشتر می کند. این پیشرفتها برای همه نسخههای OpenSearch 1.3 یا بالاتر در دسترس هستند.
جستجوی فشار برگشتی
فشار برگشتی مانع از غرق شدن سیستم در کار می شود. این کار را با کنترل نرخ ترافیک یا کاهش بار بیش از حد به منظور جلوگیری از خرابی و از دست دادن داده ها، بهبود عملکرد و جلوگیری از خرابی کامل سیستم انجام می دهد.
Search Backpressure مکانیزمی است برای شناسایی و لغو درخواستهای جستجوی پرمنبع در پرواز زمانی که یک گره تحت فشار است. در برابر بارهای کاری جستجو با استفاده غیرعادی از منابع (مانند پرس و جوهای پیچیده، پرس و جوهای آهسته، بازدیدهای زیاد یا تجمعات سنگین) موثر است، که در غیر این صورت می تواند باعث خرابی گره شود و بر سلامت خوشه تأثیر بگذارد.
Search Backpressure در بالای چارچوب ردیابی منبع وظیفه ساخته شده است، که یک API با استفاده آسان برای نظارت بر استفاده از منابع هر کار ارائه می دهد. Search Backpressure از یک رشته پسزمینه استفاده میکند که به صورت دورهای میزان استفاده از منابع گره را اندازهگیری میکند و بر اساس عواملی مانند زمان CPU، تخصیص پشتهها و زمان سپری شده، امتیاز لغو را به هر کار جستجوی حین پرواز اختصاص میدهد. امتیاز لغو بالاتر مربوط به درخواست جستجوی با منابع فشرده تر است. درخواستهای جستجو به ترتیب نزولی امتیاز لغو لغو میشوند تا گرهها به سرعت بازیابی شوند، اما تعداد لغوها با نرخ محدود است تا از کار بیهوده جلوگیری شود.
نمودار زیر گردش کار Backpressure جستجو را نشان می دهد.
درخواستهای جستجو پس از لغو، کد وضعیت HTTP 429 «درخواستهای خیلی زیاد» را برمیگردانند. OpenSearch نتایج جزئی را در صورتی برمیگرداند که فقط برخی خردهها از کار بیفتند و نتایج جزئی مجاز باشند. کد زیر را ببینید:
نظارت بر فشار برگشتی جستجو
با استفاده از Node stats API می توانید وضعیت Backpressure جستجوی دقیق را نظارت کنید:
همچنین میتوانید خلاصهای از لغوها را در کل خوشه مشاهده کنید CloudWatch آمازون. معیارهای زیر در حال حاضر در دسترس هستند ES/OpenSearchService فضای نام:
- SearchTask Cancelled - تعداد لغو گره هماهنگ کننده
- SearchShardTask لغو شد - تعداد لغو گره های داده
تصویر زیر نمونه ای از ردیابی این معیارها را در کنسول CloudWatch نشان می دهد.
کنترل پذیرش مبتنی بر CPU
کنترل پذیرش یک مکانیسم نگهبانی است که به طور فعال تعداد درخواست ها را به یک گره بر اساس ظرفیت فعلی آن محدود می کند، هم برای افزایش ارگانیک و هم برای افزایش ترافیک.
علاوه بر فشار حافظه JVM و آستانه اندازه درخواست، اکنون میانگین استفاده از CPU هر گره را نیز برای رد کردن ورودیها کنترل میکند. _search
و _bulk
درخواست ها. این مانع از غرق شدن گرهها با درخواستهای بسیار زیاد میشود که منجر به نقاط داغ، مشکلات عملکرد، زمانبندی درخواستها و سایر خرابیهای آبشاری میشود. درخواستهای بیش از حد، پس از رد کردن، کد وضعیت HTTP 429 “Too Many Requests” را برمیگردانند.
رسیدگی به خطاهای HTTP 429
اگر ترافیک بیش از حد به یک گره ارسال کنید، خطاهای HTTP 429 را دریافت خواهید کرد. این نشاندهنده ناکافی بودن منابع خوشهای، درخواستهای جستجوی فشرده منابع، یا افزایش ناخواسته در حجم کاری است.
Search Backpressure دلیل رد شدن را فراهم می کند، که می تواند به تنظیم دقیق درخواست های جستجوی فشرده با منابع کمک کند. برای افزایش ترافیک، ما سعی مجدد در سمت سرویس گیرنده را با عقب نشینی و لرزش نمایی توصیه می کنیم.
همچنین میتوانید این دستورالعملهای عیبیابی را برای رفع اشکال رد بیش از حد دنبال کنید:
نتیجه
Search Backpressure یک مکانیسم واکنشی برای کاهش بار بیش از حد است، در حالی که کنترل پذیرش یک مکانیسم فعال برای محدود کردن تعداد درخواستها به گرهای فراتر از ظرفیت آن است. هر دو به صورت پشت سر هم برای بهبود انعطاف پذیری کلی یک خوشه OpenSearch کار می کنند.
Search Backpressure در دسترس است جستجوی باز، و ما همیشه به دنبال آن هستیم کمک های خارجی. می توانید به RFC برای شروع.
درباره نویسندگان
کتان ورما یک SDE ارشد است که روی سرویس جستجوی باز آمازون کار می کند. او مشتاق ساختن سیستمهای توزیعشده در مقیاس بزرگ، بهبود عملکرد، و سادهسازی ایدههای پیچیده با انتزاعهای ساده است. در خارج از محل کار، او دوست دارد بخواند و مهارت های باریستای خانگی خود را بهبود بخشد.
سورش NS یک SDE ارشد است که روی سرویس جستجوی باز آمازون کار می کند. او مشتاق حل مشکلات در سیستم های توزیع شده در مقیاس بزرگ است.
پریتکومار لادانی یک SDE-2 است که روی سرویس جستجوی باز آمازون کار می کند. او دوست دارد در توسعه نرم افزار منبع باز مشارکت داشته باشد و به سیستم های توزیع شده علاقه زیادی دارد. او یک بدمینتون باز آماتور است و از پیاده روی لذت می برد.
بوختوارخان یک مهندس اصلی است که در سرویس جستجوی باز آمازون کار می کند. او علاقه مند به ساخت سیستم های توزیع شده و مستقل است. او یک نگهدارنده و یک مشارکت کننده فعال در OpenSearch است.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- EVM Finance. رابط یکپارچه برای امور مالی غیرمتمرکز دسترسی به اینجا.
- گروه رسانه ای کوانتومی. IR/PR تقویت شده دسترسی به اینجا.
- PlatoAiStream. Web3 Data Intelligence دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/big-data/improved-resiliency-with-backpressure-and-admission-control-for-amazon-opensearch-service/
- :است
- 1
- 1.3
- 100
- 26
- 7
- 77
- a
- درباره ما
- فعال
- اضافه
- در برابر
- معرفی
- تخصیص ها
- همچنین
- همیشه
- اماتور
- آمازون
- آمازون خدمات وب
- an
- و
- API
- هستند
- AS
- At
- خود مختار
- سیستم های مستقل
- در دسترس
- میانگین
- اجتناب از
- AWS
- زمینه
- barista
- مستقر
- بودن
- خارج از
- هر دو
- بنا
- ساخته
- اما
- by
- CAN
- ظرفیت
- علت
- ابر
- خوشه
- رمز
- پیچیده
- کنسول
- کمک
- شرکت کننده
- کنترل
- کنترل
- تعدیل کننده
- مطابقت دارد
- میتوانست
- پردازنده
- جاری
- داده ها
- از دست رفتن داده ها
- گسترش
- دقیق
- پروژه
- توزیع شده
- سیستم های توزیع شده
- میکند
- دو
- هر
- آسان برای استفاده
- موثر
- هر دو
- مهندس
- افزایش می یابد
- خطا
- خطاهای
- اتر (ETH)
- مثال
- بیش از
- برانگیخته
- نمایی
- عوامل
- FAIL
- شکست
- به دنبال
- پیروی
- برای
- چارچوب
- از جانب
- بیشتر
- دروازه بان
- دریافت کنید
- راهنما
- he
- سلامتی
- سنگین
- کمک
- زیاد
- بالاتر
- خود را
- بازدید
- صفحه اصلی
- HOT
- HTTP
- HTTPS
- ایده ها
- شناسایی
- if
- نشان می دهد
- تأثیر
- بهبود
- بهبود یافته
- ارتقاء
- بهبود
- in
- وارد شونده
- افزایش
- شاخص
- نشان می دهد
- علاقه مند
- معرفی
- معرفی
- IT
- ITS
- JPG
- بزرگ
- در مقیاس بزرگ
- نام
- پارسال
- برجسته
- پسندیدن
- محدود
- محدودیت
- بار
- به دنبال
- خاموش
- باعث می شود
- اداره می شود
- بسیاری
- معیارهای
- مکانیزم
- حافظه
- متریک
- مانیتور
- مانیتور
- بیش
- گره
- گره
- اکنون
- عدد
- of
- on
- فقط
- باز کن
- منبع باز
- کار
- or
- سفارش
- سازمانی
- دیگر
- در غیر این صورت
- خارج
- خارج از
- به طور کلی
- غرق شدن
- احساساتی
- کارایی
- فاز
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازیکن
- فشار
- جلوگیری از
- جلوگیری از
- اصلی
- بلادرنگ
- مشکلات
- فراهم می کند
- نمایش ها
- به سرعت
- نرخ
- خواندن
- دلیل
- گرفتن
- توصیه
- بهبود یافتن
- درخواست
- درخواست
- منابع
- منابع فشرده
- منابع
- نتایج
- برگشت
- بازده
- خطرات
- نورد
- مقیاس
- نمره
- جستجو
- امن
- دیدن
- ارسال
- ارشد
- سرویس
- خدمات
- ریختن
- نشان می دهد
- ساده
- ساده
- اندازه
- مهارت ها
- کند
- So
- نرم افزار
- توسعه نرم افزار
- حل کردن
- برخی از
- منبع
- سنبله
- سنبله ها
- ثبات
- آغاز شده
- دولت
- آمار
- وضعیت
- چنین
- خلاصه
- سیستم
- سیستم های
- پشت سر هم
- کار
- که
- La
- شان
- اینها
- زمان
- به
- هم
- بالا
- جمع
- طرف
- پیگردی
- ترافیک
- درست
- نوع
- زیر
- بر
- استفاده
- استفاده
- با استفاده از
- چشم انداز
- بود
- we
- وب
- خدمات وب
- چه زمانی
- که
- در حین
- با
- مهاجرت کاری
- گردش کار
- کارگر
- خواهد بود
- سال
- شما
- زفیرنت