{"id":4361,"date":"2023-09-17T10:00:52","date_gmt":"2023-09-17T10:00:52","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=4361"},"modified":"2023-09-17T10:00:52","modified_gmt":"2023-09-17T10:00:52","slug":"nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/","title":{"rendered":"Nginx&#8217;in Load Balancing \u00d6zelli\u011fi Nedir ve Nas\u0131l Kullan\u0131l\u0131r?"},"content":{"rendered":"<p>Merhaba! Bug\u00fcnk\u00fc blog yaz\u0131m\u0131zda <a href=\"https:\/\/sunucucozumleri.com\/blog\/080-nginx-reverse-proxy-nasil-kurulur\/\">Nginx<\/a> Load Balancing&#8217;i ele alaca\u011f\u0131z. \u0130lk olarak, Nginx Load Balancing&#8217;in ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlataca\u011f\u0131z. Ard\u0131ndan, bu sistemin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve kullan\u0131lan farkl\u0131 y\u00f6ntemleri detayl\u0131 bir \u015fekilde a\u00e7\u0131klayaca\u011f\u0131z. Round Robin, Least Connections ve IP Hash gibi y\u00f6ntemlerin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na de\u011finece\u011fiz. Son olarak da, Nginx \u00fczerinde Load Balancing&#8217;in nas\u0131l yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 ad\u0131m ad\u0131m aktaraca\u011f\u0131z. Haz\u0131rsan\u0131z, hadi ba\u015flayal\u0131m!<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Nginx_Load_Balancing_nedir\" >Nginx Load Balancing nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Neden_Load_Balancing_kullanilmali\" >Neden Load Balancing kullan\u0131lmal\u0131?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Nginx_Load_Balancing_nasil_calisir\" >Nginx Load Balancing nas\u0131l \u00e7al\u0131\u015f\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Yontemler_Round_Robin\" >Y\u00f6ntemler: Round Robin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Yontemler_Least_Connections\" >Y\u00f6ntemler: Least Connections<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Yontemler_IP_Hash\" >Y\u00f6ntemler: IP Hash<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/sunucucozumleri.com\/blog\/nginxin-load-balancing-ozelligi-nedir-ve-nasil-kullanilir\/#Nginxte_Load_Balancing_nasil_yapilandirilir\" >Nginx&#8217;te Load Balancing nas\u0131l yap\u0131land\u0131r\u0131l\u0131r?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Nginx_Load_Balancing_nedir\"><\/span>Nginx Load Balancing nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nginx <a href=\"https:\/\/sunucucozumleri.com\/blog\/yuk-dengeleme-nedir\/\">Load Balancing<\/a>, web sunucular\u0131n\u0131n y\u00fcklerini dengelemek ve performanslar\u0131n\u0131 art\u0131rmak i\u00e7in kullan\u0131lan bir da\u011f\u0131t\u0131k sistemdir. Load balancing, gelen istekleri birden \u00e7ok sunucuya e\u015fit \u015fekilde da\u011f\u0131tarak <a href=\"https:\/\/sunucucozumleri.com\/blog\/frontpage\/\">sunucu<\/a> \u00fczerindeki y\u00fck\u00fc payla\u015ft\u0131r\u0131r ve b\u00f6ylece g\u00fcvenilirlik, \u00f6l\u00e7eklenebilirlik ve uygulama performans\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<p>Load balancing, \u00f6zellikle yo\u011fun trafik alan web siteleri, b\u00fcy\u00fck \u00f6l\u00e7ekli uygulamalar veya y\u00fcksek kullan\u0131c\u0131l\u0131 a\u011f sistemleri i\u00e7in \u00f6nemlidir. Nginx, Load Balancing&#8217;i etkin bir \u015fekilde uygulayan ve da\u011f\u0131t\u0131k web uygulamalar\u0131n\u0131 y\u00f6netmek i\u00e7in pop\u00fcler bir se\u00e7enektir.<\/p>\n<p>Nginx Load Balancing&#8217;in temel amac\u0131, tek bir sunucunun a\u015f\u0131r\u0131 y\u00fcklenmesini \u00f6nlemek veya bir sunucunun ba\u015far\u0131s\u0131z olmas\u0131 durumunda di\u011fer sunucular\u0131n hizmete devam etmesini sa\u011flamakt\u0131r. Bu, web trafi\u011fini optimize eder ve kullan\u0131c\u0131lara h\u0131zl\u0131 ve kesintisiz bir deneyim sunar.<\/p>\n<ul>\n<li><strong>G\u00fcvenilirlik:<\/strong> Nginx Load Balancing, sunucu ar\u0131zalar\u0131n\u0131 otomatik olarak alg\u0131lar ve istekleri di\u011fer sa\u011fl\u0131kl\u0131 sunuculara y\u00f6nlendirerek kesintisiz hizmet sa\u011flar.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Yo\u011fun trafik durumlar\u0131nda, Nginx Load Balancing birden \u00e7ok sunucu kullanarak y\u00fck\u00fc payla\u015ft\u0131r\u0131r ve uygulamalar\u0131n daha fazla kullan\u0131c\u0131ya hizmet vermesini sa\u011flar.<\/li>\n<li><strong>Performans:<\/strong> Load Balancing, istekleri sunucular aras\u0131nda dengeli bir \u015fekilde da\u011f\u0131tarak cevap s\u00fcrelerini azalt\u0131r ve kullan\u0131c\u0131lar\u0131n daha h\u0131zl\u0131 yan\u0131t almas\u0131n\u0131 sa\u011flar.<\/li>\n<\/ul>\n<table>\n<tr>\n<th>Y\u00f6ntemler<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<\/tr>\n<tr>\n<td><strong>Round Robin<\/strong><\/td>\n<td>\u0130stekleri s\u0131rayla sunuculara y\u00f6nlendirir. Her sunucu e\u015fit miktarda trafik al\u0131r.<\/td>\n<\/tr>\n<tr>\n<td><strong>Least Connections<\/strong><\/td>\n<td>Bo\u015ftaki sunucunun en az ba\u011flant\u0131s\u0131 olan sunucuya iste\u011fi y\u00f6nlendirir.<\/td>\n<\/tr>\n<tr>\n<td><strong>IP Hash<\/strong><\/td>\n<td>Kullan\u0131c\u0131n\u0131n IP adresi temel al\u0131narak istekleri belirli bir sunucuya y\u00f6nlendirir.<\/td>\n<\/tr>\n<\/table>\n<p>Nginx&#8217;te Load Balancing&#8217;i yap\u0131land\u0131rmak i\u00e7in \u00f6ncelikle Nginx&#8217;in kurulu olmas\u0131 gerekir. Ard\u0131ndan, Nginx yap\u0131land\u0131rma dosyas\u0131nda Load Balancing i\u00e7in gerekli ayarlamalar yap\u0131l\u0131r. Bu ayarlamalar aras\u0131nda sunucu tan\u0131mlamalar\u0131, y\u00fck payla\u015ft\u0131rma mekanizmas\u0131 belirleme ve y\u00f6ntem se\u00e7imi gibi ad\u0131mlar yer al\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Neden_Load_Balancing_kullanilmali\"><\/span>Neden Load Balancing kullan\u0131lmal\u0131?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Load Balancing, <\/strong>farkl\u0131 sunucular aras\u0131ndaki i\u015f y\u00fck\u00fcn\u00fc da\u011f\u0131tmak i\u00e7in kullan\u0131lan bir y\u00f6ntemdir. Bu y\u00f6ntem, web sitelerinin daha h\u0131zl\u0131 ve verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Load Balancing&#8217;in kullan\u0131lmas\u0131 bir\u00e7ok avantaj sa\u011flamaktad\u0131r.<\/p>\n<p><strong>\u0130lk olarak<\/strong>, Load Balancing sayesinde sunucular aras\u0131ndaki y\u00fck dengelenir. Bir sunucu \u00e7ok yo\u011fun ise, di\u011fer sunuculara i\u015f y\u00fck\u00fc da\u011f\u0131t\u0131l\u0131r. Bu sayede, sunucular aras\u0131nda dengeli bir i\u015f y\u00fck\u00fc elde edilir ve performans artar.<\/p>\n<p><strong>\u0130kinci olarak<\/strong>, Load Balancing yedekleme imkan\u0131 sunar. E\u011fer bir sunucu ar\u0131zalan\u0131rsa veya bak\u0131m \u00e7al\u0131\u015fmas\u0131 yap\u0131l\u0131yorsa, di\u011fer sunucular devreye girerek hizmetin kesintisiz bir \u015fekilde devam etmesini sa\u011flar. Bu sayede, kullan\u0131c\u0131lara kesintisiz bir deneyim sunulur.<\/p>\n<p><strong>\u00dc\u00e7\u00fcnc\u00fc olarak<\/strong>, Load Balancing skalablilik sa\u011flar. Web sitenizin trafi\u011fi artt\u0131\u011f\u0131nda, sunucu kapasitesini artt\u0131rmak i\u00e7in yeni sunucular ekleyebilirsiniz. Bu sayede, sitenizin performans\u0131 etkilenmez ve kullan\u0131c\u0131lara h\u0131zl\u0131 bir deneyim sunulur.<\/p>\n<ul>\n<li><strong>Artan performans:<\/strong> Load Balancing sayesinde sunucular aras\u0131nda i\u015f y\u00fck\u00fc dengelenir ve daha h\u0131zl\u0131 bir yan\u0131t s\u00fcresi elde edilir.<\/li>\n<li><strong>Y\u00fcksek kullan\u0131labilirlik:<\/strong> Bir sunucu ar\u0131zaland\u0131\u011f\u0131nda veya bak\u0131m \u00e7al\u0131\u015fmas\u0131 s\u0131ras\u0131nda, di\u011fer sunucular devreye girerek hizmetin kesintisiz devam etmesini sa\u011flar.<\/li>\n<li><strong>Skalablilik:<\/strong> Web sitenizin trafi\u011fi artt\u0131\u011f\u0131nda, yeni sunucular ekleyerek kapasiteyi artt\u0131rabilirsiniz.<\/li>\n<\/ul>\n<table>\n<tr>\n<th>Y\u00f6ntem<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<\/tr>\n<tr>\n<td>Round Robin<\/td>\n<td>\u0130stekler s\u0131rayla sunuculara da\u011f\u0131t\u0131l\u0131r.<\/td>\n<\/tr>\n<tr>\n<td>Least Connections<\/td>\n<td>En az ba\u011flant\u0131s\u0131 olan sunucuya istek y\u00f6nlendirilir.<\/td>\n<\/tr>\n<tr>\n<td>IP Hash<\/td>\n<td>Kullan\u0131c\u0131n\u0131n IP adresine g\u00f6re sunucuya y\u00f6nlendirme yap\u0131l\u0131r.<\/td>\n<\/tr>\n<\/table>\n<p>Load Balancing&#8217;in bu avantajlar\u0131 g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, web sitelerinin daha iyi performans, y\u00fcksek kullan\u0131labilirlik ve skalablilik sa\u011flamas\u0131 i\u00e7in Load Balancing kullan\u0131lmal\u0131d\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Nginx_Load_Balancing_nasil_calisir\"><\/span>Nginx Load Balancing nas\u0131l \u00e7al\u0131\u015f\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nginx, y\u00fck dengelemesini sa\u011flayan bir HTTP sunucusudur. Y\u00fck dengelemesi, gelen istekleri birden fazla sunucuya da\u011f\u0131tarak a\u011fdaki trafik y\u00fck\u00fcn\u00fc dengelemeyi hedefler. Bu, sunucular\u0131n performans\u0131n\u0131 art\u0131r\u0131rken ayn\u0131 zamanda y\u00fcksek eri\u015filebilirlik ve g\u00fcvenilirlik sa\u011flar.<\/p>\n<p>Load balancer, gelen istekleri y\u00f6nlendirmek i\u00e7in farkl\u0131 y\u00f6ntemler kullan\u0131r. Bunlar aras\u0131nda Round Robin, Least Connections ve IP Hash gibi yayg\u0131n kullan\u0131lan y\u00f6ntemler bulunur.<\/p>\n<p><strong>1. Round Robin:<\/strong><\/p>\n<p>Bu y\u00f6ntemde, gelen istekler s\u0131rayla sunuculara da\u011f\u0131t\u0131l\u0131r. \u0130lk istek birinci sunucuya, ikinci istek ikinci sunucuya ve bu \u015fekilde devam eder. Bu y\u00f6ntem, sunucular aras\u0131nda y\u00fck\u00fc e\u015fit olarak da\u011f\u0131t\u0131r, ancak zamanla farkl\u0131 sunuculardaki yan\u0131t s\u00fcrelerinde farkl\u0131l\u0131klar olabilir.<\/p>\n<p><strong>2. Least Connections:<\/strong><\/p>\n<p>Bu y\u00f6ntemde, gelen istekler en az ba\u011flant\u0131ya sahip olan sunucuya y\u00f6nlendirilir. Yani, bir sunucunun \u00fczerindeki y\u00fck d\u00fc\u015f\u00fckse veya hi\u00e7 ba\u011flant\u0131s\u0131 yoksa, istekler o sunucuya y\u00f6nlendirilir. Bu y\u00f6ntem, sunucular aras\u0131nda y\u00fck\u00fc daha dengeli bir \u015fekilde da\u011f\u0131tmaya yard\u0131mc\u0131 olur.<\/p>\n<p><strong>3. IP Hash:<\/strong><\/p>\n<p>Bu y\u00f6ntemde, gelen isteklerin kaynak IP adresleri kullan\u0131larak belirli bir sunucuya y\u00f6nlendirilir. IP adresi, bir istemcinin ayn\u0131 sunucuya her zaman y\u00f6nlendirilmesini sa\u011flar. Bu y\u00f6ntem genellikle oturum tutma gerektiren uygulamalar i\u00e7in tercih edilir.<\/p>\n<p>Nginx&#8217;te load balancing yapmak i\u00e7in, \u00f6ncelikle birden fazla sunucu yap\u0131land\u0131rmas\u0131 yapman\u0131z gerekmektedir. Ard\u0131ndan, nginx yap\u0131land\u0131rma dosyas\u0131nda load balancing y\u00f6ntemini ve ilgili sunucu listesini belirtmelisiniz. Bu sayede nginx, gelen istekleri belirtilen y\u00f6nteme g\u00f6re sunuculara y\u00f6nlendirecektir.<\/p>\n<p>Load balancing, y\u00fcksek trafikli web sitelerinde performans\u0131 art\u0131rman\u0131n etkili bir yoludur. Nginx&#8217;in sundu\u011fu load balancing \u00f6zellikleri, sunucu performans\u0131n\u0131 optimize ederken ayn\u0131 zamanda y\u00fcksek eri\u015filebilirlik sa\u011flar.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yontemler_Round_Robin\"><\/span>Y\u00f6ntemler: Round Robin<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Round Robin, <a href=\"https:\/\/sunucucozumleri.com\/blog\/yuk-dengeleme-nedir\/\">y\u00fck dengeleme<\/a> y\u00f6ntemlerinden biridir ve Nginx Load Balancer taraf\u0131ndan desteklenmektedir. Bu y\u00f6ntemde, gelen istekler s\u0131rayla sunuculara da\u011f\u0131t\u0131l\u0131r. Round Robin, kullan\u0131c\u0131 taleplerini e\u015fit bir \u015fekilde payla\u015ft\u0131rmak i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, bir web uygulamas\u0131 birden fazla sunucuda \u00e7al\u0131\u015f\u0131yorsa ve her sunucu ayn\u0131 kapasiteye sahipse, Round Robin y\u00f6ntemi kullanarak kullan\u0131c\u0131lar\u0131n her bir sunucuya eri\u015fmesi sa\u011flan\u0131r.<\/p>\n<p>Round Robin y\u00f6ntemi, bir liste kullan\u0131larak ger\u00e7ekle\u015ftirilebilir. Bu liste, sunucular\u0131n IP adreslerini veya URL&#8217;lerini i\u00e7erebilir. Her bir istek i\u00e7in liste \u00fczerinde bir sonraki sunucunun belirlenmesi ve o sunucuya y\u00f6nlendirilmesi sa\u011flan\u0131r. Round Robin y\u00f6ntemi, liste ba\u015f\u0131ndan itibaren ba\u015flar ve ba\u015fa d\u00f6nerek istekleri s\u0131rayla sunuculara g\u00f6nderir.<\/p>\n<p>A\u015fa\u011f\u0131da, Round Robin y\u00f6nteminin bir \u00f6rne\u011fini g\u00f6steren bir tablo bulunmaktad\u0131r:<\/p>\n<table>\n<tr>\n<th>Sunucu<\/th>\n<th>IP Adresi<\/th>\n<\/tr>\n<tr>\n<td>Sunucu 1<\/td>\n<td>192.168.1.100<\/td>\n<\/tr>\n<tr>\n<td>Sunucu 2<\/td>\n<td>192.168.1.101<\/td>\n<\/tr>\n<tr>\n<td>Sunucu 3<\/td>\n<td>192.168.1.102<\/td>\n<\/tr>\n<\/table>\n<p>Yukar\u0131daki tabloya g\u00f6re, her bir istek i\u00e7in s\u0131rayla sunuculara y\u00f6nlendirme yap\u0131lacakt\u0131r. \u00d6rne\u011fin, ilk istek Sunucu 1&#8217;e, ikinci istek Sunucu 2&#8217;ye ve \u00fc\u00e7\u00fcnc\u00fc istek ise Sunucu 3&#8217;e g\u00f6nderilecektir. Daha sonra d\u00f6ng\u00fc tekrar ba\u015fa d\u00f6nerek i\u015flem devam eder.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yontemler_Least_Connections\"><\/span>Y\u00f6ntemler: Least Connections<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Y\u00f6ntemler: Least Connections, Nginx Load Balancing&#8217;de kullan\u0131lan bir y\u00f6ntemdir. Load Balancing, bir websiteye gelen isteklerin birden fazla sunucu aras\u0131nda da\u011f\u0131t\u0131lmas\u0131 i\u015flemidir. Bu da\u011f\u0131t\u0131m\u0131n yap\u0131lmas\u0131, sunucular\u0131n yo\u011funluk durumuna g\u00f6re ger\u00e7ekle\u015ftirilir. Least Connections y\u00f6ntemi, ba\u011flant\u0131 say\u0131s\u0131na g\u00f6re en az y\u00fckl\u00fc sunucuya y\u00f6nlendirme yaparak dengeli bir da\u011f\u0131t\u0131m sa\u011flar.<\/p>\n<p>Least Connections y\u00f6ntemi, t\u00fcm sunucular\u0131n ba\u011flant\u0131 say\u0131lar\u0131n\u0131 s\u00fcrekli olarak kontrol eder. Her gelen istek, ba\u011flant\u0131 say\u0131s\u0131 en az olan sunucuya y\u00f6nlendirilir. B\u00f6ylece sunucular\u0131n \u00fczerindeki y\u00fck dengelenir ve kullan\u0131c\u0131 deneyimi art\u0131r\u0131l\u0131r. \u00d6rne\u011fin, bir sunucunun \u00fczerindeki ba\u011flant\u0131 say\u0131s\u0131 daha y\u00fcksek oldu\u011funda, yeni gelen istekler di\u011fer sunuculara y\u00f6nlendirilir.<\/p>\n<p>Least Connections y\u00f6ntemi, Load Balancing&#8217;in etkinli\u011fini art\u0131rmak i\u00e7in kullan\u0131l\u0131r. Sunucular aras\u0131ndaki y\u00fck dengesi, kullan\u0131c\u0131 say\u0131s\u0131na g\u00f6re otomatik olarak ayarlan\u0131r. Bu sayede sunucular\u0131n performans\u0131 ve h\u0131z\u0131 artar. E\u011fer bir sunucu hata verirse veya kullan\u0131lamaz duruma gelirse, Least Connections y\u00f6ntemi otomatik olarak di\u011fer kullan\u0131labilir sunucuya y\u00f6nlendirme yapar. Bu da y\u00fcksek kullan\u0131labilirlik sa\u011flar.<\/p>\n<p>Least Connections y\u00f6ntemi, mevcut kullan\u0131c\u0131lar\u0131n ba\u011flant\u0131lar\u0131na g\u00f6re en az y\u00fckl\u00fc olan sunuculara y\u00f6nlendirme yapar. Bu y\u00f6ntemde ba\u011flant\u0131lar\u0131n say\u0131s\u0131 dikkate al\u0131n\u0131rken, sunucular\u0131n donan\u0131m kapasiteleri veya i\u015flemci g\u00fcc\u00fc gibi fakt\u00f6rler g\u00f6z ard\u0131 edilmez. Bu sayede y\u00fcksek performans ve h\u0131z elde edilir.<\/p>\n<table>\n<tr>\n<th>Sunucu<\/th>\n<th>Ba\u011flant\u0131 Say\u0131s\u0131<\/th>\n<\/tr>\n<tr>\n<td>Sunucu 1<\/td>\n<td>10<\/td>\n<\/tr>\n<tr>\n<td>Sunucu 2<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>Sunucu 3<\/td>\n<td>12<\/td>\n<\/tr>\n<\/table>\n<p>Yukar\u0131daki tabloyu ele alal\u0131m. E\u011fer kullan\u0131c\u0131 taraf\u0131ndan bir istek g\u00f6nderildi\u011finde, Least Connections y\u00f6ntemi bu tabloyu referans al\u0131r. Sunucu 2&#8217;de bulunan 8 ba\u011flant\u0131, en az say\u0131da olmas\u0131 nedeniyle yeni istek bu sunucuya y\u00f6nlendirilir. B\u00f6ylece y\u00fck dengelemesi sa\u011flan\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Yontemler_IP_Hash\"><\/span>Y\u00f6ntemler: IP Hash<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Y\u00f6ntemler: IP Hash, Nginx Load Balancing&#8217;in kullan\u0131lan farkl\u0131 y\u00f6ntemlerinden biridir. Load Balancing, bir sunucu grubuna gelen istekleri uygun bir \u015fekilde y\u00f6nlendirerek y\u00fck\u00fc dengeleyen bir i\u015flemdir. IP Hash y\u00f6ntemi, istemcilere y\u00f6nlendirme yaparken istemcinin IP adresini kullan\u0131r. Bu y\u00f6ntemde, her istemciye kar\u015f\u0131l\u0131k gelen sunucu belirlenir ve bu sunucuya istemci y\u00f6nlendirilir.<\/p>\n<p>IP Hash y\u00f6ntemi, istemci IP adresini temel alarak y\u00fck\u00fc da\u011f\u0131t\u0131r. \u0130stemcinin IP adresi kullan\u0131larak bir karma de\u011feri hesaplan\u0131r ve bu de\u011fere g\u00f6re belirlenen sunucuya y\u00f6nlendirme yap\u0131l\u0131r. Bu sayede ayn\u0131 istemci her zaman ayn\u0131 sunucuya y\u00f6nlendirilir. Bu y\u00f6ntem, istemcilerin farkl\u0131 sunucular aras\u0131nda tutarl\u0131 bir \u015fekilde da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar ve ba\u011flant\u0131 tutarl\u0131l\u0131\u011f\u0131n\u0131 korur.<\/p>\n<p>IP Hash y\u00f6ntemi, Load Balancing&#8217;in avantajlar\u0131n\u0131 sa\u011flayarak performans\u0131 art\u0131r\u0131r. \u0130stemcilerin farkl\u0131 sunuculara y\u00f6nlendirilmesi, sunucu \u00fczerindeki y\u00fck\u00fcn dengelenmesini sa\u011flar ve verimlili\u011fi art\u0131r\u0131r. Ayr\u0131ca, ba\u011flant\u0131 tutarl\u0131l\u0131\u011f\u0131n\u0131 koruyarak kullan\u0131c\u0131 deneyimini iyile\u015ftirir. IP Hash y\u00f6ntemi, \u00f6zellikle daha b\u00fcy\u00fck ve daha karma\u015f\u0131k a\u011f yap\u0131lar\u0131 i\u00e7in tercih edilir.<\/p>\n<ul>\n<li>IP Hash y\u00f6nteminin avantajlar\u0131:<\/li>\n<li>&#8211; Y\u00fcksek performans ve verimlilik sa\u011flar.<\/li>\n<li>&#8211; Ba\u011flant\u0131 tutarl\u0131l\u0131\u011f\u0131n\u0131 korur.<\/li>\n<li>&#8211; Sunucu \u00fczerindeki y\u00fck\u00fc dengeler.<\/li>\n<\/ul>\n<table>\n<tr>\n<th>IP Adresi<\/th>\n<th>Y\u00f6nlendirilen Sunucu<\/th>\n<\/tr>\n<tr>\n<td>192.168.1.1<\/td>\n<td>Sunucu A<\/td>\n<\/tr>\n<tr>\n<td>192.168.1.2<\/td>\n<td>Sunucu B<\/td>\n<\/tr>\n<tr>\n<td>192.168.1.3<\/td>\n<td>Sunucu C<\/td>\n<\/tr>\n<tr>\n<td>192.168.1.4<\/td>\n<td>Sunucu A<\/td>\n<\/tr>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Nginxte_Load_Balancing_nasil_yapilandirilir\"><\/span>Nginx&#8217;te Load Balancing nas\u0131l yap\u0131land\u0131r\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Nginx&#8217;te Load Balancing, birden fazla sunucu aras\u0131nda gelen istekleri da\u011f\u0131tmak i\u00e7in kullan\u0131lan bir tekniktir. Load Balancing, a\u011f trafi\u011fini dengeleyerek sunucu performans\u0131n\u0131 art\u0131r\u0131r ve y\u00fcksek kullan\u0131labilirlik sa\u011flar. Nginx&#8217;in bu amaca y\u00f6nelik geli\u015fmi\u015f \u00f6zellikleri sayesinde Load Balancing yap\u0131land\u0131rmas\u0131 olduk\u00e7a kolayd\u0131r.<\/p>\n<p>Nginx&#8217;te Load Balancing yap\u0131land\u0131rmas\u0131 i\u00e7in \u00f6ncelikle Nginx&#8217;e y\u00fck dengeleyici olarak ayarlanmas\u0131 gerekmektedir. Bunun i\u00e7in <strong>upstream<\/strong> blo\u011funu kullanmal\u0131y\u0131z. Upstream blo\u011funda, da\u011f\u0131t\u0131lacak sunucular\u0131n IP adresleri ve port numaralar\u0131 belirtilir. Ard\u0131ndan, load balancing y\u00f6ntemini belirtmek i\u00e7in <strong>load_balance<\/strong> direktifi kullan\u0131l\u0131r. Nginx, \u00fc\u00e7 farkl\u0131 load balancing y\u00f6ntemini destekler: Round Robin, Least Connections ve IP Hash.<\/p>\n<p><strong>Round Robin<\/strong> y\u00f6ntemi, istekleri s\u0131rayla her bir sunucuya y\u00f6nlendirir. Bu y\u00f6ntem, gelen istekleri e\u015fit \u015fekilde da\u011f\u0131tabilmesi ve basit bir yap\u0131da olmas\u0131 nedeniyle s\u0131kl\u0131kla tercih edilir.<\/p>\n<ul>\n<li>\u0130pucu<\/li>\n<li>\u00d6rnek<\/li>\n<\/ul>\n<p><strong>Least Connections<\/strong> y\u00f6ntemi, isteklerin en az ba\u011flant\u0131s\u0131 olan sunucuya y\u00f6nlendirilmesini sa\u011flar. Bu y\u00f6ntemde, sunucular\u0131n mevcut ba\u011flant\u0131 say\u0131lar\u0131 s\u00fcrekli olarak kontrol edilir ve istekler en az y\u00fcklenmi\u015f sunucuya iletilir.<\/p>\n<ol>\n<li>\u0130pucu<\/li>\n<li>\u00d6rnek<\/li>\n<\/ol>\n<p><strong>IP Hash<\/strong> y\u00f6ntemi, istekleri g\u00f6nderenin IP adresini baz alarak sunucuyu se\u00e7er. B\u00f6ylece ayn\u0131 IP adresinden gelen istekler her zaman ayn\u0131 sunucuya y\u00f6nlendirilir. Bu y\u00f6ntem, \u00f6zellikle oturumlar\u0131 korumak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<table>\n<thead>\n<tr>\n<th>IP Adresi<\/th>\n<th>Sunucu<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>192.168.1.1<\/td>\n<td>Sunucu A<\/td>\n<\/tr>\n<tr>\n<td>192.168.1.2<\/td>\n<td>Sunucu B<\/td>\n<\/tr>\n<tr>\n<td>192.168.1.3<\/td>\n<td>Sunucu C<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Nginx&#8217;te Load Balancing yap\u0131land\u0131rmas\u0131n\u0131 tamamlad\u0131ktan sonra, <strong>server<\/strong> bloklar\u0131nda yap\u0131lan di\u011fer ayarlamalarla birlikte istekler da\u011f\u0131t\u0131l\u0131r ve sunucular aras\u0131nda y\u00fck dengesi sa\u011flan\u0131r. Bu sayede, kullan\u0131c\u0131lara daha h\u0131zl\u0131 ve kesintisiz bir hizmet sunulur.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhaba! Bug\u00fcnk\u00fc blog yaz\u0131m\u0131zda Nginx Load Balancing&#8217;i ele alaca\u011f\u0131z. \u0130lk olarak, Nginx Load Balancing&#8217;in ne oldu\u011funu ve neden kullan\u0131lmas\u0131 gerekti\u011fini anlataca\u011f\u0131z. Ard\u0131ndan, bu sistemin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 ve kullan\u0131lan farkl\u0131 y\u00f6ntemleri detayl\u0131 bir \u015fekilde a\u00e7\u0131klayaca\u011f\u0131z. Round Robin, Least Connections ve IP Hash gibi y\u00f6ntemlerin nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131na de\u011finece\u011fiz. Son olarak da, Nginx \u00fczerinde Load Balancing&#8217;in nas\u0131l yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 &hellip;<\/p>\n","protected":false},"author":6,"featured_media":4360,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-4361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/4361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=4361"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/4361\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/4360"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=4361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=4361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=4361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}