Microservices سیستم ما را به اجزای کوچک مستقل تقسیم می کند. بوت فنری دارای ویژگی هایی است که برای ساخت سریع میکروسرویس ها مفید است. از طریق فنر بوت، میتوانیم میکروسرویسها را به سرعت پیکربندی کنیم. در این مقاله Microservices With Spring Boot، نحوه ساخت یک Microservices با Spring Boot و Eureka Server را با جزئیات به شما نشان خواهیم داد.
میکروسرویس با SpringBoot
در ادامه به موضوعاتی می پردازیم که در این مقاله به آنها خواهیم پرداخت
- میکروسرویس چیست؟
- اصول میکروسرویس ها
- معماری میکروسرویس ها
- چرا چکمه بهاره
- ساخت میکروسرویس با چکمه فنری
MicroServices چیست؟
Microservices یک رویکرد ساختاری است که برنامه را به عنوان گروهی از خدمات مستقل که در مورد یک دامنه سازمانی تشکیل شده است، می سازد. معماری میکروسرویس ها میکروسرویس ها را برای ایجاد یک سرویس بزرگ ترکیب می کند.
برای اطلاعات بیشتر: میکروسرویس ها و انواع میکروسرویس ها چیست؟
اصول میکروسرویس ها
1. مدل سازی شده در اطراف دامنه کسب و کار
Microservice خود را از پذیرش پایگاه داده یا پشته فناوری مناسب محدود نمی کند. پایگاه داده یا پشته برای حل و فصل اهداف سازمانی مفید است.
2. استقرار مستقل
میکروسرویس ها مستقل از پلتفرم هستند. ما می توانیم آنها را بدون تأثیرگذاری بر سایر خدمات مستقر و طراحی کنیم.
3. شکست منفرد
هر برنامه بزرگی میتواند بدون تاثیر در طول شکست یک ماژول باقی بماند. ما باید شکست را به سرعت تشخیص دهیم زیرا یک سرویس در هر زمان ممکن است خراب شود.
4. اصل مسئولیت واحد
این اصل می گوید که یک ماژول یا یک کلاس از یک برنامه باید فقط یک مسئولیت داشته باشد. یک میکروسرویس تنها می تواند یک مسئولیت را انجام دهد.
5. اتوماسیون زیرساخت
اتوماسیون زیرساخت مکانیزمی برای نوشتن اسکریپت محیط ها است. از طریق محیط Scripting، می توانیم از یک پیکربندی مشابه برای یک گره یا چندین گره استفاده کنیم. این مکانیزم به عنوان مدیریت پیکربندی یا مدیریت پیکربندی سیستم شناخته می شود.
معماری میکروسرویس ها
در زیر نکات ضروری معماری میکروسرویس آورده شده است:
- هر میکروسرویس یک پایگاه داده جداگانه خواهد داشت.
- Client API به خدمات دسترسی نخواهد داشت. فقط می تواند با دروازه API ارتباط برقرار کند.
- ما هر سرویسی را در سرور کشف ثبت خواهیم کرد. سرور کشف حاوی اطلاعات هر میکروسرویسی است که در سیستم وجود دارد.
- سرور پیکربندی تمامی تنظیمات میکروسرویس ها را ذخیره می کند و این سرور برای دریافت اطلاعات پیکربندی مانند URL، نام میزبان و غیره برای کاربران مفید است.
چرا چکمه بهاره
Spring Boot امکان توسعه برنامه های آماده تولید را فراهم می کند و ویژگی های غیر کاربردی زیر را ارائه می دهد:
- به کنترل چندین مؤلفه کمک می کند.
- به تنظیم صریح اجزا کمک می کند.
- این سرورهای جاسازی شده را ارائه می دهد که پیاده سازی آنها با کانتینرها ساده است.
بنابراین، بیایید ببینیم که چالش های معماری Microservices چیست
چالش ها در معماری میکروسرویس ها
اگرچه طراحی میکروسرویس ها ممکن است ساده به نظر برسد، اما بسیاری از مشکلات به معماری میکروسرویس ها مربوط می شود. چالش های موجود در میکروسرویس ها به شرح زیر است:
- درک: ما اجزای کوچک زیادی برای اجرا و مدیریت داریم که تشخیص و کنترل مشکلات سخت می شود. نیاز به درک بزرگی در مورد اجزا دارد.
- اتوماسیون کامپوننت ها: اتوماسیون مولفه ها پیچیده است زیرا اجزای کوچک زیادی به جای یکپارچه وجود دارد، مانند استقرار، ساخت، نظارت و غیره.
- اشکال زدایی: مطالعه هر سرویس به دلیل یک خطا پیچیده است. داشبوردهای متمرکز و ثبت گزارش برای سادهسازی اشکالزدایی مشکلات مهم هستند.
- سازگاری: ما ابزارهای مختلفی برای حل یک مشکل مشابه نداریم. در حالی که ارتقای نوآورانه ضروری است، ما باید مدیریت را بر روی پلتفرمها، زبانها، ابزارها، فناوریها و غیره توزیع کنیم.
- مدیریت پیکربندی: حفظ پیکربندی اجزا در محیط های مختلف بسیار مهم است.
بنابراین، برای جلوگیری از چالشهای فوق، ما میکروسرویسها را با Spring Boot میسازیم. بوت فنری دارای ویژگی هایی برای ساخت Microservices با حداقل تنظیمات است.
ساخت اپلیکیشن میکروسرویس با استفاده از فنر بوت
1. سرور Eureka
Eureka یک سرویس رجیستری یا سرور نامگذاری است. سرور Eureka نام هر سرویسی را می دهد. این یک خدمات بسیار مهم است زیرا:
- در سرور eureka، نیازی به کدگذاری سخت آدرس های IP میکروسرویس ها نیست.
- زمانی مفید است که سرویسها از آدرسهای IP پویا، به عنوان مثال، مقیاسپذیری خودکار استفاده میکنند.
بنابراین، هر سرویس باید در سرور Eureka ثبت شود و به سرور Eureka اطلاع دهد که فعال است. اگر eureka هیچ اطلاعیه ای از یک سرویس دریافت نکرد، آن سرویس در سرور eureka ثبت نشده است.
برای توسعه سرور Eureka به ابزارهای زیر نیاز داریم:
- ابزار فنری
- جاوا 8
- Eclipse IDE
پس از نصب ابزارهای فوق، می توانیم سرور Eureka را توسعه دهیم.
Microservices with Spring Boot: ایجاد سرور Eureka
برای ایجاد سرور Eureka، ابتدا باید پروژه "EurekaServer" را در Eclipse IDE ایجاد کنیم. برای ایجاد پروژه "Eureka Server"، "Spring Starter Project" را فشار می دهیم و پس از آن باید "Next" را فشار دهیم. می توانیم پروژه Spring Starter را با هر نامی نام گذاری کنیم.
2. سرویس تصویر
Eureka Client Service یک سرویس مستقل در معماری میکروسرویس است. سرویس مشتری می تواند حساب، پرداخت، تأیید اعتبار، اعلان، پیکربندی و غیره باشد. سرویس تصویر یک منبع داده برای تصاویر است و هر تصویر دارای عنوان، شناسه، URL و غیره است.
3. خدمات گالری
سرویس Eureka Client همچنین به عنوان REST Client شناخته می شود که خدمات REST API (سایر خدمات) را در برنامه میکروسرویس فراخوانی می کند. بنابراین، به عنوان مثال، سرویس گالری، سرویس تصویر را برای دریافت گروهی از تصاویر، یا فقط تصاویری که در یک سال خاص تولید می کنیم، فراخوانی می کند.
4. سرویس احراز هویت (Auth).
گردش کار احراز هویت به شرح زیر است:
- مشتری اعتبار خود را برای درخواست توکن ارسال می کند.
- سرور اعتبارنامه ها را تأیید می کند و یک توکن برمی گرداند.
- برای هر درخواست، کاربر یک نشانه ارائه می کند و سرور آن توکن را تأیید می کند.
برای تایید اعتبار کاربری و صدور توکن ها، سرویس جدیدی به نام “Auth Service” راه اندازی می کنیم. Gateway از سرویس auth برای اعتبار سنجی توکن ها استفاده می کند.
نتیجه
ساخت میکروسرویس با بوت فنری به کاربران کمک می کند تا از میکروسرویس ها به نحو احسن استفاده کنند. بوت فنری باعث می شود که میکروسرویس ها با حداقل پیکربندی با هم کار کنند. امیدوارم این مقاله اطلاعات مورد نیاز در مورد توسعه Microservices با Spring Boot را در اختیار شما قرار دهد.
- ۰۱/۱۰/۲۸