SlideShare a Scribd company logo
1 of 44
Download to read offline
‫بر‬ ‫اي‬‫مقدمه‬
‫مايكروسرويس‬ ‫معماري‬
‫كامپيوتر‬ ‫مهندسي‬ ‫دانشكده‬
‫مهدي‬‫لشكري‬
LASHKARI.MA@GMAIL.COM
‫تكه‬‫يك‬ ‫معماري‬
)Monolith Architecture(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تكه‬‫يك‬ ‫معماري‬
•‫ت‬ ‫آن‬ ‫در‬ ‫كه‬ ‫شود‬‫مي‬ ‫گفته‬ ‫اي‬‫ﻻيه‬ ‫تك‬ ‫معماري‬ ‫يك‬ ‫به‬ ‫تكه‬‫يك‬ ‫معماري‬‫مامي‬
‫واحد‬ ‫برنامه‬ ‫يك‬ ‫در‬ ‫داده‬ ‫پايگاه‬ ‫به‬ ‫دسترسي‬ ‫تا‬ ‫كاربري‬ ‫واسط‬ ‫از‬ ‫اجزا‬
‫شود‬‫مي‬ ‫اجرا‬ ‫و‬ ‫شده‬ ‫گنجانده‬.
•‫ها‬‫ويژگي‬
•‫كد‬ ‫پايگاه‬ ‫يك‬Code Base)(‫ماژول‬ ‫چندين‬ ‫با‬
•‫توسعه‬ ‫بستر‬ ‫يك‬)‫و‬ ‫نويسي‬ ‫برنامه‬ ‫زبان‬ ،‫عامل‬ ‫سيستم‬(....
•‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬)‫شود‬‫مي‬ ‫كامپايل‬ ‫برنامه‬ ‫يك‬ ‫فقط‬(
•‫است‬ ‫محدوديت‬ ‫بدون‬ ‫و‬ ‫دلخواه‬ ‫ها‬‫ماژول‬ ‫بين‬ ‫ارتباطات‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫آن‬ ‫توليد‬ ‫تا‬ ‫كد‬ ‫كاميت‬ ‫از‬ ‫طوﻻني‬ ‫مسير‬
‫بزرگ‬ ‫كد‬ ‫پايگاه‬
‫كه‬ ‫بزرگ‬ ‫تكه‬ ‫يك‬ ‫سيستم‬
‫است‬ ‫نگهداري‬ ‫قابل‬ ‫سخت‬‫بزرگ‬ ‫توسعه‬ ‫هاي‬ ‫تيم‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(...
•‫مزايا‬:
•‫توسعه‬ ‫بستر‬ ‫يك‬ ‫وجود‬ ‫دليل‬ ‫به‬ ‫ساده‬ ‫توسعه‬ ‫شروع‬
•‫ساده‬ ‫آزمون‬)Testable:(‫ساده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫هاي‬‫آزمون‬
•‫باﻻ‬ ‫كارايي‬)Interprocess Call(
•‫طوﻻني‬ ‫تاريخچه‬ ‫دليل‬ ‫به‬ ‫شده‬ ‫شناخته‬ ‫هاي‬‫ويژگي‬
•‫ساده‬ ‫افقي‬ ‫پذيري‬ ‫مقياس‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(...
‫ها‬‫درخواست‬ ‫مسيريابي‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(...
•‫معايب‬:
•‫كند‬ ‫توسعه‬ ‫چرخه‬)‫ي‬ ‫استقرار‬ ‫و‬ ‫كامپايل‬ ‫بايد‬ ‫بروزرساني‬ ‫هر‬ ‫با‬ ‫برنامه‬ ‫كل‬‫ابد‬(
•‫پائين‬ ‫پذيري‬ ‫اتكا‬)‫بينداز‬ ‫كار‬ ‫از‬ ‫را‬ ‫سيستم‬ ‫كل‬ ‫تواند‬‫مي‬ ‫ماژول‬ ‫هر‬ ‫در‬ ‫خطا‬‫د‬(
•‫است‬ ‫مشكل‬ ‫بسيار‬ ‫آن‬ ‫بستر‬ ‫و‬ ‫زيرساخت‬ ‫تغيير‬
•‫بزرگ‬ ‫تيم‬
•Bottleneck‫داده‬ ‫قسمت‬ ‫در‬
‫اي‬‫ﻻيه‬ ‫معماري‬
)Layered Architecture(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫اي‬‫ﻻيه‬ ‫معماري‬
•‫شكسته‬ ‫ﻻيه‬ ‫چند‬ ‫به‬ ‫برنامه‬ ‫معماري‬ ‫اين‬ ‫در‬
‫ها‬‫آن‬ ‫بين‬ ‫ارتباطات‬ ‫و‬ ‫ها‬‫ﻻيه‬ ‫كه‬ ‫شود‬‫مي‬
‫جمله‬ ‫از‬ ‫دارند‬ ‫خاصي‬ ‫هاي‬‫ويژگي‬:
•‫فني‬ ‫بعد‬ ‫از‬ ‫ها‬‫ﻻيه‬ ‫شكست‬)Technical(‫شود‬‫مي‬ ‫انجام‬
•‫گيرد‬‫مي‬ ‫سرويس‬ ‫خود‬ ‫تر‬ ‫پائين‬ ‫ﻻيه‬ ‫از‬ ‫فقط‬ ‫ﻻيه‬ ‫هر‬
•‫دهد‬‫مي‬ ‫سرويس‬ ‫خود‬ ‫باﻻتر‬ ‫ﻻيه‬ ‫به‬ ‫فقط‬ ‫ﻻيه‬ ‫هر‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(...
•‫ها‬‫ويژگي‬:
•‫دارد‬ ‫وجود‬ ‫كد‬ ‫پايگاه‬ ‫يك‬
•‫كند‬‫مي‬ ‫كار‬ ‫ﻻيه‬ ‫يك‬ ‫روي‬ ‫تيم‬ ‫هر‬
•‫باشد‬ ‫داشته‬ ‫تواند‬‫مي‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬
•‫است‬ ‫بزرگ‬ ‫ﻻيه‬ ‫هر‬ ‫اندازه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(...
•‫مزايا‬:
•‫توسعه‬ ‫بستر‬ ‫يك‬ ‫وجود‬ ‫دليل‬ ‫به‬ ‫ساده‬ ‫توسعه‬ ‫شروع‬
•‫ساده‬ ‫آزمون‬)Testable:(‫ساده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫هاي‬‫آزمون‬
•‫متوسط‬ ‫پذيري‬ ‫اصﻼح‬:‫داد‬ ‫انجام‬ ‫جايگزيني‬ ‫توان‬‫مي‬ ‫ها‬‫ﻻيه‬ ‫سطح‬ ‫در‬
•‫طوﻻني‬ ‫تاريخچه‬ ‫دليل‬ ‫به‬ ‫شده‬ ‫شناخته‬ ‫هاي‬‫ويژگي‬
•‫كه‬ ‫جايي‬ ‫تا‬ ‫ساده‬ ‫افقي‬ ‫پذيري‬ ‫مقياس‬Bottleneck‫ندهد‬ ‫رخ‬ ‫داده‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(...
•‫معايب‬:
•‫كند‬ ‫توسعه‬ ‫چرخه‬)‫يابد‬ ‫استقرار‬ ‫و‬ ‫كامپايل‬ ‫بايد‬ ‫بروزرساني‬ ‫هر‬ ‫با‬ ‫برنامه‬ ‫كل‬(
•‫پائين‬ ‫پذيري‬ ‫اتكا‬)‫بيندازد‬ ‫كار‬ ‫از‬ ‫را‬ ‫سيستم‬ ‫كل‬ ‫تواند‬‫مي‬ ‫ماژول‬ ‫هر‬ ‫در‬ ‫خطا‬(
•‫است‬ ‫مشكل‬ ‫بسيار‬ ‫آن‬ ‫بستر‬ ‫و‬ ‫زيرساخت‬ ‫تغيير‬
•‫شود‬‫مي‬ ‫تبديل‬ ‫تكه‬‫يك‬ ‫به‬ ‫زمان‬ ‫مرور‬ ‫به‬)‫خالي‬ ‫هاي‬‫ﻻيه‬ ‫ايجاد‬(
•‫است‬ ‫سخت‬ ‫جديد‬ ‫ويژگي‬ ‫كردن‬ ‫اضافه‬)‫شود‬ ‫ديده‬ ‫بايد‬ ‫ها‬‫ﻻيه‬ ‫تمام‬ ‫در‬(
•‫پائين‬ ‫كارايي‬
•‫ندارند‬ ‫كار‬ ‫و‬ ‫كسب‬ ‫كﻼن‬ ‫به‬ ‫نسبت‬ ‫ديدي‬ ‫ها‬ ‫تيم‬
‫گرا‬ ‫سرويس‬ ‫معماري‬
)SOA Architecture(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬
•‫برنامه‬ ‫هاي‬‫مولفه‬ ‫آن‬ ‫در‬ ‫كه‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫معماري‬ ‫الگوي‬ ‫يك‬)‫ها‬‫سرويس‬(‫پروتك‬ ‫بوسيله‬ ‫را‬ ‫خدماتي‬ ،‫هاي‬‫ل‬
‫گذارند‬‫مي‬ ‫اشتراك‬ ‫به‬ ‫اي‬‫شده‬ ‫تعريف‬ ‫پيش‬ ‫از‬.
•‫كار‬ ‫و‬ ‫كسب‬ ‫خدمات‬ ‫سطح‬ ‫در‬ ‫و‬ ‫دانه‬ ‫درشت‬ ‫صورت‬ ‫به‬ ‫ها‬‫سرويس‬)Business Service(‫شوند‬‫مي‬ ‫تعريف‬.
•‫شود‬‫مي‬ ‫انجام‬ ‫افقي‬ ‫صورت‬ ‫به‬ ‫سيستم‬ ‫شكست‬)‫شود‬‫مي‬ ‫انجام‬ ‫سازمان‬ ‫يك‬ ‫در‬ ‫كه‬ ‫خدماتي‬ ‫اساس‬ ‫بر‬(
•‫هستند‬ ‫سازماني‬ ‫اسناد‬ ‫معموﻻ‬ ‫شوند‬‫مي‬ ‫بدل‬ ‫و‬ ‫رد‬ ‫كه‬ ‫اطﻼعاتي‬!!!
•‫مثل‬ ‫استاندارد‬ ‫زبان‬ ‫يك‬ ‫توسط‬ ‫ها‬‫سرويس‬BPMN‫شوند‬‫مي‬ ‫تعريف‬.
•‫هستند‬ ‫كم‬ ‫خيلي‬ ‫ها‬‫سرويس‬ ‫نوع‬ ‫اين‬ ‫تعداد‬.
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬ ‫ويژگي‬
•‫دارد‬ ‫وجود‬ ‫كد‬ ‫پايگاه‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬
•‫دارد‬ ‫وجود‬ ‫تيم‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬
•‫باشد‬ ‫داشته‬ ‫وجود‬ ‫تواند‬‫مي‬ ‫توسعه‬ ‫بستر‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬
•‫دارد‬ ‫وجود‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬
•‫است‬ ‫بزرگ‬ ‫ها‬ ‫سرويس‬ ‫اندازه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬
•SOA‫كا‬ ‫چارچوب‬ ‫فقط‬ ‫و‬ ‫كند‬‫نمي‬ ‫تعريف‬ ‫را‬ ‫سازي‬ ‫پياده‬ ‫تكنولوژي‬‫را‬ ‫ر‬
‫كند‬‫مي‬ ‫مشخص‬.
•‫انج‬ ‫مختلف‬ ‫هاي‬‫تكنولوژي‬ ‫با‬ ‫توان‬‫مي‬ ‫را‬ ‫گرايي‬ ‫سرويس‬ ‫سازي‬ ‫پياده‬‫داد‬ ‫ام‬
•‫فايل‬ ‫مبناي‬ ‫بر‬
•‫مبناي‬ ‫بر‬RPC
•‫سرويس‬ ‫وب‬ ‫برمبناي‬)‫بهترين‬(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬
•ESB‫تكنولوژ‬ ‫تمامي‬ ‫از‬ ‫پشتيباني‬ ‫قابليت‬ ‫كه‬ ‫هستند‬ ‫ابزاري‬ ‫ها‬‫از‬ ‫ها‬ ‫ي‬
، ‫فايل‬ ‫قبيل‬RPC‫دارند‬ ‫را‬ ‫سرويس‬ ‫وب‬ ‫و‬.
•ESB‫مسيري‬ ،‫پروتكل‬ ‫تبديل‬ ‫جمله‬ ‫از‬ ‫دارند‬ ‫فراواني‬ ‫هاي‬‫قابليت‬ ‫ها‬،‫ابي‬
‫الگوهاي‬ ‫و‬ ‫بندي‬ ‫صف‬publisher subscriber‫و‬...
•‫مايكروسرويس‬ ‫به‬ ‫گرايي‬‫سرويس‬ ‫از‬ ‫حركت‬ ‫باعث‬ ‫ها‬‫قابليت‬ ‫همين‬
‫گرديد‬!!!
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(...
•‫مزايا‬:
•‫بهتر‬ ‫پذيري‬ ‫اصﻼح‬)‫اند‬ ‫شده‬ ‫شكسته‬ ‫كوچكتر‬ ‫هاي‬‫بخش‬ ‫به‬ ‫كدها‬(
•‫باﻻتر‬ ‫اتكاپذيري‬
•‫تر‬ ‫ساده‬ ‫زيرساخت‬ ‫تغيير‬
•‫بهتر‬ ‫پذيري‬ ‫مقياس‬
•...
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(...
•‫معايب‬:
•‫پيچيده‬ ‫توسعه‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬ ‫ماهيت‬(
•‫پيچيده‬ ‫آزمون‬)‫آزمون‬ ‫به‬ ‫ارتباطي‬ ‫مباحث‬ ‫ورود‬(
•‫پائين‬ ‫كارايي‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬(
•‫زمان‬ ‫مرور‬ ‫به‬ESB‫شود‬‫مي‬ ‫ساز‬ ‫مشكل‬!!
•‫كند‬ ‫توسعه‬ ‫چرخه‬)‫اندازه‬ ‫ولي‬ ‫دارد‬ ‫مستقل‬ ‫توسعه‬ ‫چرخه‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫اگرچه‬
‫هستند‬ ‫بزرگ‬ ‫ها‬‫سرويس‬(
‫مايكروسرويس‬ ‫معماري‬
)Microservice Architecture(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬
•‫معماري‬ ‫هاي‬‫مزيت‬ ‫اعمال‬ ‫مايكروسرويس‬ ‫معماري‬ ‫اصلي‬ ‫هدف‬
‫اس‬ ‫سيستم‬ ‫از‬ ‫تري‬ ‫ريزدانه‬ ‫و‬ ‫تر‬ ‫گسترده‬ ‫سطح‬ ‫در‬ ‫گرا‬ ‫سرويس‬‫ت‬.
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬
•‫بلوغ‬‫مايكرو‬ ‫معماري‬ ‫پيدايش‬ ‫عوامل‬ ‫جديد‬ ‫هاي‬‫نيازمندي‬ ‫ايجاد‬ ‫و‬ ‫مختلف‬ ‫ابعاد‬ ‫در‬ ‫تكنولوژي‬‫سرويس‬
‫بود‬:
•Continuous Delivery
•Continues Integration
•Cloud Computing
•‫متناسب‬ ‫سازي‬ ‫مجازي‬ ‫هاي‬‫سيستم‬ ‫پيدايش‬)Containers(
•‫ارتباطي‬ ‫هاي‬‫كانال‬ ‫سرعت‬ ‫افزايش‬
•‫ارائه‬ ‫به‬ ‫تمايل‬API‫ها‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬
•‫و‬ ‫كوچك‬ ‫سرويسهاي‬ ‫از‬ ‫اي‬‫مجموعه‬
‫خودمختار‬)autonomous(‫كنند‬‫مي‬ ‫كار‬ ‫هم‬ ‫با‬ ‫كه‬.
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬
•‫كوچك؟‬ ‫چقدر‬
•‫باشد؟؟؟‬ ‫هفته‬ ‫دو‬ ‫در‬ ‫توسعه‬ ‫قابل‬
•‫؟؟؟‬ ‫باشد‬ ‫پيتزا‬ ‫تا‬ ‫دو‬ ‫با‬ ‫توسعه‬ ‫قابل‬
•‫كوچك‬ ‫تيم‬ ‫يك‬ ‫بايد‬)٥‫تا‬٩‫نفره‬(‫آن‬ ‫نگهداري‬ ‫و‬ ‫سازي‬‫پياده‬ ‫و‬ ‫طراحي‬ ،‫تحليل‬ ‫توانايي‬
‫باشند‬ ‫داشته‬ ‫را‬.
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬
•‫خودمختار؟؟‬
•‫است‬ ‫ها‬ ‫سرويس‬ ‫ساير‬ ‫از‬ ‫مستقل‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫و‬ ‫طراحي‬ ،‫تحليل‬ ‫قابل‬.
•‫است‬ ‫خودش‬ ‫هاي‬ ‫داده‬ ‫مسئول‬ ‫مايكروسرويس‬ ‫هر‬.
•‫دارند‬ ‫دسترسي‬ ‫ها‬ ‫داده‬ ‫به‬ ‫شده‬ ‫تعريف‬ ‫واسط‬ ‫طريف‬ ‫از‬ ‫ديگران‬.
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬ ‫هاي‬‫مرز‬
•High Cohesion
•Low Coupling
•‫محصول‬ ‫يك‬ ‫عنوان‬ ‫به‬ ‫ارائه‬
•‫يك‬ ‫كامل‬ ‫پوشش‬Bounded Context
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
BOUNDED CONTEXT
•‫يك‬ ‫ابتدا‬ ‫بايد‬ ‫دامنه‬ ‫يك‬ ‫هاي‬‫موجوديت‬ ‫مدلسازي‬ ‫براي‬Ubiquitous Language‫ايجاد‬
‫كرد‬.
•‫ها‬‫موجوديت‬ ‫از‬ ‫بعضي‬ ‫است‬ ‫ممكن‬ ،‫ها‬‫موجوديت‬ ‫تعداد‬ ‫افزايش‬ ‫و‬ ‫دامنه‬ ‫شدن‬ ‫بزرگ‬ ‫با‬
‫باشند‬ ‫برداشته‬ ‫در‬ ‫را‬ ‫مفهوم‬ ‫چندين‬.
•‫يك‬ ‫داراي‬ ‫فقط‬ ‫موجوديت‬ ‫هر‬ ‫دامنه‬ ‫هر‬ ‫در‬ ‫كه‬ ‫شكست‬ ‫دامنه‬ ‫چندين‬ ‫به‬ ‫را‬ ‫دامنه‬ ‫بايد‬
‫باشد‬ ‫مفهوم‬.
•‫يك‬ ‫را‬ ‫دامنه‬ ‫زير‬ ‫هر‬BC‫است‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬ ‫مثال‬
•‫اجتماعي‬ ‫شبكه‬ ‫سيستم‬ ‫يك‬ ‫در‬
•Comment microservice
•Like Microservice
•Sharing Microservice
•Friendship Microservice
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬ ‫در‬ ‫داده‬ ‫مديريت‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬ ‫در‬ ‫داده‬ ‫مديريت‬
•‫دارد‬ ‫را‬ ‫خودش‬ ‫داده‬ ‫پايگاه‬ ‫مايكروسرويس‬ ‫هر‬.
•‫مايكروسرويس‬ ‫توسط‬ ‫كه‬ ‫هايي‬‫واسط‬ ‫طريق‬ ‫از‬ ‫صرفا‬ ‫ها‬‫مايكروسرويس‬ ‫ساير‬
‫باشند‬ ‫داشته‬ ‫دسترسي‬ ‫آن‬ ‫هاي‬‫داده‬ ‫به‬ ‫توانند‬‫مي‬ ‫شده‬ ‫تعريف‬.
•‫شود‬‫مي‬ ‫انجام‬ ‫متمركز‬ ‫غير‬ ‫صورت‬ ‫به‬ ‫ها‬‫تراكنش‬ ‫مديريت‬.
•Saga
•…
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تعامل‬ ‫و‬ ‫سازي‬ ‫يكپارچه‬
•‫نقطه‬ ‫به‬ ‫نقطه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫تعامل‬ ‫و‬ ‫سازي‬ ‫يكپارچه‬
•API Gateway
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫ها‬‫مايكروسرويس‬ ‫استقرار‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫ها‬‫مايكروسرويس‬ ‫استقرار‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫ها‬‫مايكروسرويس‬ ‫استقرار‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫ها‬‫مايكروسرويس‬ ‫استقرار‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬)‫ادامه‬(...
•‫مزايا‬:
•‫سرويس‬ ‫هر‬ ‫براي‬ ‫سريع‬ ‫و‬ ‫ساده‬ ‫توسعه‬ ‫چرخه‬)CD(
•‫بهتر‬ ‫پذيري‬ ‫اصﻼح‬)‫اند‬ ‫شده‬ ‫شكسته‬ ‫كوچكتر‬ ‫هاي‬‫بخش‬ ‫به‬ ‫كدها‬(
•‫باﻻتر‬ ‫اتكاپذيري‬
•‫تر‬ ‫ساده‬ ‫زيرساخت‬ ‫تغيير‬
•‫باﻻ‬ ‫پذيري‬ ‫مقياس‬
•‫سرويس‬ ‫هر‬ ‫براي‬ ‫تر‬ ‫ساده‬ ‫پذيري‬ ‫آزمون‬
•...
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(...
•‫معايب‬:
•‫است‬ ‫مشكل‬ ‫ها‬ ‫سرويس‬ ‫حدود‬ ‫تعيين‬
•‫پيچيده‬ ‫توسعه‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬ ‫و‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫سيستم‬ ‫ماهيت‬(
•‫پيچيده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫آزمون‬)‫آزمون‬ ‫به‬ ‫ارتباطي‬ ‫مباحث‬ ‫ورود‬(
•‫پائين‬ ‫كارايي‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬(
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
‫مايكروسرويس‬ ‫و‬ ‫گرايي‬ ‫سرويس‬ ‫مقايسه‬
‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬

More Related Content

Similar to Microservice pattern

أنظمة إدارة المحتوى
أنظمة إدارة المحتوىأنظمة إدارة المحتوى
أنظمة إدارة المحتوىEhab Saad Ahmad
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقوlunarhalo
 
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنkhalifahezzaldeen502
 
الحوسبه السحابيه
الحوسبه السحابيهالحوسبه السحابيه
الحوسبه السحابيهLavender Rose
 
Cloud Computing workshop
Cloud Computing workshopCloud Computing workshop
Cloud Computing workshopAbbas Badran
 
Arabic Introduction For Firefox OS
Arabic Introduction For Firefox OS Arabic Introduction For Firefox OS
Arabic Introduction For Firefox OS mohamed Hafez
 
الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابيةMamoun Matar
 
دراسة الطرق المثلى لتحسين أداء تطبيقات الوب
دراسة الطرق المثلى لتحسين أداء تطبيقات الوبدراسة الطرق المثلى لتحسين أداء تطبيقات الوب
دراسة الطرق المثلى لتحسين أداء تطبيقات الوبMouhamad Kawas
 
كليات معماري سازماني-قسمت اول
كليات معماري سازماني-قسمت اولكليات معماري سازماني-قسمت اول
كليات معماري سازماني-قسمت اولHamed Ghazanfari
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابيةMamoun Matar
 

Similar to Microservice pattern (20)

أنظمة إدارة المحتوى
أنظمة إدارة المحتوىأنظمة إدارة المحتوى
أنظمة إدارة المحتوى
 
مقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقومقدمة عن بايثون / جانقو
مقدمة عن بايثون / جانقو
 
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عنومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
ومميزاته ESXI عرض تقديمي يتم التحدث فيه عن
 
1
11
1
 
الحوسبه السحابيه
الحوسبه السحابيهالحوسبه السحابيه
الحوسبه السحابيه
 
Cloud Computing workshop
Cloud Computing workshopCloud Computing workshop
Cloud Computing workshop
 
Web2 161214140521
Web2 161214140521Web2 161214140521
Web2 161214140521
 
Web 2
Web 2Web 2
Web 2
 
Arabic Introduction For Firefox OS
Arabic Introduction For Firefox OS Arabic Introduction For Firefox OS
Arabic Introduction For Firefox OS
 
شهادة mcse
شهادة mcseشهادة mcse
شهادة mcse
 
الحوسبةالسحابية
الحوسبةالسحابيةالحوسبةالسحابية
الحوسبةالسحابية
 
The web
The webThe web
The web
 
The web
The webThe web
The web
 
The web
The webThe web
The web
 
The web
The webThe web
The web
 
دراسة الطرق المثلى لتحسين أداء تطبيقات الوب
دراسة الطرق المثلى لتحسين أداء تطبيقات الوبدراسة الطرق المثلى لتحسين أداء تطبيقات الوب
دراسة الطرق المثلى لتحسين أداء تطبيقات الوب
 
كليات معماري سازماني-قسمت اول
كليات معماري سازماني-قسمت اولكليات معماري سازماني-قسمت اول
كليات معماري سازماني-قسمت اول
 
Mcsa (1)
Mcsa (1)Mcsa (1)
Mcsa (1)
 
الحوسبة السحابية
الحوسبة السحابيةالحوسبة السحابية
الحوسبة السحابية
 
The web
The webThe web
The web
 

Microservice pattern

  • 1. ‫بر‬ ‫اي‬‫مقدمه‬ ‫مايكروسرويس‬ ‫معماري‬ ‫كامپيوتر‬ ‫مهندسي‬ ‫دانشكده‬ ‫مهدي‬‫لشكري‬ LASHKARI.MA@GMAIL.COM
  • 3. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تكه‬‫يك‬ ‫معماري‬ •‫ت‬ ‫آن‬ ‫در‬ ‫كه‬ ‫شود‬‫مي‬ ‫گفته‬ ‫اي‬‫ﻻيه‬ ‫تك‬ ‫معماري‬ ‫يك‬ ‫به‬ ‫تكه‬‫يك‬ ‫معماري‬‫مامي‬ ‫واحد‬ ‫برنامه‬ ‫يك‬ ‫در‬ ‫داده‬ ‫پايگاه‬ ‫به‬ ‫دسترسي‬ ‫تا‬ ‫كاربري‬ ‫واسط‬ ‫از‬ ‫اجزا‬ ‫شود‬‫مي‬ ‫اجرا‬ ‫و‬ ‫شده‬ ‫گنجانده‬. •‫ها‬‫ويژگي‬ •‫كد‬ ‫پايگاه‬ ‫يك‬Code Base)(‫ماژول‬ ‫چندين‬ ‫با‬ •‫توسعه‬ ‫بستر‬ ‫يك‬)‫و‬ ‫نويسي‬ ‫برنامه‬ ‫زبان‬ ،‫عامل‬ ‫سيستم‬(.... •‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬)‫شود‬‫مي‬ ‫كامپايل‬ ‫برنامه‬ ‫يك‬ ‫فقط‬( •‫است‬ ‫محدوديت‬ ‫بدون‬ ‫و‬ ‫دلخواه‬ ‫ها‬‫ماژول‬ ‫بين‬ ‫ارتباطات‬
  • 4. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫آن‬ ‫توليد‬ ‫تا‬ ‫كد‬ ‫كاميت‬ ‫از‬ ‫طوﻻني‬ ‫مسير‬ ‫بزرگ‬ ‫كد‬ ‫پايگاه‬ ‫كه‬ ‫بزرگ‬ ‫تكه‬ ‫يك‬ ‫سيستم‬ ‫است‬ ‫نگهداري‬ ‫قابل‬ ‫سخت‬‫بزرگ‬ ‫توسعه‬ ‫هاي‬ ‫تيم‬
  • 5. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(... •‫مزايا‬: •‫توسعه‬ ‫بستر‬ ‫يك‬ ‫وجود‬ ‫دليل‬ ‫به‬ ‫ساده‬ ‫توسعه‬ ‫شروع‬ •‫ساده‬ ‫آزمون‬)Testable:(‫ساده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫هاي‬‫آزمون‬ •‫باﻻ‬ ‫كارايي‬)Interprocess Call( •‫طوﻻني‬ ‫تاريخچه‬ ‫دليل‬ ‫به‬ ‫شده‬ ‫شناخته‬ ‫هاي‬‫ويژگي‬ •‫ساده‬ ‫افقي‬ ‫پذيري‬ ‫مقياس‬
  • 6. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(... ‫ها‬‫درخواست‬ ‫مسيريابي‬
  • 7. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تكه‬‫يك‬ ‫معماري‬)‫ادامه‬(... •‫معايب‬: •‫كند‬ ‫توسعه‬ ‫چرخه‬)‫ي‬ ‫استقرار‬ ‫و‬ ‫كامپايل‬ ‫بايد‬ ‫بروزرساني‬ ‫هر‬ ‫با‬ ‫برنامه‬ ‫كل‬‫ابد‬( •‫پائين‬ ‫پذيري‬ ‫اتكا‬)‫بينداز‬ ‫كار‬ ‫از‬ ‫را‬ ‫سيستم‬ ‫كل‬ ‫تواند‬‫مي‬ ‫ماژول‬ ‫هر‬ ‫در‬ ‫خطا‬‫د‬( •‫است‬ ‫مشكل‬ ‫بسيار‬ ‫آن‬ ‫بستر‬ ‫و‬ ‫زيرساخت‬ ‫تغيير‬ •‫بزرگ‬ ‫تيم‬ •Bottleneck‫داده‬ ‫قسمت‬ ‫در‬
  • 9. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫اي‬‫ﻻيه‬ ‫معماري‬ •‫شكسته‬ ‫ﻻيه‬ ‫چند‬ ‫به‬ ‫برنامه‬ ‫معماري‬ ‫اين‬ ‫در‬ ‫ها‬‫آن‬ ‫بين‬ ‫ارتباطات‬ ‫و‬ ‫ها‬‫ﻻيه‬ ‫كه‬ ‫شود‬‫مي‬ ‫جمله‬ ‫از‬ ‫دارند‬ ‫خاصي‬ ‫هاي‬‫ويژگي‬: •‫فني‬ ‫بعد‬ ‫از‬ ‫ها‬‫ﻻيه‬ ‫شكست‬)Technical(‫شود‬‫مي‬ ‫انجام‬ •‫گيرد‬‫مي‬ ‫سرويس‬ ‫خود‬ ‫تر‬ ‫پائين‬ ‫ﻻيه‬ ‫از‬ ‫فقط‬ ‫ﻻيه‬ ‫هر‬ •‫دهد‬‫مي‬ ‫سرويس‬ ‫خود‬ ‫باﻻتر‬ ‫ﻻيه‬ ‫به‬ ‫فقط‬ ‫ﻻيه‬ ‫هر‬
  • 10. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(... •‫ها‬‫ويژگي‬: •‫دارد‬ ‫وجود‬ ‫كد‬ ‫پايگاه‬ ‫يك‬ •‫كند‬‫مي‬ ‫كار‬ ‫ﻻيه‬ ‫يك‬ ‫روي‬ ‫تيم‬ ‫هر‬ •‫باشد‬ ‫داشته‬ ‫تواند‬‫مي‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬ •‫است‬ ‫بزرگ‬ ‫ﻻيه‬ ‫هر‬ ‫اندازه‬
  • 11. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(... •‫مزايا‬: •‫توسعه‬ ‫بستر‬ ‫يك‬ ‫وجود‬ ‫دليل‬ ‫به‬ ‫ساده‬ ‫توسعه‬ ‫شروع‬ •‫ساده‬ ‫آزمون‬)Testable:(‫ساده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫هاي‬‫آزمون‬ •‫متوسط‬ ‫پذيري‬ ‫اصﻼح‬:‫داد‬ ‫انجام‬ ‫جايگزيني‬ ‫توان‬‫مي‬ ‫ها‬‫ﻻيه‬ ‫سطح‬ ‫در‬ •‫طوﻻني‬ ‫تاريخچه‬ ‫دليل‬ ‫به‬ ‫شده‬ ‫شناخته‬ ‫هاي‬‫ويژگي‬ •‫كه‬ ‫جايي‬ ‫تا‬ ‫ساده‬ ‫افقي‬ ‫پذيري‬ ‫مقياس‬Bottleneck‫ندهد‬ ‫رخ‬ ‫داده‬
  • 12. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫اي‬‫ﻻيه‬ ‫معماري‬)‫ادامه‬(... •‫معايب‬: •‫كند‬ ‫توسعه‬ ‫چرخه‬)‫يابد‬ ‫استقرار‬ ‫و‬ ‫كامپايل‬ ‫بايد‬ ‫بروزرساني‬ ‫هر‬ ‫با‬ ‫برنامه‬ ‫كل‬( •‫پائين‬ ‫پذيري‬ ‫اتكا‬)‫بيندازد‬ ‫كار‬ ‫از‬ ‫را‬ ‫سيستم‬ ‫كل‬ ‫تواند‬‫مي‬ ‫ماژول‬ ‫هر‬ ‫در‬ ‫خطا‬( •‫است‬ ‫مشكل‬ ‫بسيار‬ ‫آن‬ ‫بستر‬ ‫و‬ ‫زيرساخت‬ ‫تغيير‬ •‫شود‬‫مي‬ ‫تبديل‬ ‫تكه‬‫يك‬ ‫به‬ ‫زمان‬ ‫مرور‬ ‫به‬)‫خالي‬ ‫هاي‬‫ﻻيه‬ ‫ايجاد‬( •‫است‬ ‫سخت‬ ‫جديد‬ ‫ويژگي‬ ‫كردن‬ ‫اضافه‬)‫شود‬ ‫ديده‬ ‫بايد‬ ‫ها‬‫ﻻيه‬ ‫تمام‬ ‫در‬( •‫پائين‬ ‫كارايي‬ •‫ندارند‬ ‫كار‬ ‫و‬ ‫كسب‬ ‫كﻼن‬ ‫به‬ ‫نسبت‬ ‫ديدي‬ ‫ها‬ ‫تيم‬
  • 14. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬ •‫برنامه‬ ‫هاي‬‫مولفه‬ ‫آن‬ ‫در‬ ‫كه‬ ‫است‬ ‫افزار‬ ‫نرم‬ ‫معماري‬ ‫الگوي‬ ‫يك‬)‫ها‬‫سرويس‬(‫پروتك‬ ‫بوسيله‬ ‫را‬ ‫خدماتي‬ ،‫هاي‬‫ل‬ ‫گذارند‬‫مي‬ ‫اشتراك‬ ‫به‬ ‫اي‬‫شده‬ ‫تعريف‬ ‫پيش‬ ‫از‬. •‫كار‬ ‫و‬ ‫كسب‬ ‫خدمات‬ ‫سطح‬ ‫در‬ ‫و‬ ‫دانه‬ ‫درشت‬ ‫صورت‬ ‫به‬ ‫ها‬‫سرويس‬)Business Service(‫شوند‬‫مي‬ ‫تعريف‬. •‫شود‬‫مي‬ ‫انجام‬ ‫افقي‬ ‫صورت‬ ‫به‬ ‫سيستم‬ ‫شكست‬)‫شود‬‫مي‬ ‫انجام‬ ‫سازمان‬ ‫يك‬ ‫در‬ ‫كه‬ ‫خدماتي‬ ‫اساس‬ ‫بر‬( •‫هستند‬ ‫سازماني‬ ‫اسناد‬ ‫معموﻻ‬ ‫شوند‬‫مي‬ ‫بدل‬ ‫و‬ ‫رد‬ ‫كه‬ ‫اطﻼعاتي‬!!! •‫مثل‬ ‫استاندارد‬ ‫زبان‬ ‫يك‬ ‫توسط‬ ‫ها‬‫سرويس‬BPMN‫شوند‬‫مي‬ ‫تعريف‬. •‫هستند‬ ‫كم‬ ‫خيلي‬ ‫ها‬‫سرويس‬ ‫نوع‬ ‫اين‬ ‫تعداد‬.
  • 15. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬ ‫ويژگي‬ •‫دارد‬ ‫وجود‬ ‫كد‬ ‫پايگاه‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬ •‫دارد‬ ‫وجود‬ ‫تيم‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬ •‫باشد‬ ‫داشته‬ ‫وجود‬ ‫تواند‬‫مي‬ ‫توسعه‬ ‫بستر‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬ •‫دارد‬ ‫وجود‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫واحد‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫ازاي‬ ‫به‬ •‫است‬ ‫بزرگ‬ ‫ها‬ ‫سرويس‬ ‫اندازه‬
  • 16. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
  • 17. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬ •SOA‫كا‬ ‫چارچوب‬ ‫فقط‬ ‫و‬ ‫كند‬‫نمي‬ ‫تعريف‬ ‫را‬ ‫سازي‬ ‫پياده‬ ‫تكنولوژي‬‫را‬ ‫ر‬ ‫كند‬‫مي‬ ‫مشخص‬. •‫انج‬ ‫مختلف‬ ‫هاي‬‫تكنولوژي‬ ‫با‬ ‫توان‬‫مي‬ ‫را‬ ‫گرايي‬ ‫سرويس‬ ‫سازي‬ ‫پياده‬‫داد‬ ‫ام‬ •‫فايل‬ ‫مبناي‬ ‫بر‬ •‫مبناي‬ ‫بر‬RPC •‫سرويس‬ ‫وب‬ ‫برمبناي‬)‫بهترين‬(
  • 18. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬ •ESB‫تكنولوژ‬ ‫تمامي‬ ‫از‬ ‫پشتيباني‬ ‫قابليت‬ ‫كه‬ ‫هستند‬ ‫ابزاري‬ ‫ها‬‫از‬ ‫ها‬ ‫ي‬ ، ‫فايل‬ ‫قبيل‬RPC‫دارند‬ ‫را‬ ‫سرويس‬ ‫وب‬ ‫و‬. •ESB‫مسيري‬ ،‫پروتكل‬ ‫تبديل‬ ‫جمله‬ ‫از‬ ‫دارند‬ ‫فراواني‬ ‫هاي‬‫قابليت‬ ‫ها‬،‫ابي‬ ‫الگوهاي‬ ‫و‬ ‫بندي‬ ‫صف‬publisher subscriber‫و‬... •‫مايكروسرويس‬ ‫به‬ ‫گرايي‬‫سرويس‬ ‫از‬ ‫حركت‬ ‫باعث‬ ‫ها‬‫قابليت‬ ‫همين‬ ‫گرديد‬!!!
  • 19. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
  • 20. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(... •‫مزايا‬: •‫بهتر‬ ‫پذيري‬ ‫اصﻼح‬)‫اند‬ ‫شده‬ ‫شكسته‬ ‫كوچكتر‬ ‫هاي‬‫بخش‬ ‫به‬ ‫كدها‬( •‫باﻻتر‬ ‫اتكاپذيري‬ •‫تر‬ ‫ساده‬ ‫زيرساخت‬ ‫تغيير‬ •‫بهتر‬ ‫پذيري‬ ‫مقياس‬ •...
  • 21. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
  • 22. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(... •‫معايب‬: •‫پيچيده‬ ‫توسعه‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬ ‫ماهيت‬( •‫پيچيده‬ ‫آزمون‬)‫آزمون‬ ‫به‬ ‫ارتباطي‬ ‫مباحث‬ ‫ورود‬( •‫پائين‬ ‫كارايي‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬( •‫زمان‬ ‫مرور‬ ‫به‬ESB‫شود‬‫مي‬ ‫ساز‬ ‫مشكل‬!! •‫كند‬ ‫توسعه‬ ‫چرخه‬)‫اندازه‬ ‫ولي‬ ‫دارد‬ ‫مستقل‬ ‫توسعه‬ ‫چرخه‬ ‫يك‬ ‫سرويس‬ ‫هر‬ ‫اگرچه‬ ‫هستند‬ ‫بزرگ‬ ‫ها‬‫سرويس‬(
  • 24. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ •‫معماري‬ ‫هاي‬‫مزيت‬ ‫اعمال‬ ‫مايكروسرويس‬ ‫معماري‬ ‫اصلي‬ ‫هدف‬ ‫اس‬ ‫سيستم‬ ‫از‬ ‫تري‬ ‫ريزدانه‬ ‫و‬ ‫تر‬ ‫گسترده‬ ‫سطح‬ ‫در‬ ‫گرا‬ ‫سرويس‬‫ت‬.
  • 25. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ •‫بلوغ‬‫مايكرو‬ ‫معماري‬ ‫پيدايش‬ ‫عوامل‬ ‫جديد‬ ‫هاي‬‫نيازمندي‬ ‫ايجاد‬ ‫و‬ ‫مختلف‬ ‫ابعاد‬ ‫در‬ ‫تكنولوژي‬‫سرويس‬ ‫بود‬: •Continuous Delivery •Continues Integration •Cloud Computing •‫متناسب‬ ‫سازي‬ ‫مجازي‬ ‫هاي‬‫سيستم‬ ‫پيدايش‬)Containers( •‫ارتباطي‬ ‫هاي‬‫كانال‬ ‫سرعت‬ ‫افزايش‬ •‫ارائه‬ ‫به‬ ‫تمايل‬API‫ها‬
  • 26. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ •‫و‬ ‫كوچك‬ ‫سرويسهاي‬ ‫از‬ ‫اي‬‫مجموعه‬ ‫خودمختار‬)autonomous(‫كنند‬‫مي‬ ‫كار‬ ‫هم‬ ‫با‬ ‫كه‬.
  • 27. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ •‫كوچك؟‬ ‫چقدر‬ •‫باشد؟؟؟‬ ‫هفته‬ ‫دو‬ ‫در‬ ‫توسعه‬ ‫قابل‬ •‫؟؟؟‬ ‫باشد‬ ‫پيتزا‬ ‫تا‬ ‫دو‬ ‫با‬ ‫توسعه‬ ‫قابل‬ •‫كوچك‬ ‫تيم‬ ‫يك‬ ‫بايد‬)٥‫تا‬٩‫نفره‬(‫آن‬ ‫نگهداري‬ ‫و‬ ‫سازي‬‫پياده‬ ‫و‬ ‫طراحي‬ ،‫تحليل‬ ‫توانايي‬ ‫باشند‬ ‫داشته‬ ‫را‬.
  • 28. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ •‫خودمختار؟؟‬ •‫است‬ ‫ها‬ ‫سرويس‬ ‫ساير‬ ‫از‬ ‫مستقل‬ ‫استقرار‬ ‫و‬ ‫توسعه‬ ‫و‬ ‫طراحي‬ ،‫تحليل‬ ‫قابل‬. •‫است‬ ‫خودش‬ ‫هاي‬ ‫داده‬ ‫مسئول‬ ‫مايكروسرويس‬ ‫هر‬. •‫دارند‬ ‫دسترسي‬ ‫ها‬ ‫داده‬ ‫به‬ ‫شده‬ ‫تعريف‬ ‫واسط‬ ‫طريف‬ ‫از‬ ‫ديگران‬.
  • 29. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ ‫هاي‬‫مرز‬ •High Cohesion •Low Coupling •‫محصول‬ ‫يك‬ ‫عنوان‬ ‫به‬ ‫ارائه‬ •‫يك‬ ‫كامل‬ ‫پوشش‬Bounded Context
  • 30. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ BOUNDED CONTEXT •‫يك‬ ‫ابتدا‬ ‫بايد‬ ‫دامنه‬ ‫يك‬ ‫هاي‬‫موجوديت‬ ‫مدلسازي‬ ‫براي‬Ubiquitous Language‫ايجاد‬ ‫كرد‬. •‫ها‬‫موجوديت‬ ‫از‬ ‫بعضي‬ ‫است‬ ‫ممكن‬ ،‫ها‬‫موجوديت‬ ‫تعداد‬ ‫افزايش‬ ‫و‬ ‫دامنه‬ ‫شدن‬ ‫بزرگ‬ ‫با‬ ‫باشند‬ ‫برداشته‬ ‫در‬ ‫را‬ ‫مفهوم‬ ‫چندين‬. •‫يك‬ ‫داراي‬ ‫فقط‬ ‫موجوديت‬ ‫هر‬ ‫دامنه‬ ‫هر‬ ‫در‬ ‫كه‬ ‫شكست‬ ‫دامنه‬ ‫چندين‬ ‫به‬ ‫را‬ ‫دامنه‬ ‫بايد‬ ‫باشد‬ ‫مفهوم‬. •‫يك‬ ‫را‬ ‫دامنه‬ ‫زير‬ ‫هر‬BC‫است‬
  • 31. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬
  • 32. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ ‫مثال‬ •‫اجتماعي‬ ‫شبكه‬ ‫سيستم‬ ‫يك‬ ‫در‬ •Comment microservice •Like Microservice •Sharing Microservice •Friendship Microservice
  • 33. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ ‫در‬ ‫داده‬ ‫مديريت‬
  • 34. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ ‫در‬ ‫داده‬ ‫مديريت‬ •‫دارد‬ ‫را‬ ‫خودش‬ ‫داده‬ ‫پايگاه‬ ‫مايكروسرويس‬ ‫هر‬. •‫مايكروسرويس‬ ‫توسط‬ ‫كه‬ ‫هايي‬‫واسط‬ ‫طريق‬ ‫از‬ ‫صرفا‬ ‫ها‬‫مايكروسرويس‬ ‫ساير‬ ‫باشند‬ ‫داشته‬ ‫دسترسي‬ ‫آن‬ ‫هاي‬‫داده‬ ‫به‬ ‫توانند‬‫مي‬ ‫شده‬ ‫تعريف‬. •‫شود‬‫مي‬ ‫انجام‬ ‫متمركز‬ ‫غير‬ ‫صورت‬ ‫به‬ ‫ها‬‫تراكنش‬ ‫مديريت‬. •Saga •…
  • 35. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تعامل‬ ‫و‬ ‫سازي‬ ‫يكپارچه‬ •‫نقطه‬ ‫به‬ ‫نقطه‬
  • 36. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫تعامل‬ ‫و‬ ‫سازي‬ ‫يكپارچه‬ •API Gateway
  • 37. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫ها‬‫مايكروسرويس‬ ‫استقرار‬
  • 38. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫ها‬‫مايكروسرويس‬ ‫استقرار‬
  • 39. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫ها‬‫مايكروسرويس‬ ‫استقرار‬
  • 40. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫ها‬‫مايكروسرويس‬ ‫استقرار‬
  • 41. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬)‫ادامه‬(... •‫مزايا‬: •‫سرويس‬ ‫هر‬ ‫براي‬ ‫سريع‬ ‫و‬ ‫ساده‬ ‫توسعه‬ ‫چرخه‬)CD( •‫بهتر‬ ‫پذيري‬ ‫اصﻼح‬)‫اند‬ ‫شده‬ ‫شكسته‬ ‫كوچكتر‬ ‫هاي‬‫بخش‬ ‫به‬ ‫كدها‬( •‫باﻻتر‬ ‫اتكاپذيري‬ •‫تر‬ ‫ساده‬ ‫زيرساخت‬ ‫تغيير‬ •‫باﻻ‬ ‫پذيري‬ ‫مقياس‬ •‫سرويس‬ ‫هر‬ ‫براي‬ ‫تر‬ ‫ساده‬ ‫پذيري‬ ‫آزمون‬ •...
  • 42. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫گرا‬ ‫سرويس‬ ‫معماري‬)‫ادامه‬(... •‫معايب‬: •‫است‬ ‫مشكل‬ ‫ها‬ ‫سرويس‬ ‫حدود‬ ‫تعيين‬ •‫پيچيده‬ ‫توسعه‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬ ‫و‬ ‫شده‬ ‫توزيع‬ ‫هاي‬ ‫سيستم‬ ‫ماهيت‬( •‫پيچيده‬ ‫انتهاي‬ ‫به‬ ‫انتها‬ ‫آزمون‬)‫آزمون‬ ‫به‬ ‫ارتباطي‬ ‫مباحث‬ ‫ورود‬( •‫پائين‬ ‫كارايي‬)‫اي‬ ‫شبكه‬ ‫ارتباطات‬(
  • 43. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬ ‫مايكروسرويس‬ ‫و‬ ‫گرايي‬ ‫سرويس‬ ‫مقايسه‬
  • 44. ‫لشكري‬ ‫مهدي‬ ‫مايكروسرويس‬ ‫معماري‬ ‫بر‬ ‫اي‬ ‫مقدمه‬