آموزش معماری میکروسرویس
میکروسرویس یک سبک معماری است که در آن یک برنامه کاربردی به عنوان مجموعهای از سرویسهای کوچک، مستقل و قابل استقرار جداگانه طراحی میشود. هر سرویس: یک قابلیت تجاری مشخص را پیادهسازی میکند دارای پایگاه داده مستقل خود است از طریق API یا پیامرسانی با سایر سرویسها ارتباط برقرار میکند به صورت مستقل توسعه، تست و deploy میشود میتواند با تکنولوژی متفاوتی از سایر سرویسها نوشته شود
میکروسرویس یک سبک معماری است که در آن یک برنامه کاربردی به عنوان مجموعهای از سرویسهای کوچک، مستقل و قابل استقرار جداگانه طراحی میشود. هر سرویس:
- یک قابلیت تجاری مشخص را پیادهسازی میکند
- دارای پایگاه داده مستقل خود است
- از طریق API یا پیامرسانی با سایر سرویسها ارتباط برقرار میکند
- به صورت مستقل توسعه، تست و deploy میشود
- میتواند با تکنولوژی متفاوتی از سایر سرویسها نوشته شود
// chapters سرفصلهای دوره
مقدمه و مفاهیم میکروسرویس
معماری میکروسرویسها (Microservices Architecture) یکی از مهمترین تحولات در طراحی نرمافزارهای مدرن است. در این فصل با مفاهیم پایه آشنا…
اصول طراحی میکروسرویس
طراحی صحیح میکروسرویسها مهمترین عاملی است که موفقیت یا شکست این معماری را تعیین میکند. در این فصل با اصولی…
الگوهای ارتباطی بین سرویسها
یکی از مهمترین تصمیمات در طراحی میکروسرویس، انتخاب نحوه ارتباط بین سرویسهاست. در این فصل با تمام الگوهای ارتباطی آشنا…
API Gateway
API Gateway نقطه ورود مرکزی همه درخواستها به سیستم میکروسرویس است. مثل یک «دربان» تمام ترافیک ورودی را مدیریت و…
Service Discovery
در محیطهای داینامیک، instance های سرویسها مدام scale up/down میشوند، crash میکنند یا restart میشوند. Service Discovery مکانیزمی است که…
پیامرسانی Async پیشرفته
در فصل ۳ مقدمهای از پیامرسانی async دیدیم. در این فصل عمیقتر میرویم: الگوهای پیشرفته، انتخاب RabbitMQ vs Kafka، patterns…
الگوی Saga
یکی از پیچیدهترین چالشهای میکروسرویس، مدیریت تراکنشهایی است که چندین سرویس را شامل میشوند. الگوی Saga راهحل اصلی این مشکل…
Event-Driven Architecture
معماری Event-Driven (EDA) سبکی است که در آن سرویسها از طریق انتشار و گوش دادن به event ها با هم…
پایداری و Resilience
در سیستمهای توزیعشده، failure اجتنابناپذیر است. شبکه قطع میشود، سرویسها crash میکنند، disk پر میشود. سیستم باید برای failure طراحی…
Docker و Containerization
Docker انقلابی در deployment ایجاد کرد. هر میکروسرویس را در یک container ایزوله بستهبندی میکنیم که در هر محیطی یکسان…
Kubernetes پایه
Kubernetes (k8s) استاندارد industry برای orchestration container هاست. توسط Google توسعه داده شد و الان پروژه CNCF است.
Observability
Observability یعنی توانایی فهم وضعیت داخلی سیستم از روی خروجیهایش. در میکروسرویس، به دلیل توزیعشدگی، observability از monitoring فراتر میرود.
امنیت میکروسرویس
امنیت در میکروسرویسها چالشبرانگیزتر از monolith است. ترافیک بین سرویسها بیشتر، attack surface بزرگتر، و trust boundaries پیچیدهتر هستند.
CI/CD برای میکروسرویس
با دهها میکروسرویس، CI/CD ضروری است. Manual deployment غیرقابل مدیریت میشود. در این فصل یاد میگیریم چطور یک pipeline حرفهای…
پروژه عملی پایانی
در این فصل پایانی، همه آموختههای دوره را در یک پروژه عملی بهکار میبریم: یک سیستم e-commerce میکروسرویس کامل از…