لود بالانس (Load Balance): 10 لود بالانس اوپن سورس و رایگان

LOAD BALANCE

4.4k

یکی از سریع‌ترین و ساده‌ترین راه‌ها برای بهبود قابلیت دسترسی پذیری (High availability) و افزایش عملکرد برنامه‌ها، استفاده از لود بالانس‌ها (Load balance) است. که در زاگریو قصد داریم تا 10 لود بالانس اوپن سورس و رایگان را برای شما توضیح دهیم.

در یک تقسیم بندی، ما سه نوع لود بالانسر (Load balancer) داریم:

  • سخت افزاری
  • بر پایه تکنولوژی ابری
  • نرم افزاری

لود بالانسر سخت‌افزاری، یک وسیله اختصاصی برای تأمین توزیع load است و از ویژگی‌های مربوطه برخوردار است. برخی از سازندگان محبوب لود بالانسر سخت افزاری LB، عبارتند از:

  • F5
  • TP-Link
  • Barracuda

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

از سوی دیگر لود بالانسرهای مبتنی بر تکنولوژی ابری، بیش از پیش بر سر زبان‌ها افتاده‌اند، از مزایای این نوع لود بالانسر‌ها، می‌توان به قیمت فوق‌العاده رقابتی آن‌ها اشاره نمود، که از یک قائده جالب استفاده می‌کنند و آن هم این است که هرچقدر که استفاده می‌کنی هزینه بپرداز!

تعداد از ارائه دهنده‌های سرویس لود بالانس مبتنی بر تکنولوژی کلود (Cloud) یا ابری از شرکت‌های زیر می‌باشند:

  • AWS
  • Google Cloud
  • Cloudflare
  • Incapsula
  • DigitalOcean
  • Azure

و می‌توانید از خدمات این شرکت‌ها با قیمت پایه 20 دلار ماهانه استفاده کنید.

در آخر به سراغ لود بالانسرهای نرم‌افزاری می‌رویم که نیاز است شما آن‌ها را نصب و پیکربندی نمایید، تعدادی از این نرم افزارها رایگان‌اند و اگر می‌خواهید یک راه حل رایگان و اوپن سورس را تجربه کنید، خواندن مقاله ما را از دست ندهید.

seesaw

لود بالانسر مورد استفاده گوگل، یک لود بلانسر مجازی مبتنی بر سیستم عامل لینوکس، این لود بالانسر به زبان Go توسعه یافته است و در توزیع Ubuntu / Debian به خوبی کار می‌کند. از anycast ،DSR  پشتیبانی می‌کند و به دو نود Seesaw نیاز دارد. آن‌ها می‌توانند فیزیکی یا مجازی باشند.

لازم به ذکر است که Seesaw با شبکه‌های لایه چهار کار می‌کند‌، بنابراین اگر به دنبال ایجاد لود بالانس در لایه هفت هستید، ممکن است بخواهید گزینه دیگری را جستجو کنید.

LoadMaster by KEMP

یک کنترل کننده تحویل برنامه که بصورت رایگان توسط KEMP ارائه شده و از همه hypervisor اصلی پشتیبانی می‌کند. می‌توانید آن را در دیتاسنتر خود نصب کنید یا بر روی پلتفرم‌های ابری مانند Azure یا AWS نصب و راه اندازی نمایید.

KEMP با اینکه رایگان است، اما تعدادی از بهترین ویژگی‌های نرم افزارهای شرکتی این رده را با خود دارد.

  • لود بالانس لایه 4 تحت  TCP/UDP با استفاده از الگوریتم‌های round robin یا least connection
  • لود بالانس برای اتصال لایه 7
  • فایروال داخلی برای وب اپلیکیشن‌ها
  • موتور پیشگیری از نفوذ داخلی (IPS)
  • لود بالانس (Load Balance) با پشتیبانی از چند سایت
  • ذخیره سازی ، فشرده سازی محتوا، سوئیچینگ محتوا
  • ماندگاری کوکی‌های سایت
  • IPSec tunneling

KEMP LB توسط برخی از برندهای بزرگ مانند اپل، سونی، JP مورگان، آئودی، هیوندای و غیره استفاده می‌شود. نسخه رایگان ویژگی‌های کافی را فراهم می‌کند. با این حال‌، اگر به موارد بیشتری نیاز دارید، می‌توانید لایسنس تجاری آنها را بررسی کنید و در صورت نیاز خریداری کنید. 

kemp لود بالانس

HAProxy

یکی از محبوب‌ترین‌های موجود در بازار برای ایجاد لود بالانسHAProxy است، که قابلیت‌هایی نظیر: TCP / HTTP، قابلیت دسترسی بالا و پروکسی را دارد. HAProxy توسط برخی از برند‌های مشهور جهان مانند زیر استفاده می‌شود.

  • Airbnb
  • GitHub
  • Imgur
  • MaxCDN
  • Reddit

