অ্যান্টিপ্যাটার্ন: কাস্টম কোড বা লক্ষ্য হিসাবে ব্যবহার করে একটি প্রক্সির মধ্যে একটি প্রক্সি আহ্বান করুন

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

এজ আপনাকে অন্য API প্রক্সি থেকে একটি API প্রক্সি আহ্বান করতে দেয়। এই বৈশিষ্ট্যটি দরকারী বিশেষত যদি আপনার কাছে একটি API প্রক্সি থাকে যাতে পুনঃব্যবহারযোগ্য কোড থাকে যা অন্যান্য API প্রক্সি দ্বারা ব্যবহার করা যেতে পারে।

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

টার্গেট এন্ডপয়েন্টে HTTPTargetConnection ব্যবহার করে বা কাস্টম জাভাস্ক্রিপ্ট কোড ব্যবহার করে একটি API প্রক্সি অন্যের থেকে আমন্ত্রণ করলে অতিরিক্ত নেটওয়ার্ক হপ হয়।

HTTPTargetConnection ব্যবহার করে প্রক্সি 1 থেকে প্রক্সি 2 আহ্বান করুন

নিম্নলিখিত কোড নমুনাটি HTTPTargetConnection ব্যবহার করে প্রক্সি 1 থেকে প্রক্সি 2 আহ্বান করে:

<!-- /antipatterns/examples/2-1.xml -->
<HTTPTargetConnection>
  <URL>http://myorg-test.apigee.net/proxy2</URL>
</HTTPTargetConnection>

জাভাস্ক্রিপ্ট কোড থেকে প্রক্সি 1 থেকে প্রক্সি 2 আহ্বান করুন

পরবর্তী কোড নমুনা জাভাস্ক্রিপ্ট ব্যবহার করে প্রক্সি 1 থেকে প্রক্সি 2 আহ্বান করে:

<!-- /antipatterns/examples/2-2.xml -->
var response = httpClient.send('http://myorg-test.apigee.net/proxy2);
response.waitForComplete();

কোড ফ্লো

কেন এটি একটি অন্তর্নিহিত অসুবিধা আছে তা বোঝার জন্য, নীচের চিত্র দ্বারা চিত্রিত হিসাবে একটি অনুরোধের পথটি আমাদের বুঝতে হবে:

চিত্র 1 : কোড ফ্লো

ডায়াগ্রামে যেমন দেখানো হয়েছে, একটি অনুরোধ রাউটার এবং মেসেজ প্রসেসর সহ একাধিক বিতরণ করা উপাদানকে অতিক্রম করে।

উপরের কোডের নমুনাগুলিতে, প্রক্সি 1 থেকে প্রক্সি 2 চালু করার অর্থ হল যে অনুরোধটি রানটাইমে প্রথাগত রুট (যেমন রাউটার > MP) মাধ্যমে রুট করতে হবে। এটি একটি ক্লায়েন্টের কাছ থেকে একটি API আহবান করার মতো হবে যার ফলে একাধিক নেটওয়ার্ক হপ তৈরি করে যা লেটেন্সি যোগ করে। এই হপগুলি অপ্রয়োজনীয় বিবেচনা করে যে প্রক্সি 1 অনুরোধ ইতিমধ্যে এমপির কাছে "পৌছেছে"৷

প্রভাব

অন্য এপিআই প্রক্সি থেকে একটি এপিআই প্রক্সি আহ্বান করলে অপ্রয়োজনীয় নেটওয়ার্ক হপ হয়, অর্থাৎ অনুরোধটি একটি মেসেজ প্রসেসর থেকে অন্য মেসেজ প্রসেসরে প্রেরণ করতে হয়।

সর্বোত্তম অনুশীলন

  • একটি API থেকে অন্য একটি এপিআই প্রক্সি আহ্বান করার জন্য প্রক্সি চেইনিং বৈশিষ্ট্য ব্যবহার করুন। প্রক্সি চেইনিং আরও দক্ষ কারণ এটি লক্ষ্যের শেষ পয়েন্ট (অন্য API প্রক্সি) উল্লেখ করতে স্থানীয় সংযোগ ব্যবহার করে।

    কোড নমুনা আপনার এন্ডপয়েন্ট সংজ্ঞায় LocalTargetConnection ব্যবহার করে প্রক্সি চেইনিং দেখায়:

    <!-- /antipatterns/examples/2-3.xml -->
    <LocalTargetConnection>
      <APIProxy>proxy2</APIProxy>
      <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
    

    আমন্ত্রিত API প্রক্সি একই মেসেজ প্রসেসরের মধ্যে কার্যকর করা হয়; ফলস্বরূপ, এটি নিম্নলিখিত চিত্রে দেখানো নেটওয়ার্ক হপ এড়িয়ে যায়:

    চিত্র 2 : প্রক্সি চেইনিং সহ কোড ফ্লো

আরও পড়া