در دنیای پایگاه داده ، بسیار مهم است که پایگاه داده ها همیشه با عملکرد بالا در دسترس باشند. هنگامی که یک برنامه یا پایگاه داده جدیدی بالا می آید ،در ابتدا شرایط مناسب است ولی با افزایش میزان ترافیک ، کانکشن ها و داده ها ، زمان پاسخ افزایش می یابد. اکنون چالش برای هر DBA افزایش مقیاس یا scale دیتابیس است.
DBA ها دو برده (slave) اضافه کرده و ترافیک read را به slaves هدایت کرده و زمان پاسخ را کاهش میدهند. چالش بعدی مسیریابی ترافیک هنگام تأخیر در تکثیر یا خرابی سرور است؟ مسیریابی به صورت دستی هنوز هم می تواند تأثیر بدی بر زیرساخت داشته باشد. ProxySQL می تواند چنین چالش هایی را برطرف کند.
قبل از دانستن اطلاعات بیشتر در مورد ProxySQL ، بیایید یاد بگیریم LB (Load Balancer) چیست. برای ساده بودن ، Load balancer در شبکه ، ترافیک برنامه را بین سرورهای موجود توزیع می کند. این امر با افزایش کاربران همزمان و بهبود کارایی استفاده از سخت افزار ، به دستیابی به بازده ، قابلیت اطمینان ، در دسترس بودن و عملکرد بهتر برنامه ها کمک می کند.
دو نوع LB وجود دارد ، LB های سخت افزاری و نرم افزاری.LB سخت افزار دارای یک جز نرم افزاری است که بسته را پردازش می کند. LB نرم افزاری شامل یک کامپوننت سرور بر روی شبکه و با ترکیبی از یک یا چند الگوریتم زمان بندی است. LB نیز در صورت تغییر آدرس IP دیتابیس پیچیدگی را در سطح برنامه کاهش می دهد.
ProxySQL یکی از بالانس کننده بار نرم افزاری پیشرفته ای است . ProxySQL توانایی داخلی برای شناسایی خواندن ، نوشتن و مسیریابی ترافیک نوشتن برای تسلط بر خواندن ترافیک بین slave های موجود را دارد. در صورت بروز تأخیر در Replication یا خرابی سرور یا شکست در replication ، ترافیک خواندن به طور خودکار به سرورهای مختلف slave هدایت می شود.
ادامه مطلب در سایت لینوکس لرن
linuxlearn.org