از ویژگی‌های خوب این نرم افزار را می‌توان به موارد زیر اشاره کرد:

  • پشتیبانی از IPv6 and UNIX socket
  • فشرده سازی Deflate & Gzip
  • بررسی سلامت
  • Source-based session stickiness
  • گزارش آماری داخلی

haproxy لود بالانس

ZEVENET

از L3 ،L4 و L7 پشتیبانی می‌نماید و سورس کد‌ آن موجود است، و حتی ریپازیتوری داکر و ایمیج iOS آن نیز در دسترس می‌باشد. ZEVENET از نظارت پیشرفته بررسی سلامت پشتیبانی می‌کند، بنابراین سرور‌/سرویس‌های معیوب برای ارائه تجربه کاربری یکپارچه از کار می‌افتند. Zevenet که قبلاً با نام Zen شناخته می‌شد با پروتکل مبتنی بر TCP مانند FTP ،SIP ،SSL ،HTTP و … به خوبی کار می‌کند.

zevevnet لود بالانس

Neutrino

نوترینو توسط eBay و با استفاده از Scala & Netty ساخته شده است. نوترینو از الگوریتم‌های least connection و round-robin با ویژگی‌های زیر عرضه شده است:

  • از  canonical names استفاده می‌کند
  • Context-based
  • L4 با استفاده از شماره های پورت TCP

neutrino لود بالانس

نوترینو برای پاسخگویی به 300+ درخواست در هر ثانیه از طریق VM دو هسته ای آزمایش شده است. اگر شما در حال مقایسه نوترینو با HAProxy هستید، باید به یاد داشته باشید که یک مزیت عمده استفاده از نوترینو سوئیچینگ L7 است.

Balance

یک پروکسی TCP لود بالانس round-robin است که از IPv6 در قسمت listening پشتیبانی می‌کند. این بدان معنی است که شما می توانید IPv4 را در قسمت Front-end و IPv6 را در قسمت Back-end داشته باشید.

Balance همه ویژگی‌های اساسی LB را دارد.

Pen

Pen بر روی Linux ،FreeBSD ،HP-UX ،Solaris ،Windows آزمایش شده است و می‌توانید مطمئن باشید که بر دیگر نسخه‌های مبتنی بر Unix نیز کار می‌کند. از پروتکل های مبتنی بر UDP و TCP مانند HTTP ،SNMP ،DNS و … نیز پشتیبانی می‌‌کند.

برخی ویژگی‌های Pen:

  • فیلتر GeoIP
  • SSL termination
  • سازگاری با IPv4 & IPv6

pen lb لود بالانس

Nginx

مشخصا به این فکر می‌کنید که  Nginx یک وب سرور، پروکسی سرور و … است. اما Nginx اوپن سورس از تغییرات اساسی در سطح محتوای خود پشتیبانی می‌کند و می‌تواند مسیریابی را در چند سرور مجزا توزیع نماید.

Nginx Plus یک web application delivery مانند KEMPاست که شامل لود بالانس، ذخیره محتوا، وب سرور، WAF، نظارت و … می‌شود. این نرم افزار راه حل لود بالانس با بازده بالا برای نرم افزار‌هایی که حتی دارای چندین میلوین درخواست نیز هستند را ارائه می‌دهد.

NGINX-Plus-product-page_Load-Balancer لود بالانس

Traefik

یک پر.کسی رزرو توسعه داده شده با زبان برنامه نویسی Go است، ترافیک از چنین سرویس بک اند مانند Amazon ECS, Docker, Kubernetes, Rancher پشتیبانی می‌کند.

این برنامه از Websockets ، HTTP / 2 ، تمدید خودکار گواهی SSL و این امکان را به شما می‌دهد که مدیریت بهتری بر سرور خود داشته باشید.

Gobetween

یک لود بالانسر با پشتیبانی از L4 TCP, TLS و UDP می‌باشد. که با سیستم عامل‌های Windows, Linux, Docker, Darwin  کار می‌کند، و شما حتی می‌توانید این لود بالانسر را از سورس کد بسازید و در پیکربندی الگوریتم مورد نیاز خود برای لود بالانس را انخاب نمایید. الگوریتم‌های قابل انتخاب:

  • IP hash
  • round robin
  • Least bandwidth
  • Least connection
  • Weight

Gobetween لود بالانس

بر طبق بنچماک‌ها Gobetween از HAProxy سریعتر است اما به سرعت Nginx Plus نمی‌باشد.

لود بالانس

اگر به دنبال یک لود بالانسر برای L4 می‌گردید بنظر می‌رسد GObetween عملکرد خوبی دارد می‌توانید آن را امتحان نمایید.

زاگریو

Saman Yazdannikمشاهده نوشته ها

Avatar for Saman Yazdannik

laus Deo

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *