ستارگان میکروسرویس


  • مدرس: احسان بابائی
  • مخاطب: برنامه‌نویسان

6,900,000 تومان


برای مشاهده ویدئوهای آموزشی، ابتدا به بخش «دوره‌های ویژه» در حساب کاربری خود رفته و روی گزینه «اطلاعات بیشتر» کنار دوره مورد نظر کلیک کنید. سپس، راهنمای نصب اسپات پلیر را مطالعه نمایید. پس از وارد کردن لایسنس در اسپات پلیر، امکان مشاهده ویدئوها فراهم خواهد شد.

 

آیا تا به حال فکر کرده‌اید که چرا برخی تیم‌های توسعه نرم‌افزار به سرعت پیش می‌روند، در حالی‌که دیگران در چرخه‌های بی‌پایانی از توسعه و نگهداری گیر کرده‌اند؟

راز در معماری میکروسرویس است. بیایید در دوره ستارگان میکروسرویس به دنیایی جدید، پویا و قدرتمند وارد شوید تا به جمع برنامه‌نویسانی پیشرو بپیوندید!

 

 

در دوره ستارگان میکروسرویس، از صفر معماری میکروسرویس را آموزش می‌دهیم. از تصمیم‌گیری اولیه برای انتخاب این معماری گرفته تا طراحی، پیاده‌سازی، تست، امنیت، و نهایتاً نصب و راه‌اندازی. این دوره مجموعه‌ای از بهترین روش‌ها، الگوهای طراحی و ابزارهای پیشرفته را در اختیار شما می‌گذارد. از این طریق، شما نه تنها می‌توانید سرعت توسعه را افزایش دهید، بلکه نرم‌افزاری ایجاد می‌کنید که قابلیت مقیاس‌پذیری، امنیت و پایداری بالایی دارد.

 

 آیا تا به حال با معماری Monolithic مشکلاتی مثل عدم قابلیت مقیاس‌پذیری، تأخیر در زمان‌بندی انتشار، یا حتی کندی در توسعه دچار شده‌اید؟ معماری میکروسرویس به شما قدرت می‌دهد تا این چالش‌ها را برطرف کنید. با این معماری، هر سرویس به صورت مستقل قابل توسعه و تست است، که این امر به تیم‌های توسعه امکان می‌دهد تا بسیار چابک‌تر عمل کنند. همچنین، میکروسرویس‌ها به شما امکان می‌دهند تا با استفاده از تکنولوژی‌های متنوع، سرویس‌ها را به صورت مقیاس‌پذیر انتشار دهید. در نتیجه، اگر به دنبال یک معماری هستید که امکان توسعه سریع، استقرار مستقل، و مقیاس‌پذیری بالا را برای پروژه‌های نرم‌افزاری شما فراهم می‌کند، معماری میکروسرویس جواب شما است.


✅چه کسانی باید در این دوره شرکت کنند؟

اگر یک توسعه‌دهنده، معمار نرم‌افزار، یا حتی یک مدیر پروژه هستید که به دنبال راه‌حل‌های جدید و پویا برای مقابله با چالش‌های توسعه نرم‌افزار و عملکرد پروژه‌ها هستید، این دوره برای شما است. دوره  ستارگان میکروسرویس  به شما کلید‌هایی  می‌دهد تا به راحتی از معماری میکروسرویس استفاده و بهرمند شوید. این دوره به ویژه برای کسانی مناسب است که می‌خواهند:

👈سرعت توسعه پروژه‌ها را افزایش دهند.
👈از مزایای مقیاس‌پذیری و استقرار مستقل بهره‌مند شوند.
👈با تکنولوژی‌ها و ابزارهای جدید و پیشرفته آشنا شوند.
👈روش‌های جدیدی برای مدیریت و نظارت بر سرویس‌ها یاد بگیرند.


پس اگر به دنبال تکامل و ارتقاء مهارت‌های خود در زمینه توسعه نرم‌افزار هستید، این دوره را از دست ندهید.


✅چه چیزهایی یاد خواهید گرفت؟

در دوره ستارگان میکروسرویس ، شما در مورد مهم‌ترین جنبه‌ها و تکنیک‌های معماری میکروسرویس آموزش می‌بینید:

  1.  معرفی معماری میکروسرویس: درک پایه‌ای از معماری و مزایا و معایب آن.
  2.  توسعه پروژه‌های میکروسرویس با .NET: یادگیری نحوه‌ی ایجاد و توسعه میکروسرویس با استفاده از تکنولوژی‌های .NET.
  3.  ارتباط بین سرویس‌ها: یادگیری نحوه ایجاد ارتباطات Asynchronous و Synchronous بین سرویس‌ها.
  4.  تست برای میکروسرویس: روش‌ها و تکنیک‌های تست خودکار در معماری میکروسرویس.
  5.  امنیت در میکروسرویس: استراتژی‌های امنیتی مختص معماری میکروسرویس، شامل OAuth و OpenId Connect.
  6. Deployment  در میکروسرویس: یادگیری استفاده از Docker و Azure DevOps برای استقرار میکروسرویس‌ها.
  7. Monitoring  در میکروسرویس: تکنیک‌ها و ابزارها برای مانیتورینگ سرویس‌ها و حفظ سلامت سیستم.
  8. Scaling  در میکروسرویس: راه‌حل‌هایی برای مدیریت مقیاس‌پذیری در معماری میکروسرویس.
  9. Design Patterns and Best Practices : معرفی الگوهای طراحی و بهترین روش‌های توسعه در معماری میکروسرویس.
  10.  و  مباحث تکمیلی و نکات پیشرفته‌ای که به شما کمک می‌کنند تا به عنوان یک توسعه‌دهنده میکروسرویس ارزشمند باشید.

در پایان این دوره، شما توانمندی‌های لازم برای طراحی، توسعه، و مدیریت میکروسرویس‌ها را بدست می‌آورید.

 


✅مزیت ستارگان میکروسرویس 


👈کامل و جامع: این دوره از مقدماتی تا پیشرفته، تمام جنبه‌های معماری میکروسرویس را پوشش می‌دهد.

👈تمرکز بر .NET: اگر توسعه‌دهنده .NET هستید، این دوره به طور خاص شما را در نظر گرفته است.

👈کاربردی و عملی: پروژه‌های واقعی به شما کمک می‌کنند تا مفاهیم را به طور عملی یاد بگیرید.

👈آموزش امنیت و تست: بسیاری از دوره‌ها به موضوعاتی مثل امنیت و تست توجه کمی می‌کنند. در این دوره، این موضوعات با جزئیات آموزش داده می‌شوند.

👈استفاده از تکنولوژی‌های جدید: از Docker، و Azure DevOps تا ELK Stack و Serilog، و... این دوره از بهترین و جدیدترین تکنولوژی‌ها استفاده می‌کند.

در کل، این دوره یک پکیج کامل و جامع برای هر کسی است که می‌خواهد به عنوان یک توسعه‌دهنده میکروسرویس موفق باشد


در این دوره، فرصتی طلایی برای تبدیل شدن به یک توسعه‌دهنده میکروسرویس حرفه‌ای در انتظار شما است. از این فرصت استفاده کنید و جزء افرادی باشید که در عرصه تکنولوژی پیشرو هستند. ثبت‌نام کنید همین حالا و برای موفقیت خود در دنیای میکروسرویس‌ها گام بزنید

 



نگاهی به دوره ستارگان میکروسرویس
مدرس احسان بابائی
مخاطب برنامه‌نویسان
فصل 10‌
مدت زمان 40:10:54
سطح پیشرفته
وضعیت به اتمام رسیده ✅
تعداد جلسات 173
فرمت فیلم محافظت‌شده (مشاهده آنلاین در پلیر مخصوص)
قابل مشاهده در دو سیستم ویندوز یا اندروید
قیمت 6,900,000 تومان
سرفصل‌های دوره ستارگان میکروسرویس

فصل 1 : ابزارهای مورد نیاز در میکروسرویس

در این فصل از دوره ستارگان میکروسرویس ، به بررسی و معرفی ابزارها و تکنولوژی‌های کلیدی که برای پیاده‌سازی و عملکرد بهینه یک معماری میکروسرویس نیاز دارید، پرداخته می‌شود. از انتخاب زبان برنامه‌نویسی مناسب و کار با API Gateway گرفته تا مدیریت ارتباطات بین سرویس‌ها، استفاده از Message Broker، مدیریت خطا، و ابزارهای کش و هشدار، همه و همه در این فصل معرفی می‌شوند و در فصل های بعدی مورد بررسی بیشتری قرار می‌گیرند. دانش این فصل برای هر برنامه‌نویسی که می‌خواهد به عالم میکروسرویس‌ها وارد شود، حیاتی است.

فصل 2 : مقدمه‌ای بر DDD (Domain-Driven Design)

در عصر میکروسرویس، توانایی تقسیم‌بندی درست و دقیق برنامه‌های مونولیتیک بزرگ به سرویس‌های کوچک و مدیریت‌پذیر از اهمیت بسزایی برخوردار است. در این فصل به شما نکاتی نکاتی آموزش می‌دهیم تا در این مسیر موفق باشید. ما در اینجا از مفهوم Bounded Context استفاده می‌کنیم تا محدوده و مرزبندی هر سرویس را به صورت علمی و دقیق تعیین کنیم. با مشاهده این فصل، شما با مفاهیم کلیدی نظیر ارتباط DDD با میکروسرویس،Strategic Design و Tactical Design، "Domain و Domain Model، Ubiquitous Language و Aggregates آشنا می‌شوید. این مفاهیم به شما کمک می‌کنند تا یک پروژه‌ی عملی را انتخاب کرده و با استفاده از Bounded Context، مرزهای دقیق بین سرویس‌ها را مشخص کنید.

فصل 3 : پياده سازي سرويس ها

پس از مروری بر مفاهیم و اصول DDD در فصل قبل، در این فصل دست به کد می‌زنیم و میکروسرویس را در یک فروشگاه اینترنتی پیاده‌سازی می‌کنیم. این فصل نه تنها شما را با پیاده‌سازی سرویس‌های مختلف مانند "سرویس محصولات"، "سرویس سبد خرید"، "سرویس تخفیف" و "سرویس سفارش" آشنا می‌کند، بلکه تکنولوژی‌های مدرن مثل Rest API و gRPC،را هم یاد می گیرید و شما وارد عصر جدیدی از برنامه‌نویسی می‌شوید. هر یک از این سرویس‌ها به صورت مستقل از یکدیگر و با دیتابیس‌های اختصاصی خود، طراحی و پیاده‌سازی می‌شوند. در این فصل، شما یاد می‌گیرید چگونه یک پروژه‌ی واقعی را با معماری میکروسرویس اجرا کنید، و همچنین یاد میگیرید چگونه با استفاده از Rest API و gRPC، ارتباطات میان سرویس‌ها را برقرار کنید.

فصل 4 : ارتباط بین سرویس ها

در فصل چهارم از دوره ستارگان میکروسرویس، وارد عمق‌های پیچیده ارتباط بین سرویس‌ها می‌شویم. این فصل بیش از هر چیزی، مهارت‌های شما را در یکپارچه‌سازی و ارتباط بین میکروسرویس‌ها به چالش می‌کشد. بعد از این فصل، نه تنها می‌توانید انواع ارتباطات Asynchronous و Synchronous را بین سرویس‌ها ایجاد کنید، بلکه با استفاده از سیستم‌های مبتنی بر پیام مثل RabbitMQ، ارتباطات پیچیده‌تری را نیز مدیریت می‌کنید. این فصل به شما فرصتی بی‌نظیر برای آشنایی با ابزارهای مدرن و قدرتمندی مثل RabbitMQ, Polly، Eureka و Ocelot می‌دهد. این ابزارها به شما کمک می‌کنند تا سیستم‌های مقاوم، قابل مدیریت و بسیار کارآمد بسازید. علاوه بر این، در این فصل یک پروژه فرانت‌اند ایجاد می‌کنیم که امکان استفاده از تمامی این سرویس‌ها را برای کاربر فراهم می‌آورد. پرده از رازهای Eventual Consistency نیز برداشته می‌شود، یک مفهوم کلیدی که تضمین می‌کند تمام سرویس‌ها به یکدیگر مرتبط هستند و به درستی کار می‌کنند. در نهایت، با APIGateway، همه چیز را یکپارچه می‌کنیم تا یک نرم‌افزار کامل و یکپارچه را به کاربران ارائه دهیم. پس اگر می‌خواهید بفهمید چطور میکروسرویس‌ها در یک پروژه واقعی به کار می‌روند و چطور می‌توانند کسب و کار شما را به یک سطح جدید ببرند، این فصل را از دست ندهید.

