سلام،
توی این قسمت من توضیح کوتاهی بابت Keycloak داده بودم و قراره که این مقاله راجب Reverse Proxy صحبت کنم که من توی پروژه ای که کار میکردم اومدم این دو رو باهم integrate کردم.
مدیریت ترافیک API ها با Kong API Gateway بهتون کمک میکنه که نظارت خوبی روی درخواستی هاتون داشته باشید. امتیازات خیلی خوبی داره این ابزار مثل Rate Limiting, احراز هویت، CORS و همچنین لاگ گرفتن از درخواست هایی که سمت شما میاد.
حالا ترکیب شدنش با Keycloak چه کمکی میکنه؟
اول از همه یه مثال عامیانه ای بابت اینکه چرا از keycloak و kong استفاده کردم میگم که یه جورایی متوجه قضیه بشیم که چه اتفاقاتی توی پروژه میوفته:)
فرض کنید یه شهر بزرگ داریم که چندین مغازه (میکروسرویسها) توش فعالیت میکنن. هر کدوم از این مغازهها وظیفه خاص خودش رو داره؛ یکی فروش مواد غذاییه، یکی کتاب میفروشه، و یکی لباس. حالا اگه مردم بخوان وارد این مغازهها بشن، یه ورودی اصلی توی شهر هست که هم جلوی شلوغی و ترافیک رو میگیره و هم کنترل میکنه که کی وارد شهر بشه. این ورودی اصلی همون Kong API Gateway هست.
- وظیفه Kong حالا چیه؟
مثل دروازه ورودی اصلی شهره. وظیفه داره که:
- حالا فرض کنید که همون شهر یه نگهبان امنیتی (Keycloak) داریم که در واقع کارت شناسایی همه آدمها رو نگه میداره. اگه کسی بخواد وارد یه مغازه خاص بشه (یعنی درخواست استفاده از یه میکروسرویس خاص رو بده)، Kong میره پیش این نگهبان (Keycloak) و میپرسه: "این فرد اجازه ورود داره؟" Keycloak کارت شناسایی طرف رو چک میکنه و اگه اجازه داشت، اجازه ورود به اون مغازه رو میده.(اینجا کارت شناسایی میشه توکنی که به هر شخص اختصاص داده میشه)
چنین ابزار هایی خیلی میتونن کمک بکنن روی پروژه ای که قرار هست میکروسرویس باشه، و قرار هستش که با درخواست های به شدت زیادی مواجه بشین و نخواین بار سنگینی روی دوش Django بذارید.
رفرنس های خوبی من بابتش پیدا کردم که پایین میذارم و اگر منابع بهتری پیدا کردم، پست رو آپدیت میکنم.
این نیمچه مقاله رو برای این نوشتم که بخوام شما هم با این ابزار آشنا بشید و امیدوارم به کارتون بیاد;)
تلاشمو میکنم که یک داکیومنت خوبی بابت راه اندازی Keycloak و Kong داخل پروژه Django بنویسم .
گیت هاب Kong API Gateway
گیت هاب Securing APIs with Kong and Keycloak