اینتگروپیا
اینتگروپیا
خواندن ۵ دقیقه·۲ سال پیش

سیستم پشتیبانی عملیاتی OSS

در این بخش از APIGateway شامل بخش‌های زیر است :

سرویس‌های OSS
سرویس‌های OSS
مسیریابی (Routing)

سرویسی که در سازمان‌ها وجود دارد روی آدرس IP مشخصی قراردارد مثلا می‌خواهد قیمت ارز را در اختیار مصرف کنندگان بگذارد و یا یک وب سرویس SOAP را عمومی کند.

مسیریابی API
مسیریابی API

توجه به تصویر زیر APIGateway جلوی این آدرس IP قرار می‌گیرد و این سرویس را روی آدرس جدید عمومی می‌کند. آدرس IP سمت سرور در سرویس گیرنده پنهان می‌شود یعنی در سازمان خود می‌توانیم سرورها را جابه جا کنیم و یا تغییر بدهیم بدون اینکه مصرف کننده متوجه شود .

سرویس گیرنده آدرس را از APIGateway می گیرد و APIGateway وظیفه‌اش این است که این آدرس را به سمت سرور مربوطه مسیریابی کند. مهم ترین ویژگی هم همین است که درخواست را از مصرف کننده بگیرد و به تولیدکننده بفرستد و جواب را هم برگرداند.

مسیریابی از طریق APIFateway
مسیریابی از طریق APIFateway


احراز هویت و مجوز (Authentication and Authorization)

صدور مجوز به این دلیل است که ممکن است چندین سرویس مختلف داشته باشیم و هر مصرف کننده مجاز باشد از یکسری خدمات استفاده کند و محدودیت دسترسی مشخصی داشته باشد و استفاده از یکسری امکانات برایش مجاز نباشد.

احراز هویت و مجوز در API
احراز هویت و مجوز در API

احراز هویت برای این منظور است که اگر در سرویس داده‌های حساس و امنیتی وجود داشته باشد باید کاربران هویت سنجی شوند و احراز هویت انجام دهند. مصرف کننده درخواست خود را به همراه یکسری پارامترهای امنیتی به APIGateway ارسال می کند و APIGateway این پارامترهای امنیتی را بررسی می کند اگر تایید بشود آن را به سمت سرور ارسال می‌کند اگر تایید نشود به مصرف کننده خطا میدهد(رمز عبور و یا نام کاربری اشتباه است ، توکن منقضی شده است و ...).

احراز هویت از طریق APIGateway
احراز هویت از طریق APIGateway


مدیریت امنیت (Security Management)

هنگامی که بخواهیم داده های یک سازمان را روی یک APIGateway بگذاریم باید بدانیم که چه امکاناتی . برای حفظ امنیت لازم است مانند محدودیت API و حفاظت DOS .

مدیریت امنیت API
مدیریت امنیت API

فرض کنید سازمانی که می‌خواهد سرویس هایش را در اختیار کاربران قرار دهد با اینکه نام کاربری و رمز عبور برای کاربرانش مشخص می‌کند ولی برای امنیت بیشتر بهتر است لیست سفید تعریف کند که چه کاربرانی مجوز درخواست و حق دسترسی به سرویس ها را دارند و یا لیست سیاه تعریف شود که مشخص شود چه کاربرانی مجوز درخواست و حق دسترسی به سرویس ها را ندارند.

در APIGateway باید یک سطحی از هوشمندی را داشته باشد که اگر درخواست‌ها از یک حد نرمال بیشتر شدند و یا الگوی آن‌ها تغییر کرد بتواند جلوی اجرای آن‌ها را بگیرد و خطا متناسب بدهد که داده‌ها و سرویس‌ها آسیب نیبنند.

مدیریت و امنیت از طریق APIGateway
مدیریت و امنیت از طریق APIGateway


مدیریت ترافیک (Traffic Management)

در APIGateway مانند یک اتوبان است که تعدادی درخواست را دریافت می‌کند و جوابش را برمی‌گرداند اگر این روند بدون قاعده و قانون باشد باعث آسیب زدن به سیستم می‌شود و ممکن است سیستم را از دسترس خارج کند پس باید کنترل ترافیک روی درخواست‌ها داشته باشیم. تا جلوی مشکلات احتمالی را بگیرد. APIGateway از دو مکانیزم برای کنترل ترافیک استفاده می کند:

  • در مکانیزم اول هر مصرف کننده API یک سهمیه مشخصی در واحد زمان دارد و برای هر کاربر تعداد فراخوانی API در واحد زمانی ماه و یا روز تعریف می‌شود مثلا هزار درخواست در ماه و... .
  • در مکانیزم دوم حد نرخ مصرف است اگر کاربری در زمان کوتاه تعداد زیادی درخواست API ارسال کند باعث آسیب رساندن به منابع و داده‌های یک سرور می‌شود پس باید نرخ استفاده از هر API برای هر کاربر مشخص شود که بیشتر از حد مجاز درخواست ندهد و به منابع آسیب نزند و این موارد باید در قوانین SLA تعریف و مشخص شود.
