API গেটওয়ে (API Gateway)
API গেটওয়ে (API Gateway) হলো মাইক্রোসার্ভিস আর্কিটেকচারে সব ক্লায়েন্ট অনুরোধের একক প্রবেশদ্বার। এটি অনুরোধ গ্রহণ করে, প্রয়োজনীয় সার্ভিসে রাউট করে, প্রমাণীকরণ, রেট লিমিটিং, রেসপন্স অ্যাগ্রিগেশন ও অন্যান্য ক্রস-কাটিং ফাংশন সম্পাদন করে — ফলে মাইক্রোসার্ভিসগুলোর ওপর চাপ কমে।
সূচিপত্র
সহজ ভাষায় API গেটওয়ে কী
API গেটওয়ে হলো একটি রিভার্স প্রক্সি সার্ভার, যা একাধিক মাইক্রোসার্ভিসযুক্ত আর্কিটেকচারে সব ক্লায়েন্ট অনুরোধের একক প্রবেশদ্বার হিসেবে কাজ করে। সহজ ভাষায়, এটি আপনার সার্ভিসের 'দারোয়ান' ও 'ডিসপ্যাচার': ব্যবহারকারীদের সব অনুরোধ গ্রহণ করে, কোন মাইক্রোসার্ভিসে পাঠাতে হবে তা নির্ধারণ করে এবং উত্তরটি ফিরিয়ে আনে।
একটি বড় অফিসের কথা ভাবুন, যেখানে অনেক বিভাগ আছে। ক্লায়েন্টকে সব বিভাগে ঘোরার বদলে সেখানে থাকে রিসেপশন (API গেটওয়ে)। ক্লায়েন্ট তার প্রয়োজন বলে (অনুরোধ), রিসেপশন তাকে সঠিক বিভাগে (মাইক্রোসার্ভিস) পাঠায়, উত্তর নিয়ে এসে ক্লায়েন্টকে দেয়। প্রয়োজনীয় বিশেষজ্ঞ কোন বিভাগে বসেন, ক্লায়েন্ট জানেই না — সে শুধু রিসেপশনের সঙ্গে কথা বলে।
মাইক্রোসার্ভিস আর্কিটেকচার কীভাবে সাজানো হয় তা ক্লায়েন্ট-সার্ভার আর্কিটেকচার নিবন্ধে পড়ুন।
API গেটওয়ের মূল ফাংশন
- রাউটিং (Routing): URL, হেডার বা অন্যান্য প্যারামিটারের ভিত্তিতে ক্লায়েন্টের অনুরোধ নির্দিষ্ট মাইক্রোসার্ভিসে পাঠানো।
- প্রমাণীকরণ ও অথরাইজেশন: অনুরোধ মাইক্রোসার্ভিসে পৌঁছানোর আগে ব্যবহারকারীর সত্যতা ও অ্যাক্সেস অধিকার যাচাই করা।
- রেট লিমিটিং (Rate Limiting): এক ক্লায়েন্টের অনুরোধের সংখ্যা সীমিত করে সার্ভিসকে ওভারলোড ও DoS আক্রমণ থেকে রক্ষা করা।
- ডেটা ট্রান্সফরমেশন: অনুরোধ ও উত্তরের ফরম্যাট রূপান্তর (যেমন XML থেকে JSON), HTTP হেডার যোগ বা অপসারণ।
- উত্তরের অ্যাগ্রিগেশন: একাধিক মাইক্রোসার্ভিসের ডেটা একটিমাত্র উত্তরে একত্র করা, যাতে ক্লায়েন্টকে একাধিক অনুরোধ করতে না হয়।
- মনিটরিং ও লগিং: বিশ্লেষণ ও ডিবাগিংয়ের জন্য অনুরোধ, রেসপন্স টাইম ও ত্রুটির পরিসংখ্যান সংগ্রহ।
- লোড ব্যালান্সিং: একই মাইক্রোসার্ভিসের একাধিক ইনস্ট্যান্সের মধ্যে অনুরোধ বণ্টন।
API গেটওয়ের জনপ্রিয় সমাধান
- ক্লাউড সমাধান (Managed): Yandex API Gateway, AWS API Gateway, Azure API Management, Google Cloud Endpoints। প্রস্তুত সার্ভিস, ইনফ্রাস্ট্রাকচার ম্যানেজমেন্টের ঝামেলা নেই।
- Open Source: Kong, Traefik, Envoy, Tyk, NGINX। নিজের সার্ভারে ডিপ্লয় করা যায়।
- অন-প্রিমাইজ প্যাকেজ: Apigee (Google), IBM API Connect। পূর্ণাঙ্গ API ম্যানেজমেন্ট প্ল্যাটফর্ম।
বাস্তবে API গেটওয়ে কীভাবে কাজ করে
- ক্লায়েন্ট অনুরোধ পাঠায় API গেটওয়ের ঠিকানায় (যেমন api.company.com)।
- API গেটওয়ে প্রমাণীকরণ যাচাই করে — ক্লায়েন্টের কাছে বৈধ টোকেন আছে? না থাকলে 401 ত্রুটি দেয়।
- API গেটওয়ে অ্যাক্সেস অধিকার যাচাই করে — এই ব্যবহারকারী কি অনুরোধকৃত কাজটি করতে পারবে? না হলে 403 ত্রুটি।
- API গেটওয়ে লিমিট পরীক্ষা করে — ক্লায়েন্ট কি মিনিটে অনুরোধের সীমা ছাড়িয়েছে? ছাড়িয়ে থাকলে 429 ত্রুটি।
- রাউটিং: URL পথ ও HTTP মেথড অনুযায়ী গেটওয়ে প্রয়োজনীয় মাইক্রোসার্ভিস নির্ধারণ করে (যেমন /users → ইউজার সার্ভিস, /orders → অর্ডার সার্ভিস)।
- ট্রান্সফরমেশন: প্রয়োজনে গেটওয়ে অনুরোধটিকে মাইক্রোসার্ভিসের বোঝা ফরম্যাটে রূপান্তর করে।
- অনুরোধ ফরওয়ার্ড করা মাইক্রোসার্ভিসে।
- উত্তর গ্রহণ মাইক্রোসার্ভিস থেকে।
- অ্যাগ্রিগেশন: প্রয়োজনে গেটওয়ে একাধিক মাইক্রোসার্ভিসের উত্তর একত্র করে।
- উত্তরের ট্রান্সফরমেশন: উত্তরকে ক্লায়েন্ট-প্রত্যাশিত ফরম্যাটে রূপান্তর।
- উত্তর ফেরত পাঠানো ক্লায়েন্টের কাছে।
API নিরাপত্তা WAF (Web Application Firewall) নিবন্ধে পড়ুন।
API গেটওয়ে ব্যবহারের সুবিধা
- একক প্রবেশদ্বার: ক্লায়েন্টরা একাধিক মাইক্রোসার্ভিসের অস্তিত্ব জানে না — তারা একটিই API নিয়ে কাজ করে।
- সহজ নিরাপত্তা: সব প্রমাণীকরণ ও অথরাইজেশন কেন্দ্রীয়ভাবে সম্পন্ন হয়।
- মাইক্রোসার্ভিসের ওপর চাপ হ্রাস: মাইক্রোসার্ভিসগুলো প্রমাণীকরণ, লিমিট বা লগিং নিয়ে কাজ করে না — শুধু নিজস্ব বিজনেস লজিক চালায়।
- নমনীয়তা: ক্লায়েন্টদের প্রভাবিত না করেই ব্যাকএন্ড আর্কিটেকচার বদলানো যায় (মাইক্রোসার্ভিস যোগ, বাদ দেওয়া, পরিবর্তন)।
- স্কেলেবিলিটি: একাধিক মাইক্রোসার্ভিস ইনস্ট্যান্সের মধ্যে লোড বণ্টনের সুযোগ।
API গেটওয়ের অসুবিধা
- সিঙ্গেল পয়েন্ট অফ ফেইলিওর: API গেটওয়ে ডাউন হলে পুরো সিস্টেম অ্যাক্সেসযোগ্য না হয়ে যায়।
- বিলম্ব (Latency): প্রতিটি অনুরোধ অতিরিক্ত 'স্তর' অতিক্রম করে, যা রেসপন্স টাইম বাড়ায়।
- কনফিগারেশনের জটিলতা: রাউট, ট্রান্সফরমেশন রুল ও নিরাপত্তা নীতিমালার যত্নশীল সেটআপ প্রয়োজন।
হাই অ্যাভেইলেবিলিটি সম্পর্কে সার্ভার ক্লাস্টার নিবন্ধে পড়ুন।
Frequently asked questions
সহজ ভাষায় API গেটওয়ে কী?
API গেটওয়ে হলো মাইক্রোসার্ভিসে সব অনুরোধের একক প্রবেশদ্বার। এটি অনুরোধ গ্রহণ করে, ব্যবহারকারীর অধিকার যাচাই করে, রেট লিমিট ঠিক করে এবং সঠিক মাইক্রোসার্ভিসে ফরওয়ার্ড করে। একটি বড় অফিসের রিসেপশনের মতো। মাইক্রোসার্ভিস সম্পর্কে জানতে ক্লায়েন্ট-সার্ভার আর্কিটেকচার নিবন্ধটি পড়ুন।
API গেটওয়ে কেন প্রয়োজন?
API গেটওয়ে প্রমাণীকরণ, অথরাইজেশন, রেট লিমিটিং, রাউটিং, ডেটা ট্রান্সফরমেশন ও রেসপন্স অ্যাগ্রিগেশন কেন্দ্রীয়ভাবে সম্পাদন করে। এতে মাইক্রোসার্ভিসগুলোর ওপর চাপ কমে এবং API ম্যানেজমেন্ট সহজ হয়। নিরাপত্তা সম্পর্কে জানতে WAF নিবন্ধটি পড়ুন।
API গেটওয়ের প্রকারগুলো কী কী?
ক্লাউড: Yandex API Gateway, AWS API Gateway, Azure API Management। Open Source: Kong, Traefik, Tyk, Envoy, NGINX। অন-প্রিমাইজ প্যাকেজ: Apigee, IBM API Connect। নির্বাচন নির্ভর করে ইনফ্রাস্ট্রাকচার ও বাজেটের ওপর। সমাধান সম্পর্কে জানতে প্রক্সি সার্ভার নিবন্ধটি পড়ুন।
API গেটওয়ে ও প্রক্সির মধ্যে পার্থক্য কী?
সাধারণ প্রক্সি অনুরোধ 'যেমন তাই' ফরওয়ার্ড করে। API গেটওয়ে একটি 'স্মার্ট' প্রক্সি: এটি প্রমাণীকরণ যাচাই করে, রেট লিমিট ঠিক করে, ডেটা ট্রান্সফর্ম করে, একাধিক সার্ভিসের রেসপন্স অ্যাগ্রিগেট করে এবং অ্যানালিটিক্স সংগ্রহ করে। প্রক্সি সম্পর্কে জানতে প্রক্সি সার্ভার নিবন্ধটি পড়ুন।
API গেটওয়ে কি Load Balancer?
ঠিক তাই নয়। লোড ব্যালান্সার একই সার্ভিসের একাধিক ইনস্ট্যান্সের মধ্যে লোড বণ্টন করে। API গেটওয়ে আরও অনেক কিছু করে: ভিন্ন ভিন্ন সার্ভিসের মধ্যে রাউট করে, অধিকার যাচাই করে, ডেটা ট্রান্সফর্ম করে। এটি ব্যালান্সিং অন্তর্ভুক্ত করতে পারে, কিন্তু তা এর একটি মাত্র ফাংশন। ব্যালান্সিং সম্পর্কে জানতে সার্ভার ক্লাস্টার নিবন্ধটি পড়ুন।
Other terms in «অবকাঠামো»
Was this information helpful?
Build reliable IT infrastructure
Build a modern, fault-tolerant IT infrastructure. Design, equipment supply, installation and maintenance turnkey.