4,960,000 تومان


احسان بابائی
احسان بابائی
BackEnd , DotNet ,Angular
دسته‌بندی‌ها
معماری نرم افزار-میکروسرویس
نظرات 323

لطفا جهت اطلاع از دوره های جدید و بروز رسانی دوره ها عضو کانال تلگرام باگتو با آدرس bugeto@ شوید .

بررسی اجمالی

  • فصل 10
  • قسمت 173
  • مدت زمان 40:10:54
  • سطح پیشرفته
  • وضعیت به اتمام رسیده
  • سورس کد دارد

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

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

 

Tools For Microservices

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

در این فصل موارد زیر را بررسی می‌کنیم

  • زبان‌های برنامه‌نویسی
  • معرفی ابزارهای برای ایجاد ارتباط بین سرویس‌ها
  • Message Broker
  • ابزارهای برای Caching
  • Fail alert tools
  • Locale proof performance

 

DDD Boundec Context

برای این‌که بتوانیم یک برنامه با معماری مونولیتیک طراحی کنیم باید این برنامه بزرگ را به سرویس‌های کوچکی تقسیم کنیم. یکی از روش‌های که می‌توانیم از آن برای تعیین محدوده و مرزبندی سرویس‌ها استفاده کنیم Bounded Contextها است. در این فصل مقدمه‌ای بر DDD را به شما آموزش می‌دهیم و شما را با Bounded Context آشنا می‌کنیم و سپس یک پروژه برای این دوره انتخاب می‌کنیم و با استفاده از Bounded Contextها مرزبندی بین سرویس‌ها را مشخص می‌کنیم و در ادامه فصل بعدی به پیاده‌سازی این سرویس‌ها می‌پردازیم.

Implementation Project

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

Communication

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

Testing

تا به اینجا کار ما توانستیم پروژه میکروسرویس خود را پیاده‌سازی کنیم و ارتباط بین آنها را ایجاد کنیم، اما هنوز خبری از تست نیست. ما باید بعد از هر تغییری از سلامت سیستم مطمئن شویم و یکی از سریع‌ترین و کم‌هزینه‌ترین روش اطمینان از سلامت سیستم تست‌های خودکار است. اما تست‌های خودکار برنامه‌های میکروسرویس با تست‌های خودکار یک برنامه monolithic کمی متفاوت است.

در این فصل موارد زیر را بررسی می‌کنیم

  • بررسی چالش‌های تست میکروسرویس‌ها
  • آشنایی با استراتژی‌های تست
  • بررسی هرم تست
  • آموزش نوشتن تست خودکار برای برنامه‌های .Net
  • انواع تست‌های که برای میکروسرویس‌ها می‌توانیم انجام دهیم
  • پیاده‌سازی تست برای پروژه

Securing

امنیت یکی از مهم‌ترین جنبه‌های یک بسته نرم‌افزاری می‌باشد و متأسفانه هرچند وقت یک‌بار شاهد سرقت اطلاعات یک بیزینس بزرگ هستیم. برنامه‌ای که طراحی می‌کنیم باید در بالاترین سطح امنیت قرار داشته باشد و به طور مداوم حفره‌های امنیتی رو شناسایی کنیم و این مشکلات را برطرف کنیم. اما پروژه‌ای که تا به اینجای کار توسعه داده‌ایم هیچ‌گونه امنیتی برای آن اعمال نکرده‌ایم. امنیت در پروژه‌های میکروسرویس با پروژه‌های معماری Monolithic تفاوت‌هایی دارد و شما از همان سناریوهایی که برای یک برنامه یکپارچه استفاده کرده‌اید نمی‌توانید برای ایمن‌سازی معماری میکروسرویس‌ها استفاده کنید. در این معماری میکروسرویس‌ها به‌جز Authenticaion و Authirization کاربران استفاده‌کننده باید امنیت ارتباط بین سرویس‌ها را هم برقرار کنیم. برای معماری میکروسرویس‌ها پروتکل OAuth و OpenId Connect راه‌حل‌های مناسبی می‌باشند.

