لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش پیاده سازی معماری نرم افزار یک سیستم در مقیاس بزرگ
Implementing Software Architecture of a Large-Scale System
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
رویکرد عملی به راه حل های نرم افزاری معماری سیستم های مقیاس بزرگ با استفاده از روش های مدرن و محصولات منبع باز درک از طریق کد، چالش های معماری توسعه سیستم های در مقیاس بزرگ - مقیاس پذیری، قابلیت اطمینان، استقرار، اجرای کد مشاهده پذیری از ابزارها و فناوری های مختلف مورد استفاده برای ساختن سیستمهای مقیاس بزرگ - Redis، RabbitMQ، Netflix، Fluentd، Elasticsearch، Kubernetes و غیره کدهای قابل دانلود به همراه پیکربندی، اسکریپتها و دستورالعملها برای اجرای یک سیستم کوچک بر روی لپتاپ و در محیط ابری نمایشی عملی از نحوه مقیاسبندی سیستمها و هم در محیط On-Premises و هم در محیط های Cloud عمل می کند. اگر جاوا را نمی دانید، تجربه خوبی با هر زبان برنامه نویسی مدرن دیگری نیز انجام خواهد داد. آشنایی با دستورات بسیار ابتدایی پوسته لینوکس و اسکریپت نویسی مفید خواهد بود. اگر روی لینوکس کار نکرده اید، یک تجربه اسکریپت نویسی خوب در هر پلتفرم دیگری نیز انجام خواهد شد.
بهترین راه برای یادگیری توسعه نرم افزار، نوشتن کد است. بهترین راه برای یادگیری معماری نرم افزار، ساخت و اجرای یک سیستم است. این دقیقاً همان کاری است که شما می خواهید به عنوان بخشی از این دوره انجام دهید!
این دوره بعدی از سری دوره های توسعه دهنده تا معمار است. دوره قبلی "تکنولوژی معماری نرم افزار سیستم های مقیاس بزرگ" بر روی مفاهیم و اصول معماری نرم افزاری متمرکز بود که بر سیستم های مدرن در مقیاس بزرگ حاکم است.
این دوره آموزشی «پیادهسازی عملی معماری نرمافزاری در مقیاس بزرگ» بر پیادهسازی آن نرمافزار و اصول معماری راهحل در یک سیستم ساختگی مقیاس بزرگ (سیستم کوچک یا ساده مینیسیس) با استفاده از فناوریهای منبع باز متمرکز است.
با یک پایه کد قابل دانلود یک سیستم کوچک شروع می شود. ما این سیستم کوچک را به یک پیادهسازی کامل سیستم در مقیاس بزرگ تبدیل میکنیم که همراه با دوره پیش میرویم. هدف ما یادگیری چالشهای معماری معمولی است که هر سیستم در مقیاس بزرگ با آن مواجه است و این چالشها را با استفاده از ابزارها، فناوریها و روشهای مدرن حل کنیم.
شما می توانید با کار کردن بر روی یک سیستم زنده در مورد این چالش ها و راه حل های آنها اطلاعات کسب کنید. برای همین، می توانید یک پایگاه کد سیستم کوچک ارائه شده توسط NewTechWays در Bitbucket یا Github دانلود کنید. برای دانلود، ساخت و اجرای این پایگاه کد می توانید دستورالعمل ها را دنبال کنید. اگرچه دستورالعملها و اتوماسیون کدها برای پلتفرمها آگنوستیک هستند، این دوره از Google Cloud Platform با استفاده از یک ماشین لینوکس به عنوان محیط آزمایشی ما برای ساخت و اجرای سیستم استفاده میکند. بعداً سیستم خود را با استفاده از Kubernetes در Google Cloud Platform در یک محیط تولیدی قرار خواهیم داد.
همانطور که با این دوره پیش می رویم، چالش های معماری زیر را پوشش خواهیم داد و از فناوری های زیر به عنوان راه حل آنها استفاده خواهیم کرد:
برنامه 3 لایه
Webapp – Python Django
سرویس RESTful – Java Spring Boot
پایگاه داده – PostgreSQL Cassandra
SPA - ReactJS
Containerization از سیستم
کانتینرهای Docker
Docker Compose
درخواست مسیریابی در Microservices
کشف – Netflix Eureka
Gateway – Netflix Zuul
بالانسر بار سمت مشتری – روبان
تعادل کننده بار سمت سرور - Nginx
قابلیت مشاهده سیستم
Logging – Elasticsearch، Fluent، Kibana
ردیابی - Jaeger
هشدارهای نظارت - پرومتئوس
مدیریت داده در مقیاس بزرگ
در حال ذخیره - Redis
پردازش ناهمزمان - RabbitMQ
پارتیشن بندی داده افقی - کاساندرا
استقرار تولید
استقرار ابر - Kubernetes در GCP
مقیاسسازی خودکار – Kubernetes
در دسترس بودن بالا - Kubernetes
به روز رسانی های رول - Kubernetes
سرفصل ها و درس ها
بررسی اجمالی دوره
Course Overview
معرفی
Introduction
بررسی اجمالی دوره
Course Overview
راه اندازی محیط کار
Work Environment Setup
محیط کار
Work environment
VM ایستگاه کاری لینوکس را در فضای ابری ایجاد کنید
Create Linux workstation VM on cloud
کد ساخت
Build code
پشتیبان گیری VM ایستگاه کاری
Workstation VM backup
اجزای سیستم - زبان ها و چارچوب ها
System Components - Languages & Frameworks
نمای کلی اجزای سیستم
System components overview
اجرای سیستم بر روی ابر لینوکس VM
Running the system on cloud Linux VM
معماری اپلیکیشن وب و انتخاب فناوری
Web app architecture and technology selection
مروری بر کد برنامه وب Python Django
Python Django web app code overview
معماری خدمات
Services architecture
انتخاب فناوری خدمات
Services technology selection
مروری بر کد خدمات Java SpringBoot
Java SpringBoot services code overview
انتخاب فناوری پایگاه داده
Database technology selection
نمایش نظرات