متغییرهای محیطی

منطق استفاده‌ٔ مجدد (Reuse Logic) در سیستم کوبیت

سرویس کوبچی برای افزایش بهره‌وری، کاهش خطا و ساده‌سازی نگهداری سیستم‌ها، امکان تعریف و استفاده‌ٔ مجدد از مقادیر را به‌صورت مرکزی فراهم کرده است. یکی از ابزارهای اصلی در این زمینه، متغیرهای محیطی (Environment Variables) هستند که می‌توانند در چندین ماژول یا سرویس مورد استفاده قرار گیرند.

در این راستا، کوبیت امکان تعریف دو نوع متغیر را فراهم کرده است که بر اساس نیاز کاربران، به شکل زیر دسته‌بندی می‌شوند:

متغیرهای کوبیتی

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

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

مثال:

فرض کنید دو برنامه دارید که از یک مقدار واحد مانند یک آدرس پایگاه داده استفاده می‌کنند. در برنامه اول، این مقدار با نام SPRING_DATASOURCE_URL (در برنامه‌های Java) و در برنامه دوم با نام DATABASE_HOST یا DB_HOST (در برنامه‌هایی که از Python Django استفاده می‌کنند) استفاده می‌شود.
در این حالت می‌توانید در کوبیت، این مقدار را به عنوان یک متغیر کوبیتی تعریف کرده و در کانفیگ هر دو برنامه از آن استفاده کنید.

متغیرهای گروهی (Group Variables)

دسته‌ای از متغیرها که با ساختاری مشابه پیکربندی در Kubernetes (مانند ConfigMap یا Secret) تعریف می‌شوند. این متغیرها معمولاً برای اشتراک‌گذاری یک دسته اطلاعات یکسان بین چند میکروسرویس کاربرد دارند.

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

مثال:

فرض کنید چند میکروسرویس دارید که همه به یک پایگاه‌داده متصل می‌شوند. می‌توانید یک گروه متغیر به نام db_config تعریف کنید که شامل DB_HOST, DB_USER, DB_PASS باشد. سپس این گروه را به همه‌ی سرویس‌ها (از طریق فایل کانفیگ) اعمال نمایید.