pari.a
1 سال پیش توسط pari.a مطرح شد
4 پاسخ

نوشتن میکروسرویس برای یک Monolith Application

یه سایت لاراولی داریم که همه چی روی همون پروژه پیاده سازی شده و API هم نداره . حالا میخوایم یه بخشی رو به صورت میکروسرویس بنویسیم.(فرض کنید سفارشات کاربر) . این میکروسرویس رو احتمالا با لومن بنویسم . اما سوالم اینه که چجوری این میکروسرویس با اپلیکیش ارتباط امن برقرار کنه . فرض کنید کاربر بعد از لاگین میخواد میخواد سفارشات خودش که داخل میکروسرویس هست رو ببینه. به چه صورت باید رکوئست هارو ارسال و دریافت کنیم؟


ثبت پرسش جدید
Banana Life
@shift.delete 1 سال پیش آپدیت شد
1

سلام
دوست عزیز شما یه قسمت اپلیکیشن را برای میکروسرویس اختصاص میدید و اونجا API مورد نظرتان را مینویسید (مثلا همان سفارشات کاربر) و برای دیتابیس ش همان کانفیگ دیتابیسی را دارید در محل میکروسرویس با تظیمات مشابه استفاده میکنید (البته میتونید دیتابیس جداگانه هم داشته باشید )؛ یک قسمت دیگه را APIGateway برای قرار میدید که میدان یا قسمت وصل شدن و محاسبات و... تمام میکروسرویس ها است یعنی از سمت کلاینت شما اطلاعات را مستقیم از خود میکروسرویس نمیگیرید بلکه از APIGateway درخواست میکنید برای درخواست روش های مختلفی وجود داره که یک روش میتونه از طریق Http باشه و اعتبار سنجی و هویت را هم در نظر بگیرید.


حسین افتخارراد
تخصص : نال کد
@hosseinradvictor 1 سال پیش مطرح شد
0

توی پروژه اصلی از http ریکوئست استفاده کنید

use Illuminate\Support\Facades\Http;

$response = Http::get('http://example.com');

داکیومنت لاراول در لینک زیر
https://laravel.com/docs/9.x/http-client
و درخواست ها رو درون auth قرار بدید


Banana Life
@shift.delete 1 سال پیش آپدیت شد
1

سلام
دوست عزیز شما یه قسمت اپلیکیشن را برای میکروسرویس اختصاص میدید و اونجا API مورد نظرتان را مینویسید (مثلا همان سفارشات کاربر) و برای دیتابیس ش همان کانفیگ دیتابیسی را دارید در محل میکروسرویس با تظیمات مشابه استفاده میکنید (البته میتونید دیتابیس جداگانه هم داشته باشید )؛ یک قسمت دیگه را APIGateway برای قرار میدید که میدان یا قسمت وصل شدن و محاسبات و... تمام میکروسرویس ها است یعنی از سمت کلاینت شما اطلاعات را مستقیم از خود میکروسرویس نمیگیرید بلکه از APIGateway درخواست میکنید برای درخواست روش های مختلفی وجود داره که یک روش میتونه از طریق Http باشه و اعتبار سنجی و هویت را هم در نظر بگیرید.


ابوالفضل
تخصص : برنامه نويس
@amata 1 سال پیش مطرح شد
2

اصلا همچین کاری نکنید و سرویس به سرویس درست نکنید این کار رو
برای دیتابیس (یجور واسط)باید از RabbitMq استفاده بشه و خیلی کارای دیگه
اینکه همه ی سیستما رو با api به هم وصل کنی اصلا امنیت نداره!
هرگز همچین اشتباهی نکن
حتما برو کامل راجع بهش مطالعه کن
هر چند که کلا php رو برای میکروسرویس کسی پیشنهاد نمیده!
ولی خب به هر حال اگه اصرار بر استفاده از php هست باید بگم این کار رو هیچوقت به صورت اینجوری انجام نده
خیلی گزینه ها باید رعایت بشه و خیل گزینه ها هم باید توی طراحی از صفر کاربشه


pari.a
@pari.a 1 سال پیش آپدیت شد
0

ممنون از پاسختون
@alekasirabolfazl
خوب اگر من از API Gateway استفاده کنم و برای ارتباط با دیتابیس ها میکروسرویس های مختلف از RabbitMQ استفاده کنم . مورد دیگه هم هست که در نظر بگیرم؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام