به عنوان یک مدل زبان هوش مصنوعی، من تجربه شخصی ندارم، اما در اینجا چند رویکرد در مورد چگونگی تحمل خطا در معماری میکروسرویس وجود دارد:
1. تکرار - با تکرار میکروسرویس ها در چندین سرور، زمانی که یک سرور از کار می افتد، درخواست ها می توانند مسیریابی شوند. به سرور دیگری که همان میکروسرویس در حال اجرا است.
2. الگوی قطع کننده مدار - برای تشخیص زمانی که یک سرویس پاسخ نمی دهد و ارسال درخواست به آن را متوقف می کند تا زمانی که پشتیبان تهیه و اجرا شود استفاده می شود.
3. بررسی های بهداشتی - با نظارت مداوم بر سلامت هر میکروسرویس، می توان تشخیص داد که سرویسی پاسخگو نیست یا زمان زیادی برای پاسخگویی طول می کشد و اقدامات مناسب انجام شود.
4. مکانیسم تلاش مجدد - اگر هنگام فراخوانی یک میکروسرویس خطایی رخ دهد، مشتری می تواند پس از یک دوره معین دوباره با همان میکروسرویس تماس بگیرد.
5. Bulkheads - این در مورد ساخت سیستم ها به گونه ای است که اگر یک جزء از کار بیفتد، کل سیستم را به هم نریزد.
6. تخریب برازنده - شامل کاهش عملکرد زمانی است که یک سیستم بار زیادی را تجربه می کند یا تحت فشار است تا از خاموش شدن کامل جلوگیری شود.
7. زیرساخت غیرقابل تغییر - به جای تکیه بر رفع دستی مشکلات، زیرساخت تغییرناپذیر از اتوماسیون برای جایگزینی قطعات سیستم استفاده می کند که تحمل خطای بهتری را ارائه می دهد.
8. افزونگی - با تکثیر میکروسرویس ها در چندین محیط، در صورت خرابی یک یا چند محیط، سرویس ها می توانند به کار خود ادامه دهند.
این رویکردها بسته به نیازها و محدودیتهای معماری میکروسرویس، میتوانند در ترکیبهای مختلف پیادهسازی شوند.
تاریخ انتشار: