پیکربندی کردن مهلت زمانی فعال نگه داشتن در «پردازشگرهای پیام»

درحال مشاهده اسناد Apigee Edge هستید.
به اسناد Apigee X بروید.
اطلاعات

این سند توضیح می‌دهد که چگونه زمان اتمام مهلت فعال نگه داشتن را برای «پردازشگرهای پیام» Apigee Edge پیکربندی کنید.

مهلت زمانی فعال نگه داشتن در «پردازشگر پیام» به یک اتصال TCP اجازه می‌دهد به‌جای باز کردن اتصال جدید برای هر جفت درخواست/پاسخ، چندین درخواست/پاسخ HTTP را از/به سرور پشتیبان ارسال و دریافت کند.

مقدار پیش‌فرض دارایی مهلت زمانی فعال نگه داشتن در «پردازشگر پیام» 60 ثانیه است. این دوره زمان‌دار برای سرورهای زیرینه پیکربندی‌شده در پیکربندی نقطه پایان هدف و در خط‌مشی ServiceCallout کارگزار نیابتی API شما اعمال می‌شود.

مهلت زمانی فعال نگه داشتن «پردازشگرهای پیام» را می‌توانید براساس نیازهایتان از مقدار پیش‌فرض 60 ثانیه افزایش یا کاهش دهید. می‌تواند به روش‌های زیر پیکربندی شود:

  • در پراکسی API
    • در نقطه پایان هدف
    • در خط‌مشی ServiceCallout
  • در «پردازشگر پیام»

خصوصیات زیر مهلت زمانی زنده نگه داشتن را در «پردازشگرهای پیام» کنترل می‌کنند:

نام دارایی مکان شرح
keepalive.timeout.millis کارگزار میانای برنامه‌سازی کاربردی:
  • نقطه پایانی هدف
  • خط‌مشی ServiceCallout

این حداکثر زمان بیکاری است که «پردازشگر پیام» به اتصال TCP واحدی اجازه می‌دهد چندین درخواست/پاسخ HTTP را ارسال و دریافت کند، به‌جای اینکه برای هر جفت درخواست/پاسخ اتصال جدیدی باز کند.

به‌طور پیش‌فرض، این دارایی مقدار تنظیم‌شده برای دارایی HTTPClient.keepalive.timeout.millis را در «پردازشگر پیام» می‌گیرد، که در آن مقدار پیش‌فرض 60 ثانیه است.

اگر این دارایی با مقدار مهلت زمانی جدیدی برای سرور هدف مورداستفاده در نقطه پایانی هدف یا خط‌مشی ServiceCallout در پراکسی API خاص اصلاح شود، فقط زمان فعال نگه داشتن برای آن سرور هدف خاص تحت‌تأثیر قرار می‌گیرد.

HTTPClient.keepalive.timeout.millis پردازشگر پیام

این حداکثر زمان بیکاری است که «پردازشگر پیام» به یک اتصال TCP اجازه می‌دهد چندین درخواست/پاسخ HTTP را ارسال و دریافت کند، به‌جای اینکه برای هر جفت درخواست/پاسخ اتصال جدیدی باز کند.

این دارایی برای همه پراکسی‌های API که در این «پردازشگر پیام» اجرا می‌شوند استفاده می‌شود.

مقدار پیش‌فرض این دارایی 60 ثانیه است.

می‌توانید این دارایی را همان‌طور که در پیکربندی مهلت زمانی فعال نگه داشتن در «پردازشگرهای پیام» در زیر توضیح داده شده است اصلاح کنید، یا می‌توانید این مقدار را با تنظیم دارایی keepalive.timeout.millis در سطح پراکسی API ملغی کنید.

قبل‌از شروع

قبل‌از استفاده از مراحل این سند، مطمئن شوید که موضوعات زیر را درک می‌کنید:

پیکربندی کردن مهلت زمانی فعال نگه داشتن در پراکسی میانای برنامه‌سازی کاربردی

مهلت زمانی فعال نگه داشتن را می‌توانید در کارگزار نیابتی API در مکان‌های زیر پیکربندی کنید:

  • نقطه پایانی هدف
  • خط‌مشی ServiceCallout

پیکربندی مهلت زمانی فعال نگه داشتن در نقطه پایان هدف میانای برنامه‌سازی کاربردی پراکسی

