معرفی HAProxy
به طوره ساده میتوان گفت 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
برای نصب آخرین نسخه haproxy بر روی Ubuntu 20.04 ابتدا از فرمان sudo su برای سوئیچ کردن به super user استفاده میکنیم.
alireza@ubuntu20:~$ sudo su
[sudo] password for alireza:
root@ubuntu20:/home/alireza#
سپس repository مربوطه به haproxy که آخرین نسخه آن را شامل میشود اضافه میکنیم.
root@ubuntu20:/home/alireza# add-apt-repository ppa:vbernat/haproxy-2.2
از فرمان apt update برای به روز رسانی لیست جدیدترین packageها استفاده کنید.
root@ubuntu20:/home/alireza# apt-get update
توسط فرمان زیر haproxy 2.2 را نصب کنید.
root@ubuntu20:/home/alireza# apt-get install haproxy=2.2.*
پس از نصب haproxy به وسیله فرمان haproxy -v نسخه نصب شده را بررسی کنید. همانطور که مشاهده میکند نسخه نصب شده 2.2.2 میباشد.
root@ubuntu20:/home/alireza# haproxy -v
HA-Proxy version 2.2.2-1ppa1~focal 2020/08/01 - https://haproxy.org/
در مطلب بعدی چگونگی پیکربندی اولیه haproxy را بیان میکنیم.