مسیریابی پیشرفته و مدیریت کوکی ها با Apache APISIX

ایده های من برای پست های وبلاگ به ناچار پس از بیش از دو سال در Apache APISIX شروع به خشک شدن می کند. از این رو، من مقداری تریاژ روی مخزن APISIX انجام دادم. من به طور اتفاقی به این یک سوال برخورد کردم:

ما نیاز به استفاده از یک افزونه داریم که در آن باید ترافیک را بر اساس درصد مسیریابی کنیم. برای درک بهتر مثالی می زنم.

ما یک URL داریم https://xyz.com/ca/fr/index.html که در آن ca کشور (کانادا) و fr زبان فرانسوی است. اکنون ترافیک باید 10٪ به https://xyz.com/ca/en/index.html و 90٪ باقیمانده به https://xyz.com/ca/fr/index.html هدایت شود. و هر زمان که ترافیک را به https://xyz.com/ca/en/index.html هدایت می کنیم، باید یک کوکی تنظیم کنیم. بنابراین برای تماس بعدی، اگر کوکی وجود دارد، باید مستقیماً به https://xyz.com/ca/en/index.html بروید، در غیر این صورت باید از طریق تقسیم ترافیک 10:90 برود. بهترین راه ممکن برای رسیدن به این هدف چیست؟

— درخواست کمک: تنظیم کوکی بر اساس یک شرط

مورد استفاده جالب است و من تصمیم گرفتم با آن مقابله کنم.

ابتدا الزامات را دوباره بیان می کنم:

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

برای تست راحت تر:

  • من شانس را از 10:90 به 50:50 تغییر می دهم
  • من از ریشه به جای میزبان به اضافه یک مسیر استفاده می کنم

در نهایت، من فرض می‌کنم که بالادست تنظیم می‌کند…

Source link