فصل 5 : تست برای میکروسرویس

تا کنون در این دوره، پروژه‌ی میکروسرویس خود را با دقت بالا پیاده‌سازی کرده‌ایم، اما یک قسمت کلیدی هنوز باقی‌مانده: تست‌های خودکار. تست‌های خودکار در معماری میکروسرویس یکی از مهم‌ترین اصولی است که باید در نظر گرفت. این فصل به شما آموزش می‌دهد که چگونه با چالش‌های ویژه تست در میکروسرویس‌ها مواجه شوید، استراتژی‌های مختلف تست را درک کنید و اقدام به نوشتن تست‌های خودکار برای برنامه‌های نوشته شده با .Net کنید. فصل پنجم از نقطه‌ی آغاز تا انتها، پر از آموزش‌های عملی است. از آشنایی با چالش‌های ویژه تست در میکروسرویس‌ها گرفته تا آموزش کامل نوشتن Unit Test، Component Test و حتی Performance Test، همه چیز را در این فصل خواهید یافت. این فصل نیز به توضیح عملیاتی کردن این تست‌ها در پروژه‌ی واقعی پرداخته و از ابزارهای مدرن مثل Pact و PactNet برای اجرای Contract Tests استفاده می‌کند. بنابراین، اگر می‌خواهید مطمئن شوید که سیستم شما به صورت کامل، مطمئن و با کیفیت عالی عمل می‌کند، این فصل را از دست ندهید. این فصل شما اطمینان می‌دهد تمامی قطعات پروژه‌ی میکروسرویس شما به درستی با هم کار می‌کنند.

فصل 6 : امنیت در میکروسرویس

امنیت، یکی از جنبه‌هایی است که نمی‌توان در هیچ پروژه نرم‌افزاری از آن صرف‌نظر کرد. حتی اگر برنامه شما فقط یکی از صدها سرویس در یک پلتفرم بزرگ است. اما وقتی به معماری میکروسرویس می‌پردازیم، بحران امنیتی می‌تواند به یک چالش جدی تبدیل شود. در این فصل، ما به بررسی تکنیک‌ها و راهکارهای ایمن‌سازی در معماری میکروسرویس می‌پردازیم. شما در این فصل با پروتکل‌های OAuth و OpenId Connect آشنا می‌شوید، ابزارهایی که به شما امکان می‌دهند تا نه تنها احراز هویت و مجوز کاربران را مدیریت کنید، بلکه ارتباط بین سرویس‌ها را نیز امن کنید. ما توسط Duende IdentityServer، یکی از پیاده‌سازی‌های برجسته OAuth، این مفاهیم را عملی می‌کنیم. علاوه بر امنیت در سطح کاربر، این فصل به مدیریت امنیت در سطح سرویس‌ها و ارتباط بین آنها نیز می‌پردازد. از تعیین سطح دسترسی با استفاده از "Scope" گرفته تا ایجاد یک API Gateway امن برای مدیریت، هر زاویه‌ای از امنیت در این معماری مورد بررسی قرار می‌گیرد. به طور خلاصه، اگر می‌خواهید بدانید چگونه یک سیستم میکروسرویس را به صورت کامل، از نظر امنیتی، بهینه کنید، این فصل را از دست ندهید. پس از پایان این فصل، نه تنها امنیت کاربران را تامین کرده‌اید، بلکه اطمینان حاصل کرده‌اید که ارتباط بین تمامی سرویس‌ها نیز در بالاترین سطح امنیتی است.

فصل 7 : Deployment در میکروسرویس

در این فصل، به چگونگی نصب و راه‌اندازی میکروسرویس‌ها در محیط عملیاتی پرداخته می‌شود. این فصل طراحی شده است تا تمامی جنبه‌هایی از عملیات Deployment، از چالش‌ها و نیازمندی‌ها گرفته تا ابزارها و تکنولوژی‌هایی که می‌توان از آنها استفاده کرد، را پوشش دهد. از چالش‌های نصب و راه‌اندازی در معماری‌های مونولیتیک گرفته، تا نحوه‌ی ایزوله‌سازی فرایندها برای هر سرویس در معماری میکروسرویس، همه و همه در این فصل مورد بررسی قرار می‌گیرند. شما با تکنولوژی‌هایی مثل داکر و Azure DevOps آشنا خواهید شد. داکر به شما کمک می‌کند تا برنامه‌هایتان را به صورت کانتینریزه توسعه دهید، و Azure DevOps به شما امکان می‌دهد که فرآیندهای CI/CD را به صورت اتوماتیک اجرا کنید. همچنین، با کانتینر‌های ابری که یک راه‌حل محبوب برای نصب و راه‌اندازی در محیط‌های توزیع شده است، نیز آشنا خواهید شد. در پایان این فصل، شما تجربه‌ی کاملی از نحوه‌ی نصب و راه‌اندازی یک پروژه میکروسرویس در محیط عملیاتی خواهید داشت. از Identity Service گرفته تا ApiGateway Web، همه‌ی سرویس‌ها به طور کامل در محیط عملیاتی نصب و راه‌اندازی می‌شوند. این به شما اجازه می‌دهد که بفهمید چطور می‌توان پروژه‌ی خود را به صورت کامل و امن در محیط‌های مختلفی از جمله توسعه، آزمایش و تولید، مدیریت کرد.

فصل 8 : Monitoring در میکروسرویس

