درک الگوی تکتون

الگوی تکتون یک الگوی طراحی خلقی است که یک کلاس را به یک نمونه محدود می کند در حالی که یک نقطه جهانی از دسترسی به آن را فراهم می کند.اول در کتاب "Gang of Four" رسمی شده است، آن را تبدیل به یک سنگ بنای برای مدیریت منابع مشترک در سیستم های نرم افزار است، الگوی به ویژه برای مدیریت پیکربندی پیکربندی مناسب است زیرا داده ها ذاتا جهانی است و باید در تمام بخش های پیکربندی تک نفره باقی بماند تا بتواند یک الگوی رفتار را اجرا کند.

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

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

سیستم های مهندسی توزیع شده – چه معماری های کوچک خدمات، شبکه های IoT یا سیستم های کنترل صنعتی – وابسته به داده های پیکربندی دقیق و همگام سازی شده است. Configuration شامل همه چیز از رشته های اتصال پایگاه داده و نقاط انتهایی API به پرچم ها و پارامترهای عملیاتی است.هنگامی که هر گره یا سرویس کپی خود از پیکربندی را حفظ می کند، ناسازگاری ها ظهور می کنند، منجر به شکست هایی که تشخیص آن دشوار است، یک پیکربندی فایل خاموش یا تخریب فایل.

چالش های پیکربندی توزیع شده

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

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

پیاده سازی یک تکتون برای مدیریت پیکربندی به طور معمول شامل یک کلاس است که پیکربندی را از یک منبع بادوام (مانند یک فایل، پایگاه داده یا خدمات خارجی) بارگیری می کند و آن را در حافظه ذخیره می کند.تمام ماژول ها و خدمات در همان فرایند یک متد استاتیک (FLT:2) نامیده می شود، اطمینان از اینکه همه آنها به همان داده ها اشاره می کنند: هنگامی که تنظیمات تغییر می کند، تنها نمونه ها نیاز به طور خودکار و یا مکانیسم های جدید دارند.

در زبان های شی گرا، پیاده سازی اغلب شبیه به این است:

  • [[۱] [۱۰] [۱] [۱۰] [۱] [۱]] [۱۰]] [۱] [۱] [۱] [۱۰]] [۱]] [۱] [۱۰] [۱] [۱۰]] [۱] [۱] [۱۰] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۱] [۱] [۳] [۳] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۱] [۱] [۳] [۳] [۱] [۱] [۳] [۱] [۱] [۳] [۱] [۱] [۱] [۳] [۳] [۱] [۳] [۱] [۱] [۱] [۳] [۱] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۱] [۱] [۳] [۱] [
  • آمار فقط خواندن Lazy <؛ConfigManager >؛ فیلد (در #C) و یا نمونه استاتیک با قفل دو چک (در جاوا).
  • [[۱] [۱۰] مالکیت عمومی ([۱۰] [۱۰] که به تک تک تک تک نمونه ها باز می گردد.
  • متد (در طول دسترسی اول) نامیده می شود.

امنیت Thread در تکتون

ایمنی Thread بسیار مهم است زیرا چندین رشته یا وظایف یک کامپوزیت ممکن است به طور همزمان به پیکربندی دسترسی داشته باشند.(این ساده ترین الگوی امن است که از یک اولیه استاتیک استفاده کند، که CLR (Common Language Runtime) یا JVM تضمین می کند که فقط یک بار اجرا شود.برای تنبل شدن با کاهش قفل کردن سربار، کلاس [F3] .NET یک thread-in-packing را فراهم می کند.

بررسی های پیشرفته: تکتون توزیع شده و فروشگاه های خارجی

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

مدیریت پیکربندی Cloud-Native Configuration Management

سیستم عامل های مدرن ابر مانند Kubernetes مدیریت پیکربندی خارجی را از طریق ConfigMaps و اسرار پذیرفته اند.با این حال، تکتون های سطح برنامه هنوز هم نقشی با ذخیره این ارزش ها و ارائه یک رابط کاربری تک، معتبر و به طور دوره ای با استفاده از الگوهای [F:0اختیاری] [F:1] با یک پیکربندی تکتون، که از طریق ساده سازی ثبت شده است، ترکیب می شود:

لینک های خارجی به منابع قابل اعتماد می توانند درک عمیق تری داشته باشند: [Wikipedia] مقاله در مورد الگو تکتون یک مرور جامع را فراهم می کند، در حالی که ]مارتین Fowler در مورد سرورهای پیکربندی به طور موثر نشان می دهد در زمینه توزیع شده توضیح می دهد.

مثال های واقعی و بهترین روش ها

بسیاری از سیستم های مهندسی به مدیران پیکربندی مبتنی بر تکتون متکی هستند.در سیستم عامل های بزرگ تجارت الکترونیک، یک سرویس پیکربندی منفرد (که اغلب توسط یک فروشگاه توزیع شده با ارزش کلید پشتیبانی می شود) برای کنترل پرچم های ویژگی و پارامترهای تست A / B استفاده می شود که الگوی تکتون در کتابخانه مشتری اعمال می شود که این پیکربندی را بارگیری می کند و آن را در حافظه ذخیره می کند، هنگامی که یک ساخت جدید، نمونه های کتابخانه جدید، همچنین از ابزارهای ذخیره سازی شده در این فایل واحد، جلوگیری می کند.

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

  • [در این میان] [در ابتدا] در [مشرکان] به [و] [در] [و] [در راه اندازی] برای گرفتن خطا زود هنگام؛ شکست تاخیر می تواند فاجعه بار باشد.
  • از Reload پویا بدون نیاز به یک راه اندازی مجدد پشتیبانی کنید؛ از اعلان های مبتنی بر رویداد از فروشگاه خارجی استفاده کنید.
  • اسرار از پیکربندی [FLT 1] با استفاده از یک مدیر مخفی اختصاصی (به عنوان مثال، HashiCorp Vault) و تزریق آنها به تکتون از طریق متغیرهای محیط زیست و یا کوه های امن.
  • تغییر پیکربندی (FLT:1) برای حسابرسی و اشکال زدایی؛ از جمله زمان بندی و منبع تغییر.
  • تکتون را در انزوا آزمایش کنید [FLT 1] با ساخت پیکربندی قابل هضم - با استفاده از تزریق وابستگی با یک عمر تکتون به جای یک کلاس استاتیک.

احتمال بروز قرص و چگونگی جلوگیری از آن

الگوی تکتون اغلب برای معرفی حالت جهانی مورد انتقاد قرار می گیرد که تست واحد را دشوار می کند.یک تکتون پیکربندی که از یک سیستم فایل یا شبکه می خواند به طور ذاتی برای تمسخر دشوار است.برای کاهش این، یک الگوی مانند وابستگی به انحراف را اتخاذ می کند: تعریف یک رابط کاربری (FLT-7)، پیاده سازی آن با یک کلاس تکتون، و ثبت آن با یک container به عنوان یک تست تکتون، می تواند یک پیکربندی جایگزین را ایجاد کند.

در نهایت، از وسوسه استفاده از تکتون برای هر منبع مشترک اجتناب کنید.استفاده از الگوی می تواند منجر به طراحی یکپارچه شود که در آن اجزای به شدت همراه می شوند. تکتون را برای منابع واقعا جهانی، خوانده شده تحت سلطه مانند پیکربندی، برای دولت که اغلب یا نیاز به دامنه (به عنوان مثال، هر کاربر یا هر سوال)، الگوهای دیگر مانند نمونه مناسب تر است.

نتیجه گیری

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