مدیریت ترافیک API
مدیریت ترافیک API

در مراحل بعدی برای هر مشتری و نوع رفتار یک طرح تعریف می‌کنیم و یک سطح بندی از مشتریان را مشخص می‌کنیم که هم بتوانیم منابع را مدیریت کنیم تا به منابع آسیب نرسد و هم مصرف کننده استفاده لازم را ببرد. APIGateway جلوی درخواست‌ها می‌ایستد و بررسی می‌کند که درخواست‌ها قوانین را نقض می‌کنند یا خیر؟ اگر نقض نکند به سرور وصل می‌شود و اگر نقض کند با خطا مواجه می‌شود.

مدیریت ترافیک از طریق APIGateway
مدیریت ترافیک از طریق APIGateway


تغییر و ارکستراسیون (Transaction & Orchestration)

در این بخش به شر عملکرد تغییر و اراکستراسیون در APIGateawy می‌پردازیم.

تغییر و ارکستراسیون API
تغییر و ارکستراسیون API

در بخش تغییر باید بتوان یک پروتکل ارتباطی را تغییر و ایجاد کرد که برای همه قابل درک و استفاده باشد مثلا همه ارتباطات‌‌ها را در قالب پروتکل REST تعریف شوند که انتقال‌ها را از طریق فایل JSON ممکن کند و سرویس‌هایی که قدیمی هستند از پروتکل SOAP استفاده می‌کنند و نیاز به یک رابط برای تبدیل این پروتکل‌ها به هم نیاز است و بتواند درخواست REST را به SOAP و پاسخ SOAP را به REST تبدیل کند. ESP نیز اینکار را داخل یک سازمان انجام می هد ولی APIGateway به صورت کلی بدون محدودیت تغییر پروتکل‌ها را انجام میدهد و ارتباط بین سازمان‌ها را ایجاد می‌کند. تکنولوژی‌ها و پروتکل‌های مختلف زیادی وجود دارد و برای کاهش پیچیدگی‌ها از تبدیل پروتکل‌ها به یکدیگر از APIGateway استفاده می‌شود.

تغییر پروتکل از طریق APIGateawy
تغییر پروتکل از طریق APIGateawy

در تبدیل فرمت فرض کنید درخواست‌ها به همراه یکسری پارامترها به APIGateway ارسال می‌شوند و برای سادگی و پنهان کردن پیچیدگی‌های سمت سرور نوع و تعریف پارامترها را تغییر دهیم یعنی اگر تعریف پارامترها در سمت سرور و سرویس گیرنده متفاوت باشد APIGateway این تبدیل‌ها را انجام می‌دهد.

تغییر نوع از طریق APIGateway
تغییر نوع از طریق APIGateway


در اکستراسیون ممکن است در یک سازمان چند API کوچک وجود داشته باشد که هرکدام هم یک کار کوچک انجام می‌دهد ولی نیازمندی این است که چند API را با یک فرآیند و یا جریانی از API ها را ترکیب کنیم و یک سرویس جدیدی بسازیم اصطلاحا به این‌ها سرویس‌های کامپوزیت می‌گویند و در نهایت یک سرویس درشت دانه تر تولید کنیم.

ارکستراسیون در APIGateway
ارکستراسیون در APIGateway

مثال در اداره پست یک اپراتور پست نیاز به یک API دارد که مشخصات مرسوله پستی را به عنوان ورودی API دریافت و قیمت ارسال مرسوله را محاسبه کند. محاسبه قیمت تابع پارامترهای مختلفی مثل وزن مرسوله، مسافت ارسالی و ... است و تعدادی میکروسرویس وجود دارد که بصورت میانی محاسبات را انجام می‌دهند. و چند میکروسرویس وجود دارد که از ترکیب آن‌ها به یک سرویس بزرگتر به نام قیمت گذاری می‌رسیم و خاصیت APIGateway این است بصورت اعجایل می‌تواند قیمت‌ها را محاسبه کند و یا تغییر دهد و ممکن است با توجه به شرایط بازار در بعضی مواقع کم یا زیاد شود.

سرویس پست
سرویس پست


سرویس پست
سرویس پست

در APIGateway بدون نیاز به توسعه دهنده API ها را ترکیب می‌کند و جریانی از API ها را برای کاربردهای مختلف ایجاد می‌کند و در نهایت به یک خروجی مطلوب می‌رسد.

ترکیب سرویس‌ها از طریق APIGateway
ترکیب سرویس‌ها از طریق APIGateway

اگر نیاز به مشاوره در خصوص API های سازمان خودتان دارید به وب سایت ما سر بزنید.

ما را در اینستاگرام دنبال کنید.



api gateway
نرم افزار یکپارچه سازی اینتگروپیا (integropia)
شاید از این پست‌ها خوشتان بیاید