موضوع Monitoring یا مانیتورینگ در میکروسرویس‌ها از اهمیت بالایی برخوردار است. در معماری‌های Monolithic، عیب‌یابی و پایش سیستم نسبتاً ساده‌تر است. اما در معماری میکروسرویس، هر سرویس به صورت مستقل و روی سرورهای مختلفی قرار می‌گیرد، و این امر عیب‌یابی را پیچیده و زمان‌بر می‌کند. در این فصل به مباحث مختلفی از جمله Health Checks، Logging و Distributed Tracing پرداخته می‌شود. شما با چگونگی ایجاد یک سیستم مانیتورینگ کامل که اطلاعات دقیقی از وضعیت تمامی سرویس‌ها را در هر لحظه در اختیار شما می‌گذارد، آشنا می‌شوید. به کمک ابزارهایی مثل Serilog و Seq، شما قادر خواهید بود Log‌های برنامه را به صورت کارا مدیریت کنید. همچنین با استفاده از Application Metrics، وضعیت عملکردی سرویس‌ها را پایش و مدیریت خواهید کرد. در این فصل، به بررسی ELK Stack نیز می‌پردازیم. این تکنولوژی به شما امکان می‌دهد تا Log‌ها و داده‌ها را به صورت مرکزی در ElasticSearch ذخیره کنید و از Kibana برای دیده‌بانی و تحلیل استفاده کنید. پس از مطالعه‌ی این فصل، شما دارای دید کامل و جامعی در زمینه‌ی مانیتورینگ میکروسرویس‌ها خواهید بود و قادر به ایجاد یک سیستم پایشی مطمئن و قابل اعتماد برای پروژه‌های خود می‌شوید.

فصل 9 : Scaling

مقیاس‌پذیری یکی از جذابیت‌های اصلی معماری میکروسرویس است. اما چطور می‌توان از این ویژگی استفاده کرد؟ در این فصل به بررسی راهکارهای مختلفی پرداخته می‌شود که به شما کمک می‌کند تا سرویس‌های با مقیاس‌پذیری بالا ایجاد کنید. از مفاهیم پایه‌ای مثل Scale و Scale Cube گرفته تا مباحث پیشرفته‌تر مانند استفاده از Kubernetes و Docker Swarm برای مدیریت مقیاس‌پذیری، در این فصل مورد بررسی قرار می‌گیرند. پس از اتمام این فصل، شما با اصول و روش‌های مقیاس‌پذیری در معماری میکروسرویس آشنا می‌شوید.

فصل 10 : Design Patterns and Best Practices

در فصل آخر، ما به بررسی الگوهای طراحی و بهترین روش‌های مرتبط با معماری میکروسرویس می‌پردازیم. این الگوها و روش‌ها به شما کمک می‌کنند تا کدی نوشته شده برای میکروسرویس‌ها را بهینه‌تر، قابل نگهداری و مقیاس‌پذیر کنید. به عنوان مثال، شما با الگوهایی مثل "Aggregator" و "Anti-Corruption Layer" آشنا می‌شوید که به ارتباط بین میکروسرویس‌ها پرداخته و تبادل اطلاعات را ساده‌تر می‌کنند. الگوی "Saga" نیز به مدیریت تراکنش‌ها در میان چندین سرویس پرداخته می‌شود. همچنین، به بررسی الگوی "ApiGateway" می‌پردازیم که نقطه یکپارچه‌سازی درخواست‌ها و پاسخ‌ها در معماری میکروسرویس است. و در نهایت، به تکنیک‌های تبدیل برنامه‌های مونولیتیک به معماری میکروسرویس می‌پردازیم، تا شما بتوانید مزایای هر دو دنیا را بهره‌مند شوید. پس از اتمام این فصل، شما قادر خواهید بود کدها و سرویس‌هایی را طراحی کنید که نه تنها قابلیت استفاده مجدد بالایی دارند، بلکه به راحتی و بهینه با سایر سرویس‌ها ارتباط برقرار می‌کنند.

برای ارسال دیدگاه، لطفاً وارد حساب کاربری خود شوید.

299 دیدگاه برای ستارگان میکروسرویس
آرمان (خریدار محصول)
5روز ، پیش

سلام میشه یک فصل برای کتابخانه MassTransit · MassTransit اختصاص بدید؟

خیلی کتابخانه خوبی است بجای استفاده از کلاینت ربیت ام کیو  درون خودش خیلی ساده سازی کرده ارتباطات رو همچنین از اگوهای message outbox  ، Saga  و... پشتیبانی میکنه درون خودش هم از polly استفاده میکنه

درکل کتابخانه بسیار پرکاربردی هست. همچنین کتابخانه https://opentelemetry.io/ برای metrics log و trace هم خیلی خوب هست

بنظرم استفاده از این دو کتابخانه باعث جلوگیری استفاده بیش از حد کتابخانه های متعدد میشود.

با سپاس


علی (خریدار محصول)
1402/06/28

سلام خوبین ؟ یک سوال فنی دارم ممنون میشم راهنمایی کنید

سوال بنده این است من یک سرویس دارم که انبار هستش و ایتم هایی در ان ثبت میشه که موجودی مرتب در حال تغییر هستش و سرویس دیگر من میخواد از این ایتم ها به عنوان base info استفاده کننده و بروز بودن لحظه ای موجودی ها خیلی اهمیت داره حالا اگر سرویس انبار موجودی دیتابیسش رو‌ بروز کنه مثلا افزایش بده و به هر دلیل موفق نشد روی باس مسیجش رو‌ ارسال کنه و سرویس انبار قطع بشه چجوری میشه این مساله رو مدیریت کرد. خیلی لطف میکنید ‌بنده رو یه کوچولو راهنمایی کنید جناب بابایی عزیز

پاسخ توسط احسان بابائی
1402/07/02

سلام
برای موضوعی که مطرح کردید راهکارهای مختلفی وجود دارد:

Eventual Consistency و Event Sourcing

یکی از روش‌ها استفاده از مدل Eventual Consistency است که به این معنا است که پس از مدتی، تمام سرویس‌ها به یک داده یکسان می‌رسند. همچنین می‌توانید از الگوی Event Sourcing استفاده کنید که در آن تمام تغییرات به صورت رویداد در دیتابیس ذخیره می‌شوند.

Outbox Pattern
روش دیگری که می‌توانید برای حل این مشکل استفاده کنید، الگوی Outbox است. در این الگو، هر تغییری که باید در دیتابیس اعمال شود به همراه یک پیام به یک جدول Outbox در همان تراکنش دیتابیسی اضافه می‌شود. سپس یک پروسه‌ی جانبی (side-process) پیام‌ها را از جدول Outbox برداشته و به Message Bus ارسال می‌کند.


Retry Mechanism
برای اطمینان از ارسال موفق پیام به Message Bus، می‌توانید از مکانیزم‌های تلاش مجدد (Retry Mechanism) استفاده کنید.