در این فصل پروتکل oAuth وOpenId Connect را مورد بررسی قرار می‌دهیم و سپس از ابزارهای که OAuth را پیاده‌سازی کرده‌اند برای امنیت پروژه استفاده می‌کنیم.

 

Deploying

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

  • شناسایی چالش‌های Deployment معماری monolithic
  • آشنایی با اصطلاحات Deployment
  • آشنایی با Container
  • آموزش داکر
  • آموزش Azure devops
  • Deployment پروژه میکروسرویس

Monitoring

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

  • استراتژی Logging در معماری میکروسرویس
  • استراتژی مانیتورینگ در معماری میکروسرویس
  • معرفی ابزارهای که برای مانیتورینگ در .Net می‌توانیم استفاده کنیم
  • آموزش استفاده از Azure Diagnostics
  • آموزش استفاده از Application Insights
  • آموزش ElasticSearch(NoSql)
  • LogStash
  • Kibana

Scaling

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

 

Design Patterns and Best Practices

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

 

نکته مهم : با هر خرید یک لایسنس دریافت می کنید که این لایسنس روی دو دستگاه فعال می شود. (ویندوز،مک،اندروید). اگر دو نفر به صورت اشتراکی قصد شرکت در دوره را دارید می توانید از یک لایسنس در دو کامپیوتر استفاده نمایید.

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

آشنایی با پلیر : https://spotplayer.ir/

 

دانلود ویدیوها

آیا این دوره پشتیبانی هم دارد؟
اگر منظورتان از پشتیبانی پاسخ دادن به سوالات شخصی و موردی شما است، خیر! پشتیبانی ندارد! برای گرفتن مشاوره اختصاصی از باگتو، در سال حداقل لازم است چندصد میلیون تومان بپردازید.
البته مشکلات فنی خود را می توانید در قسمت باگ سایت ارسال نمایید، دیگر کاربران و یا پشتیبانی باگتو پاسخ سوال شما را ارسال می کنند.

اشتراک

برای ارسال نظر وارد حساب کاربری خود شوید
ورود به حساب کاربری ثبت نام




نظرات 323

  • عکس پروفایل sh در سایت باگتو
  • |
  • ارسال شده توسط : sh
  • |
  • زمان : 12روز ، پیش

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

من داکر را نصب کردم ، ولی وقتی دستور نصب 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.

سلام

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


  • عکس پروفایل . در سایت باگتو
  • |
  • ارسال شده توسط : .
  • |
  • زمان : 15روز ، پیش

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

سلام

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


  • عکس پروفایل محمد عباسی در سایت باگتو
  • |
  • ارسال شده توسط : محمد عباسی
  • |
  • زمان : 18روز ، پیش

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

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

سلام

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

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

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


  • عکس پروفایل nazgol mmm در سایت باگتو
  • |
  • ارسال شده توسط : nazgol mmm
  • |
  • زمان : 18روز ، پیش

سلام 

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

ممنون

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


  • عکس پروفایل nazgol mmm در سایت باگتو
  • |
  • ارسال شده توسط : nazgol mmm
  • |
  • زمان : 25روز ، پیش

سلام وقت بخیر

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

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

سلام

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

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


  • عکس پروفایل meissam heidari در سایت باگتو
  • |
  • ارسال شده توسط : meissam heidari
  • |
  • زمان : 26روز ، پیش

سلام

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

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 26روز ، پیش

سلام

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

 
 

eurekaeuraka

 


  • عکس پروفایل nazgol mmm در سایت باگتو
  • |
  • ارسال شده توسط : nazgol mmm
  • |
  • زمان : 26روز ، پیش

سلام روز خوش

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


  • عکس پروفایل nazgol mmm در سایت باگتو
  • |
  • ارسال شده توسط : nazgol mmm
  • |
  • زمان : 1401/02/06

