আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
আপনি একটি প্রক্সিকে অন্যটির টার্গেট এন্ডপয়েন্ট হিসেবে নির্দিষ্ট করে দিতে পারেন, যার ফলে দুটি প্রক্সি একটি প্রক্সি চেইনে সংযুক্ত হয়। এভাবে প্রক্সি চেইন করার মাধ্যমে আপনি একটি নেটওয়ার্ক হপ এড়াতে পারেন, এবং এর ফলে সামগ্রিক পারফরম্যান্স উন্নত হয়।
প্রক্সি চেইনিং-এর ক্ষেত্রে, আপনি নির্দিষ্ট করে দেন যে একটি প্রক্সি হলো অন্যটির লোকাল টার্গেট এন্ডপয়েন্ট। দ্বিতীয় প্রক্সিতে কল করার জন্য HTTPTargetConnection এলিমেন্ট ব্যবহার না করে, LocalTargetConnection এলিমেন্ট ব্যবহার করা হয়।
<LocalTargetConnection>
<APIProxy>myproxy2</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>যখন আপনার এমন একটি প্রক্সি থাকে যা কিছু স্বতন্ত্র নিম্ন-স্তরের কার্যকারিতা প্রদান করে এবং অন্যান্য প্রক্সিগুলো তা ব্যবহার করতে পারে, তখন প্রক্সি চেইনিং আপনার কাছে উপযোগী মনে হতে পারে। উদাহরণস্বরূপ, একটি প্রক্সি যা একটি ব্যাকএন্ড ডেটা স্টোরের সাথে ক্রিয়েট/রিড/আপডেট/ডিলিট অপারেশনগুলো উন্মুক্ত করে, সেটি একাধিক অন্যান্য প্রক্সির জন্য টার্গেট প্রক্সি হতে পারে, যারা ক্লায়েন্টদের কাছে সেই ডেটা প্রকাশ করে।
ভিডিও: এপিআই প্রক্সি চেইনিং সম্পর্কে আরও জানতে সংক্ষিপ্ত ভিডিওটি দেখুন।
প্রক্সি চেইনিং কীভাবে কাজ করে
এক প্রক্সি থেকে অন্য প্রক্সিকে কল করার সময় নেটওয়ার্ক ওভারহেড কমানোর জন্য প্রক্সি চেইনিং একটি লোকাল কানেকশন ব্যবহার করে। এই লোকাল কানেকশনটি আরও বেশি কার্যকর, কারণ এটি লোড ব্যালেন্সার, রাউটার এবং মেসেজ প্রসেসরের মতো নেটওয়ার্ক ফিচারগুলোকে বাইপাস করে।
নিম্নলিখিতটি HTTPTargetConnection এবং LocalTargetConnection (প্রক্সি চেইনিং) ব্যবহার করে প্রক্সি সংযোগ করার মধ্যে পার্থক্য তুলে ধরে:


একটি প্রক্সিকে অন্যটির লোকাল টার্গেট এন্ডপয়েন্ট হিসেবে নির্দিষ্ট করে সংযোগ স্থাপন করা হয়। প্রক্সিগুলোর মধ্যে দুইভাবে লোকাল সংযোগ তৈরি করা যায়:
- টার্গেট প্রক্সির নাম এবং একটি
ProxyEndpointনাম উল্লেখ করে - টার্গেট প্রক্সি এন্ডপয়েন্টের একটি পাথ নির্দিষ্ট করে
নিচে বর্ণিত পদ্ধতি অনুযায়ী, একটি TargetEndpoint কনফিগারেশনের মধ্যে LocalTargetConnection এলিমেন্ট ব্যবহার করে টার্গেট প্রক্সিগুলো সংযুক্ত করা হয়।
প্রক্সির নাম দ্বারা প্রক্সি সংযোগ করা
আপনি নাম দিয়ে টার্গেট প্রক্সি নির্দিষ্ট করতে পারেন। আপনি হয়তো দেখবেন যে, একেবারে শুরু থেকে কানেকশন তৈরি করার সময় এবং প্রক্সিগুলো একসাথে ডেভেলপ করার ক্ষেত্রে এটি সবচেয়ে বেশি কার্যকর। যদি আপনি নামটি না জানেন (অথবা নামটি পরিবর্তিত হতে পারে), তাহলে নিচে বর্ণিত পদ্ধতি অনুযায়ী টার্গেট প্রক্সির এন্ডপয়েন্ট পাথ ব্যবহার করে কানেক্ট করার কথা বিবেচনা করতে পারেন।
যখন আপনি নাম দ্বারা কোনো টার্গেট প্রক্সিতে সংযোগ করেন, তখন আপনাকে প্রক্সিটির নাম এবং এর ProxyEndpoint এর নাম উল্লেখ করতে হয়।
নিম্নলিখিত উদাহরণটিতে ' data-manager data-manager manager' নামক একটি টার্গেট প্রক্সি এবং এর দ্বারা প্রকাশিত ProxyEndpoint নামটি নির্দিষ্ট করা হয়েছে। প্রাসঙ্গিক তথ্যের জন্য, এপিআই প্রক্সি কনফিগারেশন রেফারেন্স দেখুন।
<TargetEndpoint name="datamanager">
<PreFlow name="PreFlow">
<!-- PreFlow policies -->
</PreFlow>
<PostFlow name="PostFlow">
<!-- PostFlow policies -->
</PostFlow>
<LocalTargetConnection>
<APIProxy>data-manager</APIProxy>
<ProxyEndpoint>default</ProxyEndpoint>
</LocalTargetConnection>
</TargetEndpoint>পাথ দ্বারা প্রক্সি সংযোগ করা
আপনি এর এন্ডপয়েন্ট পাথের মাধ্যমে টার্গেট প্রক্সি নির্দিষ্ট করতে পারেন। যখন আপনি প্রক্সির নাম জানেন না, অথবা যখন নামটি পরিবর্তিত হতে পারে, তখন আপনি এইভাবে কাজটি করতে চাইতে পারেন।
যদি আপনার প্রক্সিটি টার্গেট প্রক্সির কেবল একজন ব্যবহারকারী হয়—যেমন যখন আপনি উভয়ই ডেভেলপ করছেন না—তখন সংযোগ করার জন্য পাথটিই সবচেয়ে নির্ভরযোগ্য উপায় হতে পারে। উদাহরণস্বরূপ, আপনি যে প্রক্সিতে সংযোগ করছেন তা যদি অন্য কোনো টিম দ্বারা ডেভেলপ ও রক্ষণাবেক্ষণ করা হয়, তাহলে আপনি একটি নির্ভরযোগ্য এন্ডপয়েন্ট পাথ ব্যবহার করে সংযোগ করতে চাইতে পারেন।
নিম্নলিখিত উদাহরণে /v1/streetcarts/foodcarts/data-manager এ একটি টার্গেট প্রক্সি নির্দিষ্ট করা হয়েছে, যেখানে হোস্টটিকে বর্তমান প্রক্সির মতোই বলে ধরে নেওয়া হয়েছে। প্রাসঙ্গিক তথ্যের জন্য, এপিআই প্রক্সি কনফিগারেশন রেফারেন্স দেখুন।
<TargetEndpoint name="datamanager">
<PreFlow name="PreFlow">
<!-- PreFlow policies -->
</PreFlow>
<PostFlow name="PostFlow">
<!-- PostFlow policies -->
</PostFlow>
<LocalTargetConnection>
<Path>/v1/streetcarts/foodcarts/data-manager</Path>
</LocalTargetConnection>
</TargetEndpoint>ম্যানেজমেন্ট কনসোলের সাথে প্রক্সি সংযোগ করা
আপনি এজ ম্যানেজমেন্ট কনসোল ব্যবহার করে প্রক্সি চেইনিং সংযোগ তৈরি করতে পারেন।
- যে প্রক্সিটি টার্গেট প্রক্সি ব্যবহার করবে, সেটি খুলুন।
- নেভিগেটরে , টার্গেট এন্ডপয়েন্টস-এর পাশে থাকা প্লাস চিহ্নটিতে ক্লিক করুন।
- নতুন টার্গেট এন্ডপয়েন্ট ডায়ালগে, টার্গেট এন্ডপয়েন্টের নাম লিখুন।
- টার্গেট এন্ডপয়েন্ট নেম বক্সের নিচে, নিম্নলিখিত বিকল্পগুলির মধ্যে একটি নির্বাচন করুন:
- সংস্থা এবং পরিবেশে আগে থেকেই থাকা প্রক্সিগুলির তালিকা থেকে নির্বাচন করার জন্য প্রক্সি চেইনিং ব্যবহার করা হয় ।
- প্রক্সি নেম ড্রপডাউন থেকে টার্গেট প্রক্সিটি নির্বাচন করুন।
- প্রক্সি এন্ডপয়েন্ট বক্সে, আপনি যে টার্গেট প্রক্সি এন্ডপয়েন্টের সাথে সংযোগ করতে চান তার পাথটি লিখুন।
- টার্গেট প্রক্সির বেস পাথ প্রবেশ করানোর জন্য পাথ চেইনিং ব্যবহার করুন , যেমন
/mypath/myproxy/myendpoint।
- সংস্থা এবং পরিবেশে আগে থেকেই থাকা প্রক্সিগুলির তালিকা থেকে নির্বাচন করার জন্য প্রক্সি চেইনিং ব্যবহার করা হয় ।
- যোগ করুন-এ ক্লিক করুন।
চেইনড প্রক্সি, এপিআই পণ্য এবং নিরাপত্তা
প্রক্সি চেইনিং সেইসব ক্ষেত্রে সবচেয়ে ভালো যেখানে উভয় প্রক্সি একই এপিআই প্রোডাক্টে থাকে। ডিফল্টরূপে, উভয়ই ক্লায়েন্টদের জন্য উপলব্ধ থাকে। Apigee বর্তমানে দ্বিতীয় প্রক্সিটিকে একটি পৃথক এপিআই প্রোডাক্টে বান্ডল করা সমর্থন করে না, যেটিতে ক্লায়েন্টদের অ্যাক্সেস থাকা উচিত নয়।
যদি আপনার দ্বিতীয় প্রক্সিকে সরাসরি ক্লায়েন্ট অনুরোধ থেকে সুরক্ষিত রাখতে হয়, তবে ক্লায়েন্টের আইপি অ্যাড্রেস যাচাই করার জন্য লজিক যোগ করার কথা বিবেচনা করুন। চেইনিংয়ের মাধ্যমে কল করার ক্ষেত্রে, আইপি অ্যাড্রেসটি স্থানীয় হবে। প্রসেসিং চালিয়ে যাওয়ার অনুমতি দেওয়ার আগে আপনার কোড এটি স্থানীয় কিনা তা যাচাই করতে পারে। এটি করার একটি উপায় জানতে অ্যাক্সেস কন্ট্রোল পলিসি দেখুন।