স্ট্রিমিং অনুরোধ এবং প্রতিক্রিয়া

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

এই বিষয়ে আপনি যা শিখবেন

এই বিষয়টি পড়ার পর আপনি জানতে পারবেন:

  • Apigee Edge-এ অনুরোধ এবং প্রতিক্রিয়া স্ট্রিমিং কী
  • কখন অনুরোধ এবং প্রতিক্রিয়া স্ট্রিমিং ব্যবহার করবেন
  • অনুরোধ এবং প্রতিক্রিয়া স্ট্রিমিং কীভাবে সক্রিয় করবেন

অনুরোধ এবং প্রতিক্রিয়া স্ট্রিমিং কী?

ডিফল্টরূপে, HTTP স্ট্রিমিং নিষ্ক্রিয় থাকে এবং API প্রক্সি পাইপলাইন দ্বারা প্রক্রিয়াজাত হওয়ার আগে HTTP অনুরোধ এবং প্রতিক্রিয়া পেলোডগুলি মেমরির একটি বাফারে লেখা হয়। আপনি স্ট্রিমিং সক্রিয় করে এই আচরণটি পরিবর্তন করতে পারেন। স্ট্রিমিং সক্রিয় থাকলে, অনুরোধ এবং প্রতিক্রিয়া পেলোডগুলি কোনো পরিবর্তন ছাড়াই ক্লায়েন্ট অ্যাপে (প্রতিক্রিয়ার জন্য) এবং টার্গেট এন্ডপয়েন্টে (অনুরোধের জন্য) স্ট্রিম করা হয়।

কখন স্ট্রিমিং চালু করা উচিত?

যদি আপনার এপিআই প্রক্সি খুব বড় আকারের অনুরোধ এবং/অথবা প্রতিক্রিয়া পরিচালনা করে (আকারের সীমা জানতে, নিচে ‘স্ট্রিমিং সম্পর্কে আমার আর কী জানা উচিত ’ দেখুন), তাহলে আপনি স্ট্রিমিং চালু করতে চাইতে পারেন।

স্ট্রিমিং সম্পর্কে আমার আর কী জানা উচিত?

এজ ক্লাউড এবং প্রাইভেট ক্লাউডে, স্ট্রিমিং চালু থাকলেও মেসেজ পেলোড সাইজ ১০ মেগাবাইটে সীমাবদ্ধ। নন-স্ট্রিমড রিকোয়েস্ট এবং রেসপন্সের ক্ষেত্রে, এই সাইজ অতিক্রম করলে একটি protocol.http.TooBigBody এরর দেখা দেয়।

Edge for Private Cloud ডেপ্লয়মেন্টে, আপনি নন-স্ট্রিমড রিকোয়েস্ট/রেসপন্স সাইজের সীমা পরিবর্তন করতে পারেন। প্রোডাকশনে পরিবর্তনটি ডেপ্লয় করার আগে অবশ্যই পরীক্ষা করে নিন।

  • Edge for Private Cloud-এর 4.16.01-এর পূর্ববর্তী রিলিজগুলোর জন্য:

    সমস্ত মেসেজ প্রসেসরে, http.properties ফাইলটি সম্পাদনা করে HTTPResponse.body.buffer.limit প্যারামিটারের সীমা বাড়িয়ে দিন এবং তারপর মেসেজ প্রসেসরটি পুনরায় চালু করুন।
  • Edge for Private Cloud রিলিজ 4.16.01 এবং পরবর্তী সংস্করণগুলোর জন্য:
    1. /<inst_root>/apigee/customer/application/message-processor.properties ফাইলটি সম্পাদনা করুন। ফাইলটি না থাকলে, এটি তৈরি করুন।

    2. message-processor.properties ফাইলে conf_http_HTTPResponse.body.buffer.limit প্রপার্টিটি সেট করুন। উদাহরণস্বরূপ:
      conf_http_HTTPResponse.body.buffer.limit=5m

    3. মেসেজ প্রসেসরটি পুনরায় চালু করুন:
      /<inst_root>/apigee/apigee-service/bin/apigee-service edge-message-processor restart

    4. সকল মেসেজ প্রসেসরের জন্য পুনরাবৃত্তি করুন।

