SlideShare a Scribd company logo
1 of 20
Download to read offline
:‫ارائه‬ ‫عنوان‬
( ‫ها‬ ‫مایکروسرویس‬
Microservices
)
:‫دهندگان‬ ‫ارائه‬
‫رفیع‬ ‫حمید‬
‫پیرو‬ ‫هادی‬
“
”
‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫یک‬ ‫کلی‬ ‫ساختار‬
‫‌سازی‬
‫ه‬‫پیاد‬ ‫چگونگی‬ ‫و‬ ‫نحوه‬ ‫به‬ ‫که‬
.‫‌پردازد‬
‫ی‬‫م‬ ‫پروژه‬ ‫یک‬
:‫‌افزار‬
‫م‬‫نر‬ ‫معماری‬
:‫‌افزار‬
‫م‬‫نر‬ ‫معماری‬ ‫در‬ ‫ها‬ ‫گیری‬ ‫تصمیم‬ ‫از‬ ‫برخی‬
●
‫نیاز‬ ‫مورد‬ ‫ابزارهای‬ ‫و‬ ‫ها‬ ‫تکنولوژی‬
●
‫هاستینگ‬ ‫و‬ ‫سرور‬ ‫های‬ ‫نیازمندی‬ ‫و‬ ‫زیرساخت‬
●
)‫مایکروسرویس‬ ‫یا‬ ‫(مونولیتیک‬ ‫سیستم‬ ‫طراحی‬ ‫نوع‬
“
”
‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫طراحی‬ ‫سنتی‬ ‫مدل‬
‫برنامه‬ ‫‌های‬
‫ت‬‫قسم‬ ‫تمام‬ ‫آن‬ ‫در‬ ‫که‬
.‫هستند‬ ‫وابسته‬ ‫یکدیگر‬ ‫به‬
‫مونولیتیک‬ ‫معماری‬
(
Monolithic
‫چیست؟‬ ‫یکپارچه‬ ‫یا‬ )
،‫است‬ ‫شده‬ ‫‌سازی‬
‫ه‬‫پیاد‬ ‫مونولیتیک‬ ‫معماری‬ ‫با‬ ‫که‬ ‫وب‬ ‫تحت‬ ‫اپلیکیشن‬ ‫یک‬ ‫در‬
‫اختالل‬ ‫با‬ ‫‌ها‬
‫ت‬‫قسم‬ ‫سایر‬ ‫کارکرد‬ ،‫ها‬ ‫رسانی‬ ‫روز‬ ‫به‬ ‫یا‬ ‫مشکالت‬ ‫بروز‬ ‫صورت‬ ‫در‬
.‫‌گذارند‬
‫ی‬‫م‬ ‫تأثیر‬ ‫یکدیگر‬ ‫روی‬ ‫‌ها‬
‫ش‬‫بخ‬ ‫همه‬ ‫بنابراین‬ ،‫شد‬ ‫خواهد‬ ‫مواجه‬
Monolithic
‫کند؟‬ ‫می‬ ‫کار‬ ‫چگونه‬
‫معماری‬ ‫این‬ ‫در‬
۳
‫که‬ ‫داریم‬ ‫الیه‬
MVC
:‫شود‬ ‫می‬ ‫نامیده‬
Model
:
.‫‌کند‬
‫ی‬‫م‬ ‫برقرار‬ ‫ارتباط‬ ‫داده‬ ‫پایگاه‬ ‫با‬
View
:
.‫‌دهد‬
‫ی‬‫م‬ ‫نمایش‬ ‫کاربری‬ ‫رابط‬ ‫در‬ ‫را‬ ‫نهایی‬ ‫خروجی‬
Controller
:
.‫دارد‬ ‫عهده‬ ‫به‬ ‫را‬ ‫اپلیکیشن‬ ‫های‬ ‫پردازش‬ ‫وظیفه‬ ‫و‬ ‫محاسبات‬ ‫انجام‬
●
.‫‌فرستد‬
‫ی‬‫م‬ ‫سرور‬ ‫به‬ ‫درخواست‬ ‫یک‬ ‫کاربر‬
●
‫به‬ ‫درخواست‬ ‫این‬ ‫مسیریابی‬ ‫طریق‬ ‫از‬
Controller
.‫‌شود‬
‫ی‬‫م‬ ‫ارسال‬
●
Controller
‫برای‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫درخواست‬
Model
.‫‌کند‬
‫ی‬‫م‬ ‫ارسال‬
●
Model
.‫‌کند‬
‫ی‬‫م‬ ‫دریافت‬ ‫داده‬ ‫پایگاه‬ ‫از‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫اطالعات‬
●
Model
‫برای‬ ‫را‬ ‫شده‬ ‫دریافت‬ ‫اطالعات‬
Controller
.‫‌فرستد‬
‫ی‬‫م‬
●
Controller
‫به‬ ‫را‬ ‫‌ها‬
‫ه‬‫داد‬
View
.‫‌کند‬
‫ی‬‫م‬ ‫منتقل‬
●
View
‫روی‬ ‫را‬ ‫نهایی‬ ‫اطالعات‬
.‫‌دهد‬
‫ی‬‫م‬ ‫نمایش‬ ‫مرورگر‬ ‫صفحه‬
‫معماری‬ ‫‌های‬
‫ت‬‫محدودی‬ ‫از‬ ‫برخی‬
Monolithic
:
●
‫کسی‬ ‫اگر‬ ‫بنابراین‬ ‫دارد‬ ‫وجود‬ ‫منبع‬ ‫کد‬ ‫یک‬ ‫فقط‬ ‫معماری‬ ‫این‬ ‫در‬
‫دریافت‬ ‫را‬ ‫پروژه‬ ‫کل‬ ‫باید‬ ‫کند‬ ‫کار‬ ‫خاص‬ ‫قسمت‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫بخواهد‬
.‫کند‬
●
،‫ها‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫و‬ ‫دارد‬ ‫کمی‬ ‫پذیری‬ ‫انعطاف‬ ‫پروژه‬
‫های‬ ‫دیتابیس‬ ‫و‬ ‫ها‬ ‫ورک‬ ‫فریم‬
.‫ندارد‬ ‫وجود‬ ‫دیگر‬
‫معماری‬
،‫مونولیتیک‬
‫کارایی‬ ‫معموال‬
‫یک‬ ‫در‬ ‫کافی‬
‫بزرگ‬ ‫پروژه‬
.‫ندارد‬ ‫را‬
Ecommerce Database Design Example
“
”
‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫‌افزار‬
‫م‬‫نر‬ ‫معماری‬ ‫نوعی‬
‫کوچک‬ ‫‌های‬
‫ش‬‫بخ‬ ‫به‬ ‫پیچیده‬ ‫‌های‬
‫ه‬‫برنام‬
.‫‌شوند‬
‫ی‬‫م‬ ‫تقسیم‬ ‫مستقل‬ ‫و‬
‫چیست؟‬ ‫مایکروسرویس‬
●
‫از‬ ‫مستقل‬ ‫و‬ ‫کوچک‬ ‫‌های‬
‫ش‬‫بخ‬ ‫به‬ ‫را‬ ‫‌افزار‬
‫م‬‫نر‬ ،‫ها‬ ‫مایکروسرویس‬
.‫‌کنند‬
‫ی‬‫م‬ ‫تبدیل‬ ‫یکدیگر‬
●
.‫‌شوند‬
‫ی‬‫م‬ ‫اجرا‬ ‫دیگر‬ ‫های‬ ‫سرویس‬ ‫بر‬ ‫تأثیر‬ ‫بدون‬ ‫ها‬ ‫سرویس‬
●
.‫بود‬ ‫خواهد‬ ‫‌تر‬
‫ه‬‫ساد‬ ‫‌ها‬
‫ت‬‫قسم‬ ‫از‬ ‫یک‬ ‫هر‬ ‫کدهای‬ ‫داری‬ ‫نگه‬
‫مدل‬ ‫مقایسه‬
Monolithic
‫و‬
Microservice
:
‫مستقل‬ ‫صورت‬ ‫به‬ ‫توسعه‬ ‫های‬ ‫تیم‬ ،‫مایکروسرویس‬ ‫معماری‬ ‫در‬
‫از‬ ‫یک‬ ‫هر‬ ‫وظایف‬ ‫و‬ ‫‌کنند‬
‫ی‬‫م‬ ‫کار‬ ‫مشخص‬ ‫قسمت‬ ‫یک‬ ‫روی‬ ‫بر‬
.‫است‬ ‫مجزا‬ ‫سایرین‬ ‫هااز‬ ‫تیم‬
:‫مایکروسرویس‬ ‫معماری‬
‫نرم‬ ‫پایداری‬ ‫رفتن‬ ‫باال‬
‫ها‬ ‫اپلیکیشن‬
‫توسعه‬ ‫و‬ ‫داری‬ ‫نگه‬
‫ها‬ ‫برنامه‬ ‫کد‬ ‫‌تر‬
‫ه‬‫ساد‬
‫‌تر‬
‫ع‬‫سری‬ ‫انتشار‬ ‫و‬ ‫استقرار‬
‫ها‬ ‫افزار‬ ‫نرم‬ ‫امکان‬ ‫و‬ ‫پذیری‬ ‫انعطاف‬
‫فریم‬ ‫و‬ ‫‌ها‬
‫ن‬‫زبا‬ ‫از‬ ‫استفاده‬
‫مختلف‬ ‫های‬ ‫ورک‬
‫فرآیند‬ ‫تر‬ ‫ساده‬ ‫مدیریت‬
‫های‬ ‫تیم‬ ‫وجود‬ ‫دلیل‬ ‫به‬ ‫چابکی‬
‫کوچکتر‬
‫و‬ ‫ها‬ ‫سرویس‬ ‫بودن‬ ‫مستقل‬
‫بر‬ ‫ها‬ ‫تیم‬ ‫از‬ ‫یک‬ ‫هر‬ ‫تمرکز‬
‫مشخص‬ ‫قسمت‬ ‫یک‬ ‫روی‬
:‫ها‬ ‫مایکروسرویس‬ ‫مزایای‬
:‫ها‬ ‫مایکروسرویس‬ ‫مزایای‬
‫و‬ ‫نظارت‬ ‫شدن‬ ‫تر‬ ‫پیچیدگی‬
‫سرورها‬ ‫مانیتورینگ‬
‫مستندات‬ ‫شدن‬ ‫تر‬ ‫دشوار‬
‫بودن‬ ‫مستقل‬ ‫دلیل‬ ‫به‬ ‫سازی‬
‫سرویس‬ ‫هر‬
‫به‬ ‫یکسان‬ ‫استاندارد‬ ‫نبود‬
‫ها‬ ‫پلتفرم‬ ‫تنوع‬ ‫دلیل‬ ‫‌های‬
‫ه‬‫هزین‬ ‫افزایش‬
‫افزاری‬ ‫سخت‬ ‫و‬ ‫زیرساختی‬
‫ها‬ ‫درخواست‬ ‫تعداد‬ ‫رفتن‬ ‫باال‬
‫از‬ ‫ها‬ ‫سرویس‬ ‫ارتباط‬ ‫دلیل‬ ‫به‬
‫طریق‬
API
‫دلیل‬ ‫به‬ ‫‌تر‬
‫ه‬‫پیچید‬ ‫معماری‬
‫فراوان‬ ‫های‬ ‫سرویس‬ ‫وجود‬
:‫ها‬ ‫مایکروسرویس‬ ‫معایب‬
1
1
2
2
3
3
4
4
‫هدفمند‬ ‫طرح‬ ‫یک‬ ‫‌سازی‬
‫ه‬‫پیاد‬
،‫ها‬ ‫چالش‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫با‬
‫زمانی‬ ‫برنامه‬ ‫و‬ ‫ها‬ ‫تکنولوژی‬
‫با‬ ‫ابری‬ ‫خدمات‬ ‫بهترین‬ ‫یافتن‬
‫برنامه‬ ‫وابستگی‬ ‫حذف‬ ‫به‬ ‫توجه‬
‫خاص‬ ‫‌افزار‬
‫م‬‫نر‬ ‫و‬ ‫‌افزار‬
‫ت‬‫سخ‬ ‫به‬
‫فرآیندهای‬ ‫از‬ ‫استفاده‬
DevOps
‫ابزارهای‬ ‫و‬
‫و‬ ‫سازی‬ ‫یکپارچه‬
‫پیوسته‬ ‫استقرار‬
(
CI/CD
)
‫ابزارهای‬ ‫از‬ ‫استفاده‬
‫ترافیک‬ ‫و‬ ‫امنیت‬ ‫بر‬ ‫نظارت‬
‫ها‬ ‫مایکروسرویس‬
:‫مایکروسرویس‬ ‫به‬ ‫مونولیتیک‬ ‫معماری‬ ‫تغییر‬
:‫ها‬ ‫تکنولوژی‬ ‫و‬ ‫‌افزارها‬
‫م‬‫نر‬
GoFr Gin
:‫مایکروسرویس‬ ‫با‬ ‫مرتبط‬ ‫های‬ ‫تکنولوژی‬ ‫و‬ ‫ها‬ ‫ورک‬ ‫فریم‬ ‫‌ترین‬
‫ب‬‫محبو‬
Thankyouforyourattention

More Related Content

Similar to Microservices.pdf

Applying event driven architecture to mobile computing
Applying event driven architecture to mobile computingApplying event driven architecture to mobile computing
Applying event driven architecture to mobile computingMehdi Rizvandi
 
طرح رایانش ابری در صنعت برق خراسان
طرح رایانش ابری در صنعت برق خراسانطرح رایانش ابری در صنعت برق خراسان
طرح رایانش ابری در صنعت برق خراسانعباس بني اسدي مقدم
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار عباس بني اسدي مقدم
 
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...amri k
 
Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)Morteza Javan
 