Two-Phase Commit
الگوی Two-Phase Commit نیز یک راه حل دیگر است، اما به دلیل پیچیدگی‌ها و مشکلات عملکردی کمتر مورد استفاده قرار می‌گیرد.

با توجه به نیازها و محدودیت‌های پروژه شما، می‌توانید یکی از این راهکارها یا ترکیبی از آن‌ها را انتخاب کنید.

موفق باشید.


Farzad Mohamadi (خریدار محصول)
1402/03/07

سلام وقت بخیر
ما برای یه پروژه که مالی هستش میتونیم از duendo که برای پیاده سازی امنیت معرفی میکنین استفاده کنیم؟
بعدا مشکلی پیش نمیاد؟

 

پاسخ توسط احسان بابائی
1402/03/07

سلام

اگر لایسنس خریداری کنید که قطعا برای این موضوع مشکلی پیش نمیاد.

درضمن اطلاعات شرکت و پروژه خود را برای پشتیبانی سایت identity server ارسال نمائید 

احتمالا بتونید تخفیفاتی برای لایسنس دریافت کنید.


MT (خریدار محصول)
1402/02/15

با سلام
آیا راه حلی وجود داره که بتوان ApiResourceClaims را از DbContext حذف کرد. من راه حل های مختلفی امتحان کردم و حتی dbcontext مربوط به config را هم custom زدم اما بازم موقع کال کردن سرویس دریافت token به خطا میخورم
ممنون میشم راهنمایی بفرمایید

پاسخ توسط پشتیبانی باگتو
1402/02/18

سلام! از آنجا که شما در حال استفاده از IdentityServer4 هستید، برای حذف ApiResourceClaims از DbContext، می‌توانید از روش‌های زیر استفاده کنید:

ابتدا، از DbContext شما، می‌توانید مدل ApiResourceClaim را حذف کنید. برای این کار، کلاس DbContext شما (به عنوان مثال، AppDbContext) را باز کرده و خط مربوط به DbSet<ApiResourceClaim> را حذف کنید.

بعد از حذف مدل ApiResourceClaim، شما باید مایگریشن جدیدی ایجاد کنید تا تغییرات به دیتابیس اعمال شود. برای این کار، در کنسول نوع پروژه اصلی، دستور زیر را اجرا کنید:

 

dotnet ef migrations add RemoveApiResourceClaims

 

  1. در مرحله بعد، مایگریشن ایجاد شده را به دیتابیس اعمال کنید. برای این کار، دستور زیر را اجرا کنید:
dotnet ef database update

برای اطمینان از عملکرد صحیح برنامه بعد از انجام مراحل بالا، شما باید از اینکه در کدهای برنامه، به جای استفاده از ApiResourceClaims، از مدل‌های جایگزین استفاده کنید.

در نهایت، پروژه خود را دوباره اجرا کنید و بررسی کنید که آیا مشکل حل شده است.

در صورتی که باز هم به مشکل برخوردید، لطفاً اطلاعات بیشتری در مورد خطا و جزئیات پیکربندی DbContext و IdentityServer4 در قسمت باگ سایت ارسال نمایید تا بهتر بتوانیم به شما کمک کنم.


parsa x
1402/02/06

سلام

ضمنا تقدیر و تشکر و خسته نباشید . بنده لایسنس دوره را دریافت کردم ولی سورس کد دوره در قسمت SptPlayer 

وجود ندارد

خواهشمندم سورس کد دوره را هم اضافه نمایید.

و اینکه در دوره های دیگر بر روی قسمتهایی که در حال توضیح بود قابلیت Zoom  وجو داشت و با گوشی موبایل به راحتی همه چیز قابل مشاهده بود

ولی در این دوره این قابلیت وجود ندارد و به سختی میشود بر روی صفحه موبایل پیگیر اتفاقات مخصوصا در محیط ویژوال استودیو بود

باز هم تشکر

پاسخ توسط پشتیبانی باگتو
1402/02/06

سلام ،

در همین صفحه پس از ورود به حساب کاربری، شما می‌توانید لیست ویدئوها را مشاهده کنید. برای هر قسمتی که دارای سورس کد است، روی خط مربوط به آن قسمت یک دکمه سبز رنگ با عنوان "دانلود" وجود دارد. با کلیک بر روی این دکمه، کد مربوط به هر قسمت را می‌توانید دریافت کنید.

با تشکر


مونا ایرانی (خریدار محصول)
1401/11/29

سلام وقتتون بخیر

من برنامه spotplayer  رو از از روی گوشی حذف کردم و دوباره نصب کردم اما الان تعداد دفعات استفاده از لایسنس رو غیرمجاز اعلام می کنه

لازم به ذکر هست یک لایسنس رو روی سیستم دارم و دومی روی گوشی بود

لطفا راهنمایی بفرمایید

پاسخ توسط احسان بابائی
1401/11/29

سلام

دستگاه جدید برای شما اضافه شد.


محمد
1401/06/15

سلام و عرض ادب تو این دوره از cqrs و orm dapper استفاده شده و ddd را کامل آموزش دادید یا فقط اشاره بهش شده 

پاسخ توسط روشن احمدی
1401/06/16

 سلام وقتتون بخیر
 در این دوره آشنای با ddd  رو آموزش دادیم و موارد و جزییات رو اشاره نکردیم چون خودش به یک دوره مجزا نیاز داره .
 و در دوره ستارگان asp.net core   مبحث dapper  رو آموزش دادیم.

پاسخ توسط روشن احمدی
1401/06/16

حمیدرضا
1401/05/20

سلام وقت بخیر

تخفیف نمیگذارید روی دوره؟

بتونیم دوره رو بگیریم

پاسخ توسط روشن احمدی
1401/05/21

سلام روزتون بخیر

شهریور ماه روی دوره تخفیف خواهیم گذاشت

برای اطلاع از تخفیفات پیج اینستاگرام باگتو رو دنبال کنید

bugeto_net


حسین
1401/05/15

کاش چندتا از ویدئو ها رو فری بذارید لحن و سبک آموزش مدرس رو ببینیم بعد تصمیم بگیریم این دوره بخریم یا نه

پاسخ توسط روشن احمدی
1401/05/18

سلام وقت بخیر

دوره رایگان میکروسرویس  رو میتونید ببینید و در کانال تلگرام هم چند قسمت از دوره ستارگان میکرویرویس رو قرار دادیم که میتونید با نحوه آموزش دوره آشنا بشین