سلام وقت بخیر

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

سلام معمولا هر سرویسی که نصب می کنیم برای ارتباط با آن نیاز به یک پورت داریم. سرویس RabbitMQ هم این پرت را ارائه کرده است


  • عکس پروفایل nazgol mmm در سایت باگتو
  • |
  • ارسال شده توسط : nazgol mmm
  • |
  • زمان : 1401/01/10

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

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

سلام

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

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


  • عکس پروفایل Hossein Sharifipour در سایت باگتو
  • |
  • ارسال شده توسط : Hossein Sharifipour
  • |
  • زمان : 1401/01/08

با سلام

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

سلام

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

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


  • عکس پروفایل احسان داوری در سایت باگتو
  • |
  • ارسال شده توسط : احسان داوری
  • |
  • زمان : 1401/01/08

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

سلام

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/27

سلام

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

سلام لطفا با دقت بيشتري فصل امنيت را مشاهده نماييد. براي احراز هويت روشهاي مختلفي داريم كه در دوره معرفي شدند


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/25

سلام

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

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

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

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

تشکر

 

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/23

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

سلام

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

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

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

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


  • عکس پروفایل مهدی مهدوی در سایت باگتو
  • |
  • ارسال شده توسط : مهدی مهدوی
  • |
  • زمان : 1400/12/22

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

سلام

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

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


  • عکس پروفایل علی زارعی در سایت باگتو
  • |
  • ارسال شده توسط : علی زارعی
  • |
  • زمان : 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 در سایت باگتو
  • |
  • ارسال شده توسط : nima
  • |
  • زمان : 1400/12/17

سلام

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

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/17

سلام

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

 

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

سلام

بله دقیقا.

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/16

سلام

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

ممنون


  • عکس پروفایل saman در سایت باگتو
  • |
  • ارسال شده توسط : saman
  • |
  • زمان : 1400/12/16

سلام

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


  • عکس پروفایل saman در سایت باگتو
  • |
  • ارسال شده توسط : saman
  • |
  • زمان : 1400/12/16

سلام مجدد

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

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

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

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

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


  • عکس پروفایل saman در سایت باگتو
  • |
  • ارسال شده توسط : saman
  • |
  • زمان : 1400/12/16

سلام

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

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

تشکر
 

سلام

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

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/15

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

 

سلام

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

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


  • عکس پروفایل reza در سایت باگتو
  • |
  • ارسال شده توسط : reza
  • |
  • زمان : 1400/12/14

سلام

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

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

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

 

سلام

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


  • عکس پروفایل علی در سایت باگتو
  • |
  • ارسال شده توسط : علی
  • |
  • زمان : 1400/12/11

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

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

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

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

 


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/11

سلام

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

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

  options.ClientSecret = "123456"

سلام

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

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

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

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


  • عکس پروفایل ناصر در سایت باگتو
  • |
  • ارسال شده توسط : ناصر
  • |
  • زمان : 1400/12/11

سلام

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

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

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

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

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

سلام

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


  • عکس پروفایل رضا ساغری در سایت باگتو
  • |
  • ارسال شده توسط : رضا ساغری
  • |
  • زمان : 1400/12/11

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

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

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

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

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

 


  • عکس پروفایل رضا ساغری در سایت باگتو
  • |
  • ارسال شده توسط : رضا ساغری
  • |
  • زمان : 1400/12/11

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

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

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

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

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

سپاس فراوان

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

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

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

 


  • عکس پروفایل رضا در سایت باگتو
  • |
  • ارسال شده توسط : رضا
  • |
  • زمان : 1400/12/11

سلام

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

ممنون

سلام

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

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


  • عکس پروفایل محمد در سایت باگتو
  • |
  • ارسال شده توسط : محمد
  • |
  • زمان : 1400/12/11

سلام

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

اینم کدهام