چرا خیلیها فکر میکنن میکروسرویسها کند هستند؟ من از یکی از بچه ها پرسیدم گفتم که پروژهی ERP خودتون رو به سمت مایکروسرویس هم میبرین؟ گفت بیزنس ما این رو نمیخواد، ما نمیخوایم مشتریهامون صبر کنن تا یک عملیات پست صحنه انجام بشه و بعد ایونت بده به کاربر که بوم کارت انجام شد بفرما، ما میخوایم کاربر در لحظه کاری که درخواست میکنه رو دریافت کنه.
کی گفته مایکروسرویسها فقط اینطوری کار میکنن؟ استفاده از بروکرها یک پترن هست که خود استفاده از اونها هم استراتژی های مختلفی داره که یکی از اونها باعث میشه که شما یک درخواست کاربر رو بفرستی و پردازش انجام بشه و بعدا پاسخ رو دریافت کنی. اما شما به همون روش که توی اپلیکیشنهای مونولیت میتونی درخواست مستقیم بزنی و پاسخ رو به مشتری برگردونی توی مایکروسرویسها هم به همین ترتیب پترنهایی در بروکرها هست مثلا پترن Request/Replay که همین کار رو انجام میده.
از طرفی شما میتونید به روشهای مختلف دیگه مثل Direct Message و ... توسط اگریگیتورها این قابلیت رو در میکروسرویسها داشته باشید.
اما اگر سوال اینجاست که در هر صورت اینکار کندتر از مونولیت هست پاسخ اینه در میکروسرویس روشهای دیگه ای وجود داره که شما پرفورمنس بسیار بالاتری نسبت به مونولیت داشته باشی برای مثال شما میتونی در مایکروسرویس ها از ماژولها استفاده کنی که مستقیم به دیتابیس دسترسی دارن و خود مایکروسرویس مخصوص اون ماژول هم داره از اون ماژول استفاده میکنه. منظور اینه روش ها برای رفع نیازهای شما زیاد هست و محدودیتی از این بابت وجود نداره این بستگی داره که خواستهی شما چی باشه.
تنها ترس بیزنسها باید این باشه که به سمت مایکروسرویس رفتن کار آسونی نیست و برای بیزنسهای بزرگه که هدف ما توی Easy Microservices رفع این مشکل هست که شما در نهایت بتونی برای پروژه های بزرگ و پروژه های کوچیک به سمتش بری، شاید در اوایل اسمش رو نذاری که ما مایکروسرویس هستیم ولی برای تبدیلش به مایکروسرویس کافیه یه روز وقت بذاری و کدهاتو مایکروسرویسی کنی.
معماری ما اینطوریه که بسته به اسکیل پروژهی شما ساختارها شکسته میشن، ما قبلا ساختارها رو براتون شکستیم و فقط کافیه که استفادشون کنید. برای همین آسون میشه و دیگه مهم نیست شما مونولیت هستی یا مایکروسرویس، هر وقت بخوای میتونی کل مایکروسرویسهاتو مونولیت کنی، هر وقت خواستی میتونی مجدد همشو مایکروسرویس کنی یا هردوشو داشته باشی تا دیگه دعوایی بین اینکه کدوم بهتره نباشه.
@easymicroservice
@easymicroservices
@csharptips
>>Click here to continue<<