محمد
1401/03/19

سلام و عرض ادب دوره در حال برگزاری ؟ هنوز یا تموم شده 

پاسخ توسط احسان بابائی
1401/03/19

سلام

این دوره تکمیل شده است


sh (خریدار محصول)
1401/02/25

سلام ، روزتون بخیر

من داکر را نصب کردم ، ولی وقتی دستور نصب eureka را وارد میکنم ارور میده (vpn  هم وصل بوده)

error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=steeltoeoss%2Feureka-server&tag=latest": open //./pipe/docker_engine: The system cannot find the file specified.

پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

مثل این که docker daemon  اجرا نیست


.
1401/02/22

سلام ایا در این دوره به مباحث distributed transaction پرداختید و با رویه ddd پیاده شده

پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

الگوی saga معرفی شده است و ابزارهای پیاده سازی هم در فصل چهارم آموزش داده شده است


محمد عباسی (خریدار محصول)
1401/02/19

با سلام و احترام

با تشکر از آموزش خوب و مفید شما
سوالی داشتم خدمتتون
با توجه به کاربردی بودن کوبرنتیز در معماری میکروسروس
آیا آموزش کوبرنتیز در تکمیل ستارگان میکرو سرویس خواهید داشت؟

پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

در این دوره داکر آموزش داده شده است

اما کوبرنیتیز خیر.

در آینده هم به این دوره اضافه نخواهد شد


nazgol mmm (خریدار محصول)
1401/02/19

سلام 

لطفا سورس پروژه را بطور یکجا قرار دهید که بتوانیم خودمان ران کنیم

ممنون

پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام سورس هر قسمت را می توانید از سایت دانلود نمایید.


nazgol mmm (خریدار محصول)
1401/02/12

سلام وقت بخیر

service discovery  در فصل 4  را آموزش نمیدهید؟؟

چون فقط طریقه نصب ان را اموزش دادید

پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

فقط باید از Restapi های آن در برنامه خود برای ثبت ادرس برنامه استاده کنیم

یک ویدئو آپدیت اضافه می شود


meissam heidari (خریدار محصول)
1401/02/11

سلام

سورس پیوست قسمت 162 برای دانلود خطای 403 می دهد

پاسخ توسط روشن احمدی
1401/02/11
پاسخ توسط روشن احمدی
1401/02/11
سلام روزتون بخیر مشکلش برطرف شد میتونید الان دانلود کنید

محمد (خریدار محصول)
1401/02/11

سلام

مبحث eureka رو گفتید در scaling توضیح میدید

 
 

eurekaeuraka

 


nazgol mmm (خریدار محصول)
1401/02/11

سلام روز خوش

امکانش هست سورس پروژه را در انتهای هرفصل بگذارید چون من الان تمام سرویسها و فرانت را یکجا میخواهم بخونم ولی نیس


nazgol mmm (خریدار محصول)
1401/02/06

سلام وقت بخیر

پورت 5672 هنگام اتصال به Rabbit MQ  از کجا اومد؟؟؟ جلسه 6 از فصل 4

پاسخ توسط پشتیبانی باگتو
1401/02/06
سلام معمولا هر سرویسی که نصب می کنیم برای ارتباط با آن نیاز به یک پورت داریم. سرویس RabbitMQ هم این پرت را ارائه کرده است

nazgol mmm (خریدار محصول)
1401/01/10

سلام ویدیو هارو باید انلاین دید؟

دسترسی به نت نداشتیم چیکار کنیم؟!!!!!!!!!!!!!

پاسخ توسط احسان بابائی
1401/01/10

سلام

نیازی به آنلاین بودن نیست.

یک بار توسط نرم افزار دانلود می شوند و بعد بدونه نیاز به اینترنت هم می توانید مشاهده نمایید.


Hossein Sharifipour (خریدار محصول)
1401/01/08

با سلام

وقتی از معماری میکرو سرویس استفاده می کنیم و اگر یک سرویس روی چند ماشین نصب کنیم  و اگر بخواهم گزارش بگیرم از چه راه حلی اسفتاده کنم  یا باید روی همه دیتابیس ها یک گوئری یکسان را اجرا کنم

پاسخ توسط احسان بابائی
1401/01/10

سلام

معمولا زمانی که یک سرویس را روی چندین کانتینر اجرا می کنیم، همه این سرویس ها از یک دیتابیس استفاده می کنند.

برای مقیاس دیتابیس هم می توانید از CQRS و Always On استفاده نمایید


احسان داوری
1401/01/08

در این دوره برای میکرو سرویس ها از چه معماری ای استفاده میشه؟

پاسخ توسط احسان بابائی
1401/01/10

سلام

از معماری All in one و Clean


محمد (خریدار محصول)
1400/12/27

سلام

بحث لاگین با ریزور هست اگر بخواهیم با webapi پیاده کنیم که مثلا اپ هم بتونه استفاده کنه چه تبدیلات و کارهایی باید انجام بدیم؟

پاسخ توسط احسان بابائی
1400/12/27
سلام لطفا با دقت بيشتري فصل امنيت را مشاهده نماييد. براي احراز هويت روشهاي مختلفي داريم كه در دوره معرفي شدند

محمد (خریدار محصول)
1400/12/25

سلام

تو ایدنتیتی QuickUI که استفاده کردید ریزور پیج هست.

https://github.com/duendesoftware/IdentityServer.Quickstart.UI

برای اینکه مدل ویو کنترلر دار باشه. لینک زیر که برای ایدنتیتی رسمی هست QuickUI کنترلر دار رو داره

https://github.com/IdentityServer/IdentityServer4.Quickstart.UI

تشکر

 

پاسخ توسط احسان بابائی
1400/12/25

لینکی که فرستاده اید برای ورژن قبلی Identityserve4  می باشد.


محمد (خریدار محصول)
1400/12/23

سلام. در خصوص ثبت نام کاربر تو ایدنتیتی چیزی نگفتید ! آیاد متد مخصوص ثبت نام کار بر و ارسال پیامک فعال سازی و ... وجود داره یا ما باید خودمون بسازیم؟ لطفا یه قسمت اپدیت برای ایدنتیتی بدید این موارد هم بگید. این مبحث کامل نیست

پاسخ توسط احسان بابائی
1400/12/25

سلام

identity حدود 8 ساعت آموزش نیاز داره و جزو سرفصل های میکروسرویس نیست. و در این دوره فقط مباحث مربوط به میکروسرویس آموزش داده می شود.

نحوه استفاده از identity را در identityServer آموزش داریم.

برای  یادگیری identity می توانید از دوره زیر استفاده نمایید.

آموزش Identity در Asp.Net Core


مهدی مهدوی (خریدار محصول)
1400/12/22

سلام لطفا لینک دانلود کامل بزارید تا دالنود کنیم ممنون

پاسخ توسط احسان بابائی
1400/12/25

سلام

این دوره را می توانید از اسپات پلیر مشاهده نمایید و قابل دانلود نمی باشد.

فصل های ابتدایی هم به اسپات اضافه می شوند


علی زارعی (خریدار محصول)
1400/12/20

سلام وقتتون خبر

چرا فصل های اول توی 

اسپات پلیر نیست!!!

آیا اونجا اضافه نمیشه؟

پاسخ توسط احسان بابائی
1400/12/20

سلام

5 فصل اول را می توانید از طریق سایت دانلود نمایید. بر روی نام قسمت کلیک کنید دانلود می شود.

5 فصل اول هم به اسپات اضافه می شوند


حسین عاشوری (خریدار محصول)
1400/12/18

سلام وقتتون به خیر
در مبحث Context Mapping از بخش DDD ،  دو مورد ACL و Bubble Context  معرفی شد که تفاوت بین کارکرد اون ها رو متوحه نمی شم.
آیا Bubble Context همان کار ACL رو انجام می دهد + انحام کارهای دیگر برای بهینه شدن خروجی از سرویس های قدیمی یا اینکه وقتی سرویس قدیمی داریم، Bubble Context رو به همراه ACL به کار می بریم و عملکرد و کار متفاوتی انجام می دهند؟
ممنون


محمد (خریدار محصول)
1400/12/18

سلام

این role رو فقط به اسکوپ gateway اضافه کنیم کافیه یا به بقیه اسکوپ های داخل عکس هم باید اضافه کنیم؟

تشکر


محمد (خریدار محصول)
1400/12/18

سلام

تو ایدنتیتی دقیقا این قسمت وظیفه اش چیه؟ توضیح ندادید.


من به جای "12345A@aa" مثلا "123" میزارم موقع اجرا خطای زیر رو میده!


The INSERT statement conflicted with the FOREIGN KEY constraint "FK_AspNetUserRoles_AspNetUsers_UserId". The conflict occurred in database "EShop.Identity", table "dbo.AspNetUsers", column 'Id'.


ممنون


nima
1400/12/17

سلام

در مورد sync و async آموزش شما و خیلی آموزش های دیگه رو دیدم ولی اینکه کدومو کجا استفاده کنیم یه کم مشکله

الان شما مثلا getproduct یا payment و خیلی متد ها و get های دیگه رو asynce زدید... خب الان تا محصول رو نخونه یا پرداخت انجام نشه اصلا نباید کاربر بتونه کار دیگه بکنه پس اکثرا باید sync باشه چون یه جورایی تا کاری انجام نشه نباید بره محل بعد مثلا تایید پرداخت یا ...
لطفا توضیح کامل با چندتا مثال بزنید متوجه بشیم
ممنون


محمد (خریدار محصول)
1400/12/17

سلام

من پنل ادمین و گت وی ادمین رو پیاده کردم و چیزی که فهمیدم این بود دقیقا مثل پنل کاربر و گت وی کاربر هست و هر کدوم توکن ها و ... خودشونو رو دارن و هیچ فرقی بینشون نیست. اگر اشتباه میگم بفرمایید

 

و لطفا هر روز نظرات رو چک کنید اگر مشکل داشتیم زود حل شه. تشکر

پاسخ توسط احسان بابائی
1400/12/17

سلام

بله دقیقا.

و هدف از جدا سازی اینه که یک یک ApiGateway بزرگ نداشته باشیم که تغییرات در آن بر روی همه فرانت اند ها  تاثیر بزاره.


محمد (خریدار محصول)
1400/12/16

سلام

لطفا اگر میتونید در ادامه آموزش، سرویس تصاویر و فایل هم اضافه کنید. برای انتقال تصاویر محصولات بین سرویس ها کلی پیچیدگی وجود داره

ممنون


saman
1400/12/16

سلام

مشکل 403 حل شد .مشکل از اسکوپ بود . تشکر


saman
1400/12/16

سلام مجدد

در مورد خطای 403 همه چیزو چک کردم درست بود و داشت کار میکرد و بدون تغییر یکدفعه اینجوری شده!!!
لطفا یه راهنمیی، کمکی بکنید

پاسخ توسط احسان بابائی
1400/12/16

شما باید کل مسیر رو چک کنید.

توکنی که دریافت می کنید از identityService ، بررسی کنید ببینم به چه سرویس هایی دسترسی دارد؟

 Rolse و Audience  ها را چک کنید.

و بعد هم Apigateway  و هم سرویس مقصد را چک کنید ببینم Audunce ها مورد نیازاین سرویس ها در توکن شما وجود دارد؟


saman (خریدار محصول)
1400/12/16

سلام

من قسمت ایدنتتی و آتورایز رو درست پیاده کردم و داشت کار میکرد ولی بعدش یکدفعه تو سرویس فرانت که میخواد رکوئست بفرسته خطای  403 forbidden برمیگردونه!!!

اشکا لاز کجا میتونه باشه؟

تشکر
 

پاسخ توسط احسان بابائی
1400/12/16

سلام

خطای 403 یعنی این که شما لاگین شده اید اما مجوز دسترسی به این بخشی که Request داده اید را ندارید.

احتمالا Role یا policy مورد نیاز آن اکشن برای کاربر لاگین شده موجود نمی باشد


محمد (خریدار محصول)
1400/12/15

سلام
اقای بابایی چرا نگفتید این کلمه ها یونیک هستن؟!!؟توشون آندرلاین گذاشته بودم فکر کردم کلمه دلخواهه 10 روزه بال بال میزنم خطا رفع نمیشه

 

پاسخ توسط احسان بابائی
1400/12/15

سلام

از نام خود این لغات معلومه که یونیک هستند.

