راکت
حل شده

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

4 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

4
Banana Life
Banana Life
@shift.delete
بهترین پاسخ

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

حسین افتخارراد
حسین افتخارراد
@hosseinradvictor

تخصص: نال کد

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

use Illuminate\Support\Facades\Http;

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

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

ابوالفضل
ابوالفضل
@amata

تخصص: برنامه نويس

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

شاید پاسخ شما همین‌جا باشد

pari.a
pari.a
@pari.a

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

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

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