Cloud Computing and Cloud Services
Cloud Computing and Cloud ServicesCloud Computing and Cloud Services
Cloud Computing and Cloud ServicesSaeid Bostandoust
 
رایانش ابری
رایانش ابریرایانش ابری
رایانش ابریShiraz LUG
 
اهمیت و ویژگی های Web Platform در حال و آینده
اهمیت و ویژگی های Web Platform در حال و آیندهاهمیت و ویژگی های Web Platform در حال و آینده
اهمیت و ویژگی های Web Platform در حال و آیندهWeb Standards School
 
cloud-based authoring tools
cloud-based authoring toolscloud-based authoring tools
cloud-based authoring toolsdadyjoon71
 
Content management system
Content management systemContent management system
Content management systemnasimtalebi1984
 
Semantic ui - web front-end framework
Semantic ui - web front-end frameworkSemantic ui - web front-end framework
Semantic ui - web front-end frameworkOmid Khosrojerdi
 

Similar to Microservices.pdf (20)

Applying event driven architecture to mobile computing
Applying event driven architecture to mobile computingApplying event driven architecture to mobile computing
Applying event driven architecture to mobile computing
 
cloud services for libraries
cloud services for librariescloud services for libraries
cloud services for libraries
 
طرح رایانش ابری در صنعت برق خراسان
طرح رایانش ابری در صنعت برق خراسانطرح رایانش ابری در صنعت برق خراسان
طرح رایانش ابری در صنعت برق خراسان
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
 
RayBPMS (Rayvarz Business Process Management System)
RayBPMS (Rayvarz Business Process Management System)RayBPMS (Rayvarz Business Process Management System)
RayBPMS (Rayvarz Business Process Management System)
 
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...
بررسی قابلیت ها و کاربردهای نرم افزارها و افزونه های مدل سازی اطلاعات ساختمان...
 
shabake-sdn.pptx
shabake-sdn.pptxshabake-sdn.pptx
shabake-sdn.pptx
 
Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)Javan Cloud Security 950526 (oCCc63)
Javan Cloud Security 950526 (oCCc63)
 
Software architecture002
Software architecture002Software architecture002
Software architecture002
 
Cloud Computing and Cloud Services
Cloud Computing and Cloud ServicesCloud Computing and Cloud Services
Cloud Computing and Cloud Services
 
رایانش ابری
رایانش ابریرایانش ابری
رایانش ابری
 
ESB
ESBESB
ESB
 
About Expert Cms
About Expert CmsAbout Expert Cms
About Expert Cms
 
HotSpot
HotSpotHotSpot
HotSpot
 
اهمیت و ویژگی های Web Platform در حال و آینده
اهمیت و ویژگی های Web Platform در حال و آیندهاهمیت و ویژگی های Web Platform در حال و آینده
اهمیت و ویژگی های Web Platform در حال و آینده
 
cloud-based authoring tools
cloud-based authoring toolscloud-based authoring tools
cloud-based authoring tools
 
Cloud ofthings
Cloud ofthingsCloud ofthings
Cloud ofthings
 
Content management system
Content management systemContent management system
Content management system
 
Resume
ResumeResume
Resume
 
Semantic ui - web front-end framework
Semantic ui - web front-end frameworkSemantic ui - web front-end framework
Semantic ui - web front-end framework
 

Microservices.pdf

  • 1. :‫ارائه‬ ‫عنوان‬ ( ‫ها‬ ‫مایکروسرویس‬ Microservices ) :‫دهندگان‬ ‫ارائه‬ ‫رفیع‬ ‫حمید‬ ‫پیرو‬ ‫هادی‬
  • 2. “ ” ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫یک‬ ‫کلی‬ ‫ساختار‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫چگونگی‬ ‫و‬ ‫نحوه‬ ‫به‬ ‫که‬ .‫‌پردازد‬ ‫ی‬‫م‬ ‫پروژه‬ ‫یک‬ :‫‌افزار‬ ‫م‬‫نر‬ ‫معماری‬
  • 3. :‫‌افزار‬ ‫م‬‫نر‬ ‫معماری‬ ‫در‬ ‫ها‬ ‫گیری‬ ‫تصمیم‬ ‫از‬ ‫برخی‬ ● ‫نیاز‬ ‫مورد‬ ‫ابزارهای‬ ‫و‬ ‫ها‬ ‫تکنولوژی‬ ● ‫هاستینگ‬ ‫و‬ ‫سرور‬ ‫های‬ ‫نیازمندی‬ ‫و‬ ‫زیرساخت‬ ● )‫مایکروسرویس‬ ‫یا‬ ‫(مونولیتیک‬ ‫سیستم‬ ‫طراحی‬ ‫نوع‬
  • 4. “ ” ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫طراحی‬ ‫سنتی‬ ‫مدل‬ ‫برنامه‬ ‫‌های‬ ‫ت‬‫قسم‬ ‫تمام‬ ‫آن‬ ‫در‬ ‫که‬ .‫هستند‬ ‫وابسته‬ ‫یکدیگر‬ ‫به‬ ‫مونولیتیک‬ ‫معماری‬ ( Monolithic ‫چیست؟‬ ‫یکپارچه‬ ‫یا‬ )
  • 5. ،‫است‬ ‫شده‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ‫مونولیتیک‬ ‫معماری‬ ‫با‬ ‫که‬ ‫وب‬ ‫تحت‬ ‫اپلیکیشن‬ ‫یک‬ ‫در‬ ‫اختالل‬ ‫با‬ ‫‌ها‬ ‫ت‬‫قسم‬ ‫سایر‬ ‫کارکرد‬ ،‫ها‬ ‫رسانی‬ ‫روز‬ ‫به‬ ‫یا‬ ‫مشکالت‬ ‫بروز‬ ‫صورت‬ ‫در‬ .‫‌گذارند‬ ‫ی‬‫م‬ ‫تأثیر‬ ‫یکدیگر‬ ‫روی‬ ‫‌ها‬ ‫ش‬‫بخ‬ ‫همه‬ ‫بنابراین‬ ،‫شد‬ ‫خواهد‬ ‫مواجه‬
  • 6. Monolithic ‫کند؟‬ ‫می‬ ‫کار‬ ‫چگونه‬ ‫معماری‬ ‫این‬ ‫در‬ ۳ ‫که‬ ‫داریم‬ ‫الیه‬ MVC :‫شود‬ ‫می‬ ‫نامیده‬ Model : .‫‌کند‬ ‫ی‬‫م‬ ‫برقرار‬ ‫ارتباط‬ ‫داده‬ ‫پایگاه‬ ‫با‬ View : .‫‌دهد‬ ‫ی‬‫م‬ ‫نمایش‬ ‫کاربری‬ ‫رابط‬ ‫در‬ ‫را‬ ‫نهایی‬ ‫خروجی‬ Controller : .‫دارد‬ ‫عهده‬ ‫به‬ ‫را‬ ‫اپلیکیشن‬ ‫های‬ ‫پردازش‬ ‫وظیفه‬ ‫و‬ ‫محاسبات‬ ‫انجام‬
  • 7. ● .‫‌فرستد‬ ‫ی‬‫م‬ ‫سرور‬ ‫به‬ ‫درخواست‬ ‫یک‬ ‫کاربر‬ ● ‫به‬ ‫درخواست‬ ‫این‬ ‫مسیریابی‬ ‫طریق‬ ‫از‬ Controller .‫‌شود‬ ‫ی‬‫م‬ ‫ارسال‬ ● Controller ‫برای‬ ‫و‬ ‫کرده‬ ‫دریافت‬ ‫را‬ ‫درخواست‬ Model .‫‌کند‬ ‫ی‬‫م‬ ‫ارسال‬ ● Model .‫‌کند‬ ‫ی‬‫م‬ ‫دریافت‬ ‫داده‬ ‫پایگاه‬ ‫از‬ ‫را‬ ‫نیاز‬ ‫مورد‬ ‫اطالعات‬ ● Model ‫برای‬ ‫را‬ ‫شده‬ ‫دریافت‬ ‫اطالعات‬ Controller .‫‌فرستد‬ ‫ی‬‫م‬ ● Controller ‫به‬ ‫را‬ ‫‌ها‬ ‫ه‬‫داد‬ View .‫‌کند‬ ‫ی‬‫م‬ ‫منتقل‬ ● View ‫روی‬ ‫را‬ ‫نهایی‬ ‫اطالعات‬ .‫‌دهد‬ ‫ی‬‫م‬ ‫نمایش‬ ‫مرورگر‬ ‫صفحه‬
  • 8. ‫معماری‬ ‫‌های‬ ‫ت‬‫محدودی‬ ‫از‬ ‫برخی‬ Monolithic : ● ‫کسی‬ ‫اگر‬ ‫بنابراین‬ ‫دارد‬ ‫وجود‬ ‫منبع‬ ‫کد‬ ‫یک‬ ‫فقط‬ ‫معماری‬ ‫این‬ ‫در‬ ‫دریافت‬ ‫را‬ ‫پروژه‬ ‫کل‬ ‫باید‬ ‫کند‬ ‫کار‬ ‫خاص‬ ‫قسمت‬ ‫یک‬ ‫روی‬ ‫بر‬ ‫بخواهد‬ .‫کند‬ ● ،‫ها‬ ‫زبان‬ ‫از‬ ‫استفاده‬ ‫امکان‬ ‫و‬ ‫دارد‬ ‫کمی‬ ‫پذیری‬ ‫انعطاف‬ ‫پروژه‬ ‫های‬ ‫دیتابیس‬ ‫و‬ ‫ها‬ ‫ورک‬ ‫فریم‬ .‫ندارد‬ ‫وجود‬ ‫دیگر‬
  • 9. ‫معماری‬ ،‫مونولیتیک‬ ‫کارایی‬ ‫معموال‬ ‫یک‬ ‫در‬ ‫کافی‬ ‫بزرگ‬ ‫پروژه‬ .‫ندارد‬ ‫را‬ Ecommerce Database Design Example
  • 10. “ ” ‫آن‬ ‫در‬ ‫که‬ ‫است‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫معماری‬ ‫نوعی‬ ‫کوچک‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫به‬ ‫پیچیده‬ ‫‌های‬ ‫ه‬‫برنام‬ .‫‌شوند‬ ‫ی‬‫م‬ ‫تقسیم‬ ‫مستقل‬ ‫و‬ ‫چیست؟‬ ‫مایکروسرویس‬
  • 11. ● ‫از‬ ‫مستقل‬ ‫و‬ ‫کوچک‬ ‫‌های‬ ‫ش‬‫بخ‬ ‫به‬ ‫را‬ ‫‌افزار‬ ‫م‬‫نر‬ ،‫ها‬ ‫مایکروسرویس‬ .‫‌کنند‬ ‫ی‬‫م‬ ‫تبدیل‬ ‫یکدیگر‬ ● .‫‌شوند‬ ‫ی‬‫م‬ ‫اجرا‬ ‫دیگر‬ ‫های‬ ‫سرویس‬ ‫بر‬ ‫تأثیر‬ ‫بدون‬ ‫ها‬ ‫سرویس‬ ● .‫بود‬ ‫خواهد‬ ‫‌تر‬ ‫ه‬‫ساد‬ ‫‌ها‬ ‫ت‬‫قسم‬ ‫از‬ ‫یک‬ ‫هر‬ ‫کدهای‬ ‫داری‬ ‫نگه‬
  • 13. ‫مستقل‬ ‫صورت‬ ‫به‬ ‫توسعه‬ ‫های‬ ‫تیم‬ ،‫مایکروسرویس‬ ‫معماری‬ ‫در‬ ‫از‬ ‫یک‬ ‫هر‬ ‫وظایف‬ ‫و‬ ‫‌کنند‬ ‫ی‬‫م‬ ‫کار‬ ‫مشخص‬ ‫قسمت‬ ‫یک‬ ‫روی‬ ‫بر‬ .‫است‬ ‫مجزا‬ ‫سایرین‬ ‫هااز‬ ‫تیم‬
  • 15. ‫نرم‬ ‫پایداری‬ ‫رفتن‬ ‫باال‬ ‫ها‬ ‫اپلیکیشن‬ ‫توسعه‬ ‫و‬ ‫داری‬ ‫نگه‬ ‫ها‬ ‫برنامه‬ ‫کد‬ ‫‌تر‬ ‫ه‬‫ساد‬ ‫‌تر‬ ‫ع‬‫سری‬ ‫انتشار‬ ‫و‬ ‫استقرار‬ ‫ها‬ ‫افزار‬ ‫نرم‬ ‫امکان‬ ‫و‬ ‫پذیری‬ ‫انعطاف‬ ‫فریم‬ ‫و‬ ‫‌ها‬ ‫ن‬‫زبا‬ ‫از‬ ‫استفاده‬ ‫مختلف‬ ‫های‬ ‫ورک‬ ‫فرآیند‬ ‫تر‬ ‫ساده‬ ‫مدیریت‬ ‫های‬ ‫تیم‬ ‫وجود‬ ‫دلیل‬ ‫به‬ ‫چابکی‬ ‫کوچکتر‬ ‫و‬ ‫ها‬ ‫سرویس‬ ‫بودن‬ ‫مستقل‬ ‫بر‬ ‫ها‬ ‫تیم‬ ‫از‬ ‫یک‬ ‫هر‬ ‫تمرکز‬ ‫مشخص‬ ‫قسمت‬ ‫یک‬ ‫روی‬ :‫ها‬ ‫مایکروسرویس‬ ‫مزایای‬ :‫ها‬ ‫مایکروسرویس‬ ‫مزایای‬
  • 16. ‫و‬ ‫نظارت‬ ‫شدن‬ ‫تر‬ ‫پیچیدگی‬ ‫سرورها‬ ‫مانیتورینگ‬ ‫مستندات‬ ‫شدن‬ ‫تر‬ ‫دشوار‬ ‫بودن‬ ‫مستقل‬ ‫دلیل‬ ‫به‬ ‫سازی‬ ‫سرویس‬ ‫هر‬ ‫به‬ ‫یکسان‬ ‫استاندارد‬ ‫نبود‬ ‫ها‬ ‫پلتفرم‬ ‫تنوع‬ ‫دلیل‬ ‫‌های‬ ‫ه‬‫هزین‬ ‫افزایش‬ ‫افزاری‬ ‫سخت‬ ‫و‬ ‫زیرساختی‬ ‫ها‬ ‫درخواست‬ ‫تعداد‬ ‫رفتن‬ ‫باال‬ ‫از‬ ‫ها‬ ‫سرویس‬ ‫ارتباط‬ ‫دلیل‬ ‫به‬ ‫طریق‬ API ‫دلیل‬ ‫به‬ ‫‌تر‬ ‫ه‬‫پیچید‬ ‫معماری‬ ‫فراوان‬ ‫های‬ ‫سرویس‬ ‫وجود‬ :‫ها‬ ‫مایکروسرویس‬ ‫معایب‬
  • 17. 1 1 2 2 3 3 4 4 ‫هدفمند‬ ‫طرح‬ ‫یک‬ ‫‌سازی‬ ‫ه‬‫پیاد‬ ،‫ها‬ ‫چالش‬ ‫گرفتن‬ ‫نظر‬ ‫در‬ ‫با‬ ‫زمانی‬ ‫برنامه‬ ‫و‬ ‫ها‬ ‫تکنولوژی‬ ‫با‬ ‫ابری‬ ‫خدمات‬ ‫بهترین‬ ‫یافتن‬ ‫برنامه‬ ‫وابستگی‬ ‫حذف‬ ‫به‬ ‫توجه‬ ‫خاص‬ ‫‌افزار‬ ‫م‬‫نر‬ ‫و‬ ‫‌افزار‬ ‫ت‬‫سخ‬ ‫به‬ ‫فرآیندهای‬ ‫از‬ ‫استفاده‬ DevOps ‫ابزارهای‬ ‫و‬ ‫و‬ ‫سازی‬ ‫یکپارچه‬ ‫پیوسته‬ ‫استقرار‬ ( CI/CD ) ‫ابزارهای‬ ‫از‬ ‫استفاده‬ ‫ترافیک‬ ‫و‬ ‫امنیت‬ ‫بر‬ ‫نظارت‬ ‫ها‬ ‫مایکروسرویس‬ :‫مایکروسرویس‬ ‫به‬ ‫مونولیتیک‬ ‫معماری‬ ‫تغییر‬
  • 18. :‫ها‬ ‫تکنولوژی‬ ‫و‬ ‫‌افزارها‬ ‫م‬‫نر‬
  • 19. GoFr Gin :‫مایکروسرویس‬ ‫با‬ ‫مرتبط‬ ‫های‬ ‫تکنولوژی‬ ‫و‬ ‫ها‬ ‫ورک‬ ‫فریم‬ ‫‌ترین‬ ‫ب‬‫محبو‬