یک توسعهدهنده در حال انتقال یک برنامه جاوا به فضای ابری است و با چالش بزرگی روبرو شده است: مجموعهای از رویههای ذخیره شده (Stored Procedures) که تقریباً کل شرکت را اداره میکنند. این سیستم شامل 4 تا 5 پایگاه داده با حدود 500 رویه ذخیره شده در هر کدام است که بر روی یک نمونه Microsoft SQL واحد اجرا میشوند. این ساختار باعث افزایش هزینهها و تأخیر در پاسخگویی با افزایش تعداد مشتریان میشود.
راهحل پیشنهادی شامل "قطع کردن" درخواستهای رویه ذخیره شده و جایگزینی آنها با کد بومی (Native Code) است. این کار با استفاده از یک ساختار شرطی (Switch Statement/Dictionary) و پرچمهای ویژگی (Feature Flags) انجام میشود که بر اساس پارامترهایی مانند رویه، مستاجر (Tenant) و درصد، کد بومی را به جای رویه ذخیره شده فراخوانی میکند.
مزایای این رویکرد شامل کاهش بار روی پایگاه داده، گسترش دامنه توسعهدهندگان قادر به کار بر روی سیستم و امکان انجام تستهای واحد (Unit Testing) است. این تغییرات همچنین به بهبود عملکرد و مقیاسپذیری سیستم کمک میکند.
توسعهدهنده به دنبال تجربههای دیگران در این زمینه است تا بهترین روش را برای مهاجرت از رویههای ذخیره شده و بهبود سیستم موجود انتخاب کند.
مشاهده مطلب اصلی