به طوره ساده میتوان گفت HAProxy یک نرم افزار متن باز است که میتواند به عنوان reverse proxy و load balancer برای applicationهای بر پایه TCP عمل کند! منظور از applicationای بر پایه TCP برنامه هایی هستند که در آنها کلاینت و سرور از TCP برای تبادل اطلاعات بین یکدیگر استفاده میکنند.
reverse proxy بین کلاینت و سرور شما قرار میگیرد. هنگامی که کلاینت درخواستی را به سرور شما ارسال میکند این درخواست ابتدا به reverse proxy میرسد. سپس reverse proxy این درخواست را به سرور واقعی میفرستد. سرور جواب را به reverse proxy ارسال میکند و reverse proxy نیز این جواب را برای کلاینت میفرستد. در واقع reverse proxy نقش یک واسط را دارد و در صورت نیاز میتواند در درخواست کلاینت و یا جواب سرور تغییراتی را نیز اعمال کند.
در صورتی که سرویس شما (به عنوان مثال وب سایت شما) ترافیک زیادی دارد میتوانید از چند سرور استفاده کنید و haproxy امکان تقسیم بار بین این سرورها را فراهم میکند. برای تقسیم بار بین سرورها میکانیزمهای مختلفی وجود دارد. همچنین haproxy اطلاعاتی درباره اینکه کدام کلاینت به کدام سرور وصل شده است را نگهداری میکند تا جواب سرور را به کلاینت درست ارسال کند.
برای نصب آخرین نسخه haproxy بر روی Ubuntu 20.04 ابتدا از فرمان sudo su برای سوئیچ کردن به super user استفاده میکنیم.
سپس repository مربوطه به haproxy که آخرین نسخه آن را شامل میشود اضافه میکنیم.
از فرمان apt update برای به روز رسانی لیست جدیدترین packageها استفاده کنید.
توسط فرمان زیر haproxy 2.2 را نصب کنید.
پس از نصب haproxy به وسیله فرمان haproxy -v نسخه نصب شده را بررسی کنید. همانطور که مشاهده میکند نسخه نصب شده 2.2.2 میباشد.
در مطلب بعدی چگونگی پیکربندی اولیه haproxy را بیان میکنیم.