این بخش توضیح می‌دهد که چگونه مهلت زمانی فعال نگه داشتن را در نقطه پایانی هدف کارگزار پراکسی API پیکربندی کنید. مهلت زمانی فعال نگه داشتن را می‌توان ازطریق دارایی keepalive.timeout.millis پیکربندی کرد که نشان‌دهنده مقدار مهلت زمانی فعال نگه داشتن به میلی‌ثانیه است.

  1. در «میانای کاربر Edge»، پراکسی API خاصی را که می‌خواهید مقدار جدید مهلت زمانی فعال نگه داشتن را در آن پیکربندی کنید انتخاب کنید.
  2. نقطه پایانی هدف خاصی را که می‌خواهید اصلاح کنید انتخاب کنید.
  3. دارایی keepalive.timeout.millis را با مقدار مناسب در عنصر <HTTPTargetConnection> در پیکربندی TargetEndpoint اضافه کنید.

    برای مثال، برای تغییر «مهلت زمان‌بندی» فعال نگه داشتن به 30 ثانیه، بلوک کد زیر را اضافه کنید:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    ازآنجایی‌که دارایی keepalive.timeout.millis برحسب میلی‌ثانیه است، مقدار 30 ثانیه برابر با 30000 است.

    مثال‌های زیر نحوه پیکربندی مهلت زمانی فعال نگه داشتن در پیکربندی نقطه پایانی هدف میانای برنامه‌سازی کاربردی شما را نشان می‌دهد:

    نمونه پیکربندی نقطه پایان هدف بااستفاده از نشانی وب برای سرور زیرینه

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <URL>https://mocktarget.apigee.net/json</URL>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
      </HTTPTargetConnection>
    </TargetEndpoint>

    نمونه پیکربندی نقطه پایانی هدف بااستفاده از سرور هدف

    <TargetEndpoint name="default">
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </TargetEndpoint>
  4. تغییرات ایجادشده در پراکسی API را ذخیره کنید.

درحال پیکربندی مهلت زمانی فعال نگه داشتن در خط‌مشی ServiceCallout میانای برنامه‌سازی کاربردی

این بخش توضیح می‌دهد که چگونه مهلت زمانی فعال نگه داشتن را در خط‌مشی ServiceCallout کارگزار نیابتی API خود پیکربندی کنید. درنگ زنده نگه داشتن را می‌توان ازطریق دارایی the keepalive.timeout.millis پیکربندی کرد که نشان‌دهنده مقدار درنگ زنده نگه داشتن به میلی‌ثانیه است.

برای پیکربندی کردن مهلت زمانی فعال نگه داشتن در خط‌مشی ServiceCallout بااستفاده از دارایی keepalive.timeout.millis:

  1. در «میانای کاربر Edge»، پراکسی API خاصی را که می‌خواهید مقدار مهلت زمانی فعال نگه داشتن جدید را برای خط‌مشی ServiceCallout پیکربندی کنید انتخاب کنید.
  2. خط‌مشی ServiceCallout خاصی را که می‌خواهید اصلاح کنید انتخاب کنید.
  3. دارایی keepalive.timeout.millis را با مقدار مناسب در عنصر <HTTPTargetConnection> در پیکربندی TargetEndpoint اضافه کنید.

    برای مثال، برای تغییر دادن مهلت زمانی فعال نگه داشتن به 30 ثانیه، بلوک کد زیر را اضافه کنید:

    <Properties>
      <Property name="keepalive.timeout.millis">30000</Property>
    </Properties>

    ازآنجایی‌که دارایی keepalive.timeout.millis برحسب میلی‌ثانیه است، مقدار 30 ثانیه برابر با 30000 است.

    مثال‌های زیر نحوه پیکربندی مهلت زمانی فعال نگه داشتن را در خط‌مشی ServiceCallout پراکسی API نشان می‌دهد:

    پیکربندی خط‌مشی «برنمای تماس با سرویس» نمونه بااستفاده از نشانی وب برای سرور زیرینه

    <ServiceCallout name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <HTTPTargetConnection>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <URL>https://mocktarget.apigee.net/json</URL>
      </HTTPTargetConnection>
    </ServiceCallout>

    پیکربندی خط‌مشی «خدمات تماس» نمونه بااستفاده از سرور هدف

    <ServiceCallout enabled="true" name="Service-Callout-1">
      <DisplayName>Service Callout-1</DisplayName>
      <Response>calloutResponse</Response>
      <HTTPTargetConnection>
        <LoadBalancer>
          <Server name="target1" />
          <Server name="target2" />
        </LoadBalancer>
        <Properties>
          <Property name="keepalive.timeout.millis">30000</Property>
        </Properties>
        <Path>/test</Path>
      </HTTPTargetConnection>
    </ServiceCallout>
  4. تغییرات ایجادشده در پراکسی API را ذخیره کنید.

پیکربندی کردن مهلت زمانی فعال نگه داشتن در «پردازشگرهای پیام»

این بخش توضیح می‌دهد که چگونه مهلت زمانی «فعال نگه داشتن» را در «پردازشگرهای پیام» پیکربندی کنید. درنگ «فعال نگه داشتن» را می‌توان ازطریق دارایی HTTPClient.keepalive.timeout.millis پیکربندی کرد که مقدار درنگ «فعال نگه داشتن» را در میلی‌ثانیه در عنصر «پردازشگر پیام» نشان می‌دهد. ازآنجایی‌که این دارایی در «پردازشگر پیام» شرح داده شده است، باید از نحو ویژه conf/http.properties+HTTPClient.keepalive.timeout.millis که در بخش تنظیم نشانه‌ای که درحال‌حاضر در نحوه پیکربندی Edge شرح داده شده است استفاده کنید.

برای پیکربندی کردن مهلت زمانی فعال نگه داشتن در «پردازشگرهای پیام»، این کارها را انجام دهید:

  1. در دستگاه «پردازشگر پیام»، فایل زیر را در ویرایشگر باز کنید. اگر ازقبل وجود ندارد، آن را ایجاد کنید.
    /opt/apigee/customer/application/message-processor.properties

    برای مثال، برای باز کردن فایل بااستفاده از vi، موارد زیر را وارد کنید:

    vi /opt/apigee/customer/application/message-processor.properties
    
  2. خطی با قالب زیر به فایل دارایی‌ها اضافه کنید و مقدار TIME_IN_MILLISECONDS را جایگزین کنید:
    conf/http.properties+HTTPClient.keepalive.timeout.millis=TIME_IN_MILLISECONDS

    برای مثال، برای تغییر مهلت زمانی فعال نگه داشتن در «پردازشگر پیام» به 30 ثانیه، خط زیر را اضافه کنید:

    conf/http.properties+HTTPClient.keepalive.timeout.millis=30000
  3. تغییرات را ذخیره کنید.
  4. مطمئن شوید فایل دارایی متعلق به کاربر apigee باشد، همان‌طور که در زیر نشان داده شده است:
    chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
    
  5. «پردازشگر پیام» را همان‌طور که در زیر نشان داده شده است بازراه‌اندازی کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    
  6. اگر بیش‌از یک «پردازشگر پیام» دارید، مراحل بالا را در همه «پردازشگرهای پیام» تکرار کنید.

درحال درستی‌سنجی مهلت زمانی فعال نگه داشتن در «پردازشگرهای پیام»

این بخش توضیح می‌دهد که چگونه تأیید کنید که مهلت زمانی فعال نگه داشتن باموفقیت در «پردازشگرهای پیام» اصلاح شده است.

حتی اگر از نحو ویژه conf/http.properties+HTTPClient.keepalive.timeout.millis برای تنظیم مهلت زمانی فعال نگه داشتن در «پردازشگر پیام» استفاده می‌کنید، باید بررسی کنید که آیا دارایی واقعی HTTPClient.keepalive.timeout.millis با مقدار جدید تنظیم شده است یا نه.

  1. در ماشین «پردازشگر پیام»، دارایی HTTPClient.keepalive.timeout.millis را در /opt/apigee/edge-message-processor/conf دایرکتوری جستجو کنید و بررسی کنید که آیا با مقدار جدید تنظیم شده است یا نه، همان‌طور که در زیر نشان داده شده است:
    grep -ri "HTTPClient.keepalive.timeout.millis" /opt/apigee/edge-message-processor/conf
    
  2. اگر مقدار جدید مهلت زمانی فعال نگه داشتن باموفقیت در «پردازشگر پیام» تنظیم شود، فرمان بالا مقدار جدید را در فایل http.properties نشان می‌دهد.

    نتیجه نمونه از فرمان بالا پس‌از پیکربندی زمان اتمام «فعال نگه داشتن» به 30 ثانیه به‌صورت زیر است:

    /opt/apigee/edge-message-processor/conf/http.properties:HTTPClient.keepalive.timeout.millis=30000

    در برونداد مثال بالا، توجه کنید که دارایی HTTPClient.keepalive.timeout.millis با مقدار جدید 30000 در http.properties تنظیم شده است. این نشان می‌دهد که مهلت زمانی «فعال نگه داشتن» باموفقیت روی 30 ثانیه در «پردازشگر پیام» پیکربندی شده است.

  3. اگر هنوز مقدار قدیمی دارایی HTTPClient.keepalive.timeout.millis را می‌بینید، مطمئن شوید که همه مراحل ذکرشده در پیکربندی مهلت زمان زنده نگه داشتن در «پردازشگرهای پیام» را به‌درستی دنبال کرده‌اید. اگر مرحله‌ای را ازدست داده‌اید، همه مراحل را دوباره به‌درستی تکرار کنید.
  4. اگر همچنان نمی‌توانید مهلت زمانی فعال نگه داشتن را تغییر دهید، با Google Cloud پشتیبانی Apigee Edge تماس بگیرید.