داریم get انجام می دیم.


reza
1400/12/14

سلام

من به جای رست شارپ از httpclient استفاده کردم

HttpContextAccessor رو چجوری تو httpclient  اینجکت کنم

 services.AddHttpClient<IProductService, ProductService>(client =>
                client.BaseAddress = new Uri(apiGatewayUri))

 
پاسخ توسط احسان بابائی
1400/12/15

سلام

سورس کدهای فصل 6 رو ببینید از httpclient استفاده کرده ایم


علی
1400/12/11

با سلام و خسته نباشید

من جلسه آموزش Eureka رو دیدم طبق آموزش پیش رفتم داکر دسکتاپ آوردم بالا و اورکا رو نصب کردم

پنلش هم بالا اومد روی یه پروژه تستی اجراش کردم ولی آدرسهای اینستنسی که برای ایجاد میکنم نه info نه health بالا نمیاد

لطفا راهنماییم کنید حتی کانفیگ هم از پروژه تستی برداشتم

 


محمد (خریدار محصول)
1400/12/11

سلام

چرا کلاینت سکرت رو توی آیدنتیتی هش کردید ولی داخل فرانت هش نکردید؟

 ClientSecrets={new Secret ("123456".Sha256()) }

  options.ClientSecret = "123456"

پاسخ توسط احسان بابائی
1400/12/11

سلام

چون هش یک فرایند یک طرفه است

و معمولا پسورد در سمت سرور هش می شود و در سمت کلاینت دقیقا همان پسورد را باید ارسال کنیم.

شما در فرم های لاگین پسورد هش شده را که وارد نمی کنید؟  اینجا هم به همین صورته

در identity پسورد هش می شود و در کلاینت باید پسورد اصلی را ارسال کنیم که در سمت سرور پسورد هش بشود و با همان پسورد هش شده مقایشه شود.


ناصر (خریدار محصول)
1400/12/11

سلام

نام توکن تو کدوم پروژه ها باید هم نام باشه؟

من اینجوری زدم :

فرانت :  "TokenName": "access.token"

گت وی :  "TokenName": "access.token"

سرویس مثلا سفارش :  "TokenName": "order.token"

پاسخ توسط احسان بابائی
1400/12/11

سلام

منظورتون کجاست؟ نمونه کدی که در ویدئو نوشتم رو ارسال کنید


رضا ساغری (خریدار محصول)
1400/12/11

اصلیاش اینان :

8 تا سیستم جامع داریم مثل سامانه servicedesk و سامانه cmms و سامانه آمار ، سامانه مدیریت پروژه و قراردادها و ... که با معماری کلین و core و بصورت مونولیکتیک هستند و پروژه های بسیار بزرگی هستند.

یک سیستم جامع هم داریم که میکرو یرویس هست و العان خودش یک سیستم احراز هویت شبیه همین موردی که شما توضیح دادید با identityserver4 داره

بیش از 40 تا سرویس هم داریم که در واقه هرکدومشون یم restApi هستند که سرویس های مختلفی رو به مشتریا ارائه میدن.

مشکل اصلی هم سر همون 8 تا سیستم مونولیکتیکون هست چون بحث احراز هویت و امنیت تو هرکدومشون بخاطر مسائل امنیتی بسیار پیچیده هست

 


رضا ساغری (خریدار محصول)
1400/12/11

درود و سپاس از پاسخ شما.

بله فرمایش شما در زمانیکه بخواهیم از ابتدا یک سرویس رو توسعه بدیم یا زمانیکه تعداد سرویس های موجود کم باشه صحیح است.

اما همانطور که عرض کردم در سناریو ما بیش از 50 سامانه و سرویس  داریم که تکنولوژی های مختلف دارند و برخی از اونها بدلیل پیاده سازی احراز هویت در سطح داده و رکورد سیستم بسیار پیچیده ای برای پرمیژن ها دارند و عملا غیر ممکن است بحت کنترل دسترسی رو در اون سامانه و سرویس ها رو بازنویسی کنیم.

تنها راحی که به نظر من رسید اینه که یک سرویس احراز هویت واحد ایجاد کنیم که تمام سرویس ها در اون Authenticate بشن و این سرویس تنها authorization رو برای دسترسی به سرویس چک کنه و بعد از احراز هویت کاربر در این سرویس در مواردی که لازم است مجدد در خود اون سرویس هم احراز هویت کنه

من برای اینکار با استفاده از OAuth و IdentityServer دارم پروژه رو مینویسم. البته چالش بسیار دارم و کمی گیج هستم هنوز. برای همین عرض کردم اگر راه حلی یا سلوشنی که از قبل تجربه شده براش میشناسید معرفی و راهنمایی بفرمایید.

سپاس فراوان

پاسخ توسط احسان بابائی
1400/12/11

بله بازنویسی این پروزه کار سختیه، البته اگر از استاندارد ها استفاده شده است کار بازنویسی راحتر انجام می شود

اما در نظر بگیرید برای هر تک Request که نیازه با دهها میکروسرویس در ارتباط باشه باید دها بار فرایند احراز هویت را انجام دهید. و آن هم به شکل های مختلفی

پروژه موجود میکروسرویسه یا SOA ؟

 


رضا (خریدار محصول)
1400/12/11

سلام

بحث ایدنتیتی با گت وی که پیاده کردید ترتیبش چجوریه.
فرانت به گت وی درخواست میده و گت وی به ایدنتیتی بعدش میره سرویس ها یا یا فرانت به ایدنتیتی درخواست میده بعد به گت وی و در نهایت سرویس ها؟

ممنون

پاسخ توسط احسان بابائی
1400/12/11

سلام

Frontend به identityService درخواست ارسال می کند و یک توکن دریافت می کند.

و بعد آن توکن از طرف فرانت اند برای ApiGateway ارسال می شود و از Apigateway هم برای سرویس ها ارسال می شود. و در سرویس ها توکن بررسی می شود اگر معتبر باشد خدمات را ارائه می کند در غیر اینصورت 401 و یا 403 دریافت می کنید


محمد (خریدار محصول)
1400/12/11

سلام

من دقیقا عین شما رفتم جلو چندبار هم با فیلم چک کردم ولی یه خطایی خوردم هرکاری میکنم حل نمیشه. لطفا راهنمایی کنید

اینم کدهام