অ্যান্টিপ্যাটার্ন: স্ট্রিমিং চালু থাকলে অনুরোধ/উত্তর পেলোড অ্যাক্সেস করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

Edge-এ, ডিফল্ট আচরণ হল, HTTP অনুরোধ এবং রেসপন্স পেলোড API প্রক্সিতে নীতি দ্বারা প্রসেস করার আগে একটি ইন-মেমরি বাফারে স্টোর করা হয়।

স্ট্রিমিং চালু করা থাকলে, অনুরোধ ও উত্তরের পেলোড কোনও পরিবর্তন না করেই ক্লায়েন্ট অ্যাপ (উত্তরের জন্য) ও টার্গেট এন্ডপয়েন্টে (অনুরোধের জন্য) স্ট্রিম করা হয়। স্ট্রিমিং তখনই কাজে লাগে যখন কোনও অ্যাপ্লিকেশন বড় পে-লোড গ্রহণ বা রিটার্ন করে অথবা কোনও অ্যাপ্লিকেশন দীর্ঘ সময় ধরে ডেটা রিটার্ন করে।

অ্যান্টিপ্যাটার্ন

স্ট্রিমিং চালু থাকাকালীন অনুরোধ/উত্তর পেলোড অ্যাক্সেস করলে, Edge ডিফল্ট বাফারিং মোডে ফিরে যায়।

ছবি ১: স্ট্রিমিং চালু রেখে অনুরোধ/উত্তর পেলোড অ্যাক্সেস করা

উপরের ছবিতে দেখানো হয়েছে যে আমরা অনুরোধের পেলোড থেকে ভেরিয়েবল এক্সট্র্যাক্ট করার চেষ্টা করছি এবং JSONToXML নীতি ব্যবহার করে JSON উত্তর পেলোডকে XML-এ কনভার্ট করছি। এটি করলে Edge-এ স্ট্রিমিং বন্ধ হয়ে যাবে।

প্রভাব

  • স্ট্রিমিং বন্ধ করে দেওয়া হবে, এর ফলে ডেটা প্রসেস করার ক্ষেত্রে লেটেন্সি বেড়ে যেতে পারে
  • মেসেজ প্রসেসরে হিপ মেমরি ব্যবহার বৃদ্ধি বা OutOfMemory Error দেখা যেতে পারে বিশেষ করে যদি আমাদের কাছে বড় অনুরোধ/উত্তর পেলোড থাকে তাহলে ইন-মেমরি বাফার ব্যবহারের কারণে এটি হতে পারে

পেশাদার পদ্ধতি

  • স্ট্রিমিং চালু থাকলে অনুরোধ/উত্তর পেলোড অ্যাক্সেস করবেন না।

আরও পড়ুন