অনুরোধ এবং প্রতিক্রিয়া স্ট্রিমিং কীভাবে সক্রিয় করবেন

রিকোয়েস্ট স্ট্রিমিং চালু করতে, আপনাকে প্রক্সি বান্ডেলের মধ্যে থাকা ProxyEndpoint এবং TargetEndpoint ডেফিনিশনে request.streaming.enabled প্রপার্টিটি যোগ করতে হবে এবং এর মান true সেট করতে হবে। একইভাবে, রেসপন্স স্ট্রিমিং চালু করার জন্য response.streaming.enabled প্রপার্টিটি সেট করুন।

আপনি আপনার প্রক্সির জন্য ম্যানেজমেন্ট UI-এর ডেভেলপ ভিউতে এই কনফিগারেশন ফাইলগুলো খুঁজে পেতে পারেন। আপনি যদি স্থানীয়ভাবে ডেভেলপ করেন, তাহলে এই ডেফিনিশন ফাইলগুলো apiproxy/proxies এবং apiproxy/targets এ থাকে।

এই নমুনাটি দেখায় কিভাবে TargetEndpoint সংজ্ঞায় অনুরোধ এবং প্রতিক্রিয়া উভয় স্ট্রিমিং সক্রিয় করতে হয়।

<TargetEndpoint name="default">
  <HTTPTargetConnection>
    <URL>http://mocktarget.apigee.net</URL>
    <Properties>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
      <Property name="supports.http10">true</Property>
      <Property name="request.retain.headers">User-Agent,Referer,Accept-Language</Property>
      <Property name="retain.queryparams">apikey</Property>
    </Properties>
  </HTTPTargetConnection>
</TargetEndpoint>

এই উদাহরণটি দেখায় কিভাবে ProxyEndpoint সংজ্ঞায় প্রতিক্রিয়া এবং অনুরোধ স্ট্রিমিং সক্ষম করতে হয়:

<ProxyEndpoint name="default">
  <HTTPProxyConnection>
    <BasePath>/v1/weather</BasePath>
    <Properties>
      <Property name="allow.http10">true</Property>
      <Property name="response.streaming.enabled">true</Property>
      <Property name="request.streaming.enabled">true</Property>
    </Properties>
  </HTTPProxyConnection>
</ProxyEndpoint>

এন্ডপয়েন্ট ডেফিনিশন কনফিগার করার বিষয়ে আরও তথ্যের জন্য, এন্ডপয়েন্ট প্রোপার্টি রেফারেন্স দেখুন।

সম্পর্কিত কোড নমুনা

গিটহাবে থাকা এপিআই প্রক্সি স্যাম্পলগুলো ডাউনলোড ও ব্যবহার করা সহজ। স্যাম্পলগুলো ডাউনলোড ও ব্যবহার করার পদ্ধতি সম্পর্কে জানতে “স্যাম্পল এপিআই প্রক্সি ব্যবহার” দেখুন।

স্ট্রিমিং বৈশিষ্ট্যযুক্ত নমুনা প্রক্সিগুলির মধ্যে রয়েছে:

  • স্ট্রিমিং - HTTP স্ট্রিমিংয়ের জন্য কনফিগার করা একটি এপিআই প্রক্সি প্রদর্শন করে।
  • Edge Callout: Signed URL Generator - এটি অনুরোধ/প্রতিক্রিয়ায় বড় ফাইল স্ট্রিম করার চেষ্টার পরিবর্তে, একটি স্বাক্ষরিত URL তৈরি করার সর্বোত্তম পদ্ধতি তুলে ধরে।