说到负载均衡LVS这套技术,有很多种实现方法。
本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡。
首先,传统的正向代理如下图所示,正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUsAAAGCCAIAAADmMna1AAAd0klEQVR4nO2dP2gcS57Hf8FmFxwHfemk5hRK9xIFSgyGhcdLlnWgQIlBBwocKJBAgTzYz9pleKs7BDZILA5sbPPMCoNgHExg+ckwC1rdBDvLBLpFjxWsBBPIMIFsvLBzQal7+k9VdXV39XRV9ffHh/FI6qmp6q5P/6qqe8Y0RiAQ7gZVXQEEAlFiwHAEwuWA4QiEy3Fj+Me//e3bV6+8VouaTQCAdXit1revXh3+/DPH8P/+4x9/8fBh5VUEABTkFw8fPvrpp4jhP/7lL/+O1A2AK/zrb37zut+fGP6rH3+svE4AAI386scfJ4bPPHlSeYUAABqZefJkYnjltQEAaAeGA+AyMBwAl4HhALgMDAfAZWA4AC4DwwFwGRgOgMvAcABcBoYD3UwtKm+pDcBwoBWit3688eO1H8/9eObHnh9P/djZ2dnZ2dn2o+XHlh+PHj2C4erAcKAPooODg7Dbgd7PQ5Gqt9xwInrw4AEMVwSGA034esdy+OtQxCTPYTjTG4arA8NBAUJx4If6ED2Q/GkoJIYHesNwdWA4yAtRp9Npt9tE1G63Y3rHJH/+/LkkhweSS3J4WG8Yrg4MB7kI6T2deBANGK4IDAfZIer4QUT/50e/3/+THx8/fnz//j07CwTLbyyNs+xNRGxV/NGjR1tbW9vb20+fPn327Nnr16/fvHlzcHDQ6XQ+fvwYbAbD8wHDQUaImLpBDg/0ZsH0Zoa/f/8+GMAnDWeiPnjwIGz48+fPA8Pfv38f3gyG5wCGgyyE9M6dw58/fx7O4Q8ePGi1Wsxw7vgcObwIMBwoIwhJDpeP0pmo4VE6EdF4TP87pr0x/deY/nOMHF4QGA6UCV0SC0Kew4NRumQeHh6lcw1HDi8CDAfKEDGlg0idh7Mc3m63M+Rw3io6DM8NDAfK+Er/g+gfRIHwohz+8eNHlXk41tJLBYYDZXyl/0E0Shieex6OtfRSgeFAGV/pEc/w3PPw1EAOLwIMB8r4Sl8RXembh7Mc3mq1dnZ2wmn87du3rHzk8CLAcKCMr3RguJZ5+I2uvGBvhxxeBBgOlPGV/jvR37XOw4mIbR9+DAxHDi8CDAfKSA0vcj2cJuvzY6Ixe0AO1wIMB8r4Sv+V6K9a5+HyUTpyeBFgOFDGVy4wXNc8XL7ShhxeBBgOlPGV7hP19c3DUwM5vAgwHCjjK/0nnuG55+G4p61UYDhQJmT4n7TOw3FPW3nAcKCMr/QR0ZHWeXjw+fBwDm+328jhxYHhQBlfaa7hWj4fjhyuHRgOlPGVfk/0Xt88PDlKf/v2LebhuoDhQJmE4do/H44crh0YDpTxlW4TtbXOw7lr6ZiHawGGA2V8pbmGa5mH7+3tha+WIYcXB4YDZXyl/0D0hzLn4bgerhEYDpRJGF7SPJyttLXbbeTw4sBwoIyv9AuiF6XNw5HD9QLDgTK+0i+I9nA93BJgOFDGV3qPZ7iueTjW0vUCw4EyvtI7RDvlzMOxlq4dGA6U8ZUODMc83HxgOFDGV/p3RL8rcx6OtXSNwHCgjNRwXA83ExgOlPGV/p7o+zKvh2MerhEYDtQIffnp977hVd2XDr3VgeFAjfFE6SAquS8demcChgM1fMNZdg0eY4aHE3gZ83DonRUYDtQYkyjCo/Sw5NrvS4feOYDhQA3//yGJaybO4Xqvh0PvfMBwoADTm/unqUXlO8FOYDhQQGJ4s5nZwNj28pdD72LAcKCA3HBgMDAcKKDD8Jt+lraBKKrfCXYCw0EaYr3lToa1VPE2+E1sAxheBBgO0kgznBJOUlRL+V9jpamcC4A6MBykUdjw2PYqxiKB6wKGgzTyjtK5W3J/FJWcfA6yAsOBFOkamySHx7bhJuTkn9RPGUARGA6kZDc81fbUN4XVGoHhQIqC4alZVz0ti15Y/X6wFhgOpOjL4bHfcH/kygzPiwDDgZRc83BJfhb9SGkjgup3hZ3AcCAm7VY29RyemtJFpXG3BOrAcCAm7xCdolpybU9KK03hMDwnMByIwQdO7AeGAzEw3H5gOBAAvZ0AhgMBMNwJYDgQAMOdAIYDATDcCWA44AG9XQGGAx4w3BVgOOABw10BhgMeMNwVYDjgAcNdAYaDBNDbIWA4SADDHQKGgwQw3CFgOEgAwx0ChoMo0NstYDiIAsPdAoaDKDDcLWA4iALD3QKGgxDQ2zlgOAgBw50DhoMQMNw5YDgIAcOdA4aDEDDcOWA48IHeLgLDgU9guDwqryfIAgwHPn6MRqOrqyv2mAwIbxcwHDQDsVmE9eZ6PhwO2eNwOITnhgPDa0/CbUkOZ26HJWePkNxYYLiLqIS/5SgRgd4i1cM5PIh4Msc03gxguEP4cX19/fXr12tBjEaj6+vrYEu53pIhOtf2oA4XFxfD4fAiEbB9ysBwVyD66kdgONdzZvhoNOIm8Kzz8GQmD54zpbmex22vfO+5Cwx3Al9vuduxHM58TqZxeQ7nzsOTksvdvri4OD8/Z4/n5+eQvDxguP2EsndMb3kOl7udOgkXpfEggYs8D9wOP0LykoDh9hNN4Knjc4neijk8JnlYdaZ01hw+yeTwXDcw3HKiCTw5UE+qHtY7daUt6zxcPYcHenM8r3yvOgQMt5BoKIqtMkRPzeFDwfVwLTl8ksax3q4PGG4Pfvzzn/8MMrYkhyvOw2OqTzmHi1RncXZ2BtULAsNtwBebxdevX8OP6vNw7kA96zx8KL0eXjCHx/QOnkxUr/xY2AYMNx6x29yQD9flCdyEeXjM7fDjjeeVHxGrgOFm4+vNrE5KHlM9dR5ePIeXOg/nqn4WDUieCRhuMKHsnUzjqTmc63nxHC5yW+M8PJm6w57D8EzAcFNJ6C1K41+/fr24uOj4cXp6Gna71+sFfzo/P9eSw4e5rof3+/0XL16srKw0Go0iORySZwKGmwovgYtyODN8YWGBiGZmZsKZvNfrbWxsNBqNTqeTTN1hz/f390udh/f7/f39fSK6deuWfCE9lsMxUC8CDDeSNL25tnc6HbbevLe3Fx6f7+3tbWxsyOfh7OyQmsOHxa6HHx8fE9Hdu3eRw6cGDDcSgeHyeXir1VpeXiYiNgwO0vjm5man05HPwz3PW1hYKHstneXwnZ2dTDkc8/AiwHAjEa+xSRbSl5aW+v3+N998Q0Sbm5tBxl5YWBgMBsGPZ2dnjx8/XlhYWF5eZoPz+/fvs/PCxsbGxsZGt9tdWFiYn5+/f//+4uIiG2Dfv3//6dOnV1dXrVbrzp07vV4vUL3T6SwuLs7Pzy8uLh4dHTGrB4PB6urq2traxcXF2traysrKxcXF6uoqER0eHp6fn/f7/ZWVle+++06UwGP3tuGqeD5guJHkyuELCwts4s0sCJbcZmdnA72Pjo6++eabwWDA0um7d+86nc729jYRLS8vv3v37vj4eG1t7c2bN+/evdvY2Gi1WldXVwcHB0R0cHBwenp6cHDged7a2hrL1ffu3btz585gMBgMBo1Gw/O8wWDw8uXLW7duEdHKysq9e/eIaHV19eLi4s6dO0R0cXFxeHg4Ozu7vLy8ubmZTOPcGTjczgcMN5Wo5MHNqpJ5OFtjY8mciH75y18GOZw9GQwGnuft7e1dX19vb297nnd2djYajTY2NpjtbFh+dnZ2dXX14sWL2dlZ9puHDx+yUwZL2vPz82tra1dXV2tra0TU6/WY7ezH/f39Z8+esTPI5ubmrVu3VldX2ci80WjMz88fHh7evn273+8rzsMxRC8CDDeVkOHc29pi0ev1lpaW2MT7/Pzc8zwi6na7nU4nWGZjg+Szs7Ojo6OZmRm2eD4ajVhqDS+z9ft9z/PYsPzq6mpxcdHzvGAe7nlet9sdDoee583MzARz78Dw4XDIDJ+dnR0MBsFaOjvveJ7XaDQCjVXm4Vhmyw0MNxiisN6x1B2zfW9vb3Nzkz1nq2tsat1qtfb394Nk7nnexsYGS+PBBTMmarC0NhqN2Mz89PR0NBqdnp6ydTg28e52uyy3s+nA/fv3A8Pn5+c9zwvbzlJ3eJnt9u3bd+/eJaLt7W31tfSY6pBcHRhuNoL7XpI5fHV1tdPpfA1dCW80GkzyXq/HDCcitmAe1nswGBDR4uIiG58zz9nFM5axnz59OjMzMz8/z368c+fO0dFRMDkPJuRBOezH27dvExFL4Gw5PVhmY9fMZmdnz8/Pj4+PFefhMDwfMNxgxHonbZ+ZmWGGB5Lv7e2xxalgmY0Nj5k529vb29vbo9Ho3bt3zPzFxcXt7W2Wxtm4vdvtHh4eHh4eNhqNRqNxenraarWePXvGZuMsh8/OzgZJ+9atW4HSnufNz8+HL4bPz8+zZbaLiwuWxu/evbu0tJRpHg7JswLDDUb5vvSVlZWFhYWlpaWdnZ3r0IdPZmdnZ2ZmAsNfvHjheZ7neUtLS4PBgKVxtvw2Ozt7fHwczMOPj4/Z6eDNmzfsChm7W67T6YQviT979oyN8L/77rudnZ1guH50dNRoNNgQPbge7nnevXv3WMY+PDz0PO/x48c55uFnZ2enp6cwXBEYbipZ7kuPxXXhb3oR3euSeseL/J62cHDdVlcdhisCw00ly33pmdyWiJ31nja558zkmOfnCl/wgnm4RmC4wYi/+yFp+7X/BS9f0z5AGmRvSRqXuy2RvIwcfo6F9ALAcIPJ/vlwjeNzlRwuCYnh52rf8UJEGJwXB4abTSKNi+bh17wvaZMkcPlwXTIPH0q/py2WxlM9l+dwSkblR8Q2YLjxRDO5PIcXT+NTzuFc1YMZOJQuDgy3ASKV+9JT0zh3+p1pHq642CZZacucwyvf+ZYDw+3B95wS35HOzeGikAzOVXK43G298/Dq97n9wHDbSORzyRA9qfpI8A0QmXL4UPw9bRrn4TBcCzDcQqL/7cmUc/h05uHQWxcw3E54aTw2D5fYzp2Qq+Twodr18ILzcCybawSGW4tgNi7P4exz4OXlcCIqOA+H23qB4TYTkpw7A4+pHnzOTH0eHnyGlDsJ59oeXLrOmsORussAhluOH6k5PPgkqXoOZy/JOg+fWBpVXTQPx90spQLDXSE1/M1U5uGxl8gzeTx7Z61b5bvOaWB4/QgFX2wiSvYHP2Jiw1XDgeH1hptOxzzD5S8BpgLDQQK54cAqYDhIAMMdAobXgptjLPiRgybJ098IlAwMrwWTwxz6MXV7Xe9befPrDAyvBTC8tsDwWjAOBQkG7clTQGxj7suzvhZMGRheCySGc5/Lf6m4WfJ9wfSB4bUgpp9IwlRLVc4U3NdWvgdqCwyvBRLruAZqNxySVwUMrwWKhnMtFW2j8lpRgWBqwPBaIDGWuJl2TCpWc1+r+EIwHWA44IHb2lwBhgMeMNwVYDjgAcNdAYYDHjDcFWA44AHDXQGGAx4w3BVgOOABw10BhgMBkNwJYDgQAMOdAIYDATDcCWA4EADDnQCGAwEw3AlgOBAAw50AhgMBMNwJYDgQAMOdAIYDATDcCWA4EADDnQCGAwEw3AlgOBAAw50AhgMBMNwJYDgQAMOdAIYDATDcCWA4EAPJ7QeGAzEw3H5gOBADw+0HhgMxMNx+YDgQA8PtB4YDMTDcfmA4EAPD7QeGAzEw3H5gOBADw+0HhgMxMNx+YDgQA8PtB4YDMTDcfmA4EAPD7QeGAzEw3H5gOBADw+0HhgMxMNx+YDiQAsktB4YDKTDccmA4kALDLQeGAykw3HJgOJACwy0HhgMpMNxyYDhIkDsqrzlIAMNBFKJPnz59+vTp0o8zPwZ+9Hq9wWDQ7XZ7vV632+12uzDcWGA4CCHWO2w4kzys9+9//3sYbiYwHPgQff78+ZMfIslZAg8MZ3rDcGOB4aBJzYnenz9/voxG4HaQxnt+BHrDcGOB4eBG73ACD3K4ZJQe1huGGwsMrz1E4/E4MFyUw2MrbTG9YbixwPB6kzdiev/www8w3ExgeL0hYuvhvV7v7OyMJe3Pnz+PQ8FyO0vmsdU15HDzgeH1hmhyNVstYob/8MMPMNxkYHi98Y0Nr5ZLHpOGI4cbDgyvN76xg8EgNXvDcBuB4fUmlMOJaCwOkeEYpRsODK83WXI42wY53C5geL1RnoezgOHWAcPrTdRw9mnw2H1sgdvcHI5RuuHA8HoTMjx2/3nMcKylWwoMrzeFr4fDcMOB4fWm8D1tGKUbDgyvN77h7CMlZ2dn7MMnXMPZNsjhdgHD6000h4cNDy6Px3I494NlMNxYYHi9CeXw2HybravFrocnczhG6YYDw+tNKIfLr4qzvyKHWwcMrzfiHJ4MZjvm4XYBw+tNlrX04BvaMEq3CBheb7CW7jowvN5Eczi7a7Xb7bbb7eCRDdHZWjoMtw4YXm+iOfzy8pJ90ap6Dsco3XBgeL0RXw8X3dOGtXS7gOH1BvNw14Hh9Saxlp40PPgPEnBfuo3A8HpD1O12maUvX75st9vtdvvz5883/234mMbjcbvdfvnyJZP5+++/Rw63CxhebxRyuPx6OAw3HBhebwrncIzSDQeG15vsa+kYpdsFDK83iRze7XY/ffqEebgzwPB6g/vSXQeG1xvkcNeB4fVGbR4e/EfiWEu3DhhebzStpUNvY4Hh9UbH9XDobTIwvN4UzuHQ23BgeL0pdj0cepsPDK83BdbSobcVwPB6k/d6OBER+owNwPB6kzv8JF99E4AUGF5vxsTSePiL2eSPk8E5JLcBGF5jmJ9ZI1kCOo/BwPC6oiKnir2Q3GxgeC0Ra3nTG8KbibcJL8hJtkxGjjqnvlD0Xrnf0Q1guJWo99pM/Z7zS57kMcMnT8bEfUfuS1LrFq6JSv1jb8F9xxoy2RWVVwWok6/XTjyMHu5U05KycaoRGhck7eL6JnKSu5nwfdVaUfkhq7arjGG4XeTrtTevEhjOf9WYUg2PiOTfJ5NUVyJqDocV90/N9SYYPuW9LHJDsmXxl8f+Khl1c4gaPhZEePuk4dwnktKS9RE1X77D01tXAyb7qvKq1AFJR8+0ZbiLp5bJ3UDyXhHNBAk5teaxjRWbIykt+XbJP8mj8qNfCZPmV14Vh5H0eO5zSbcWvST52vgGvqvCDbjFKozSRe3lVkmx5qmtVtzblR/6ypnsisqr4iqqLmVJvOpbktjVZGmcYosYHupUklZIInUzUYHcH+vJZCdUXhVX4SoxtV9SmYYrvjYZ3NeKNpO/b/hHSeu4f6oDk+ZXXhWHSXZcUVeWmMB1g/tcJIPcgeS7jxUMl1SPvTx2/Sz1fVM3VqkGpyFV94GqmOyByqtSK6bX7Xgr2xkqo2A4RfNkRKrQ58wVDedqKfI5tbSp7mojgeFV7vfpvIs8JJVRlE30e8U3Ta0StwLJOqQ2s55M9kDlVQGa0fWZkOKF4NMp1QHD3UWXVBpPE+hmUweGO4pGnfSeKdDTpgsMdxG9LmkvCp1tisBw59BuURmlob9NCxjuHNr9KalAdLmpAMPdogxzyisTva58YLhDlKRNSSpC8qkAw12hPGHK8xCSlw8Md4WyPSy12uh+pQHDnWAKEpZdefTAcoDh9lO2IVPQD5KXBgy3nOm4AcmtBYZbznSsmOa7oCtqBYbbzNR8mPIboTfqA4ZbyzRlmKZ1kFwrMNxOpqzBlJWD5PqA4XZSiXLTbyC6ZWFguIVU5VslzUTPLAYMt41K+n1VpkHywsBwq6iqx1eoGSQvBgy3impzabWtRhfNBQy3h8oTaeVtRy/NDgy3hMq7eOWCVV4BO4HhNlC53k0zBDOhDrYBw43HBL2bZthlyK6wChhuPIb0aaOqYUJNLAGGm405vdm0mhhSGeOB4QZjVFc2pyam7RmzgeGmYlonNqoyBu4fU4HhpmJa9zWtPk1IrgQMNxIDO66BVWpC8nRguHmY2WsNrJLJu8sYYLhhGNtfzayV4TvNAGC4YZjcU82vm7HVqw4YbhKG91ErqmdyDasAhhuD+R3U8OpZsQ+nDgw3Ayu6pvk1tGVPThEYbgZWdEorKtmE5BFguAHY0h1tqWcTkk+A4VVjUV+0pZ7W7dgygeGVYlcvtKiqNu7ecoDhlWJX/7OrtuE6W1dtfcDw6rCu51lX4XC1bay5DmB4RdjY7ayrsNV7WxMwvAos7XA21tn2fV4YGF4F9nY1e2verKnkMHzqWN3JrK58s46Sw/DpYnsPs7rybhyCjMDwKeJA37K9/s4cCGVg+BRxoFc50IRwQ9xoixQYPi3c6E9utCLcFmeaIwCGTwVnOpMbrYg1x6UWJYDh5eNSN3KmIQ63KAoMLx+X+pBLbXG7UT4wvGQc6z2ONSfcKPfa1WwSDC8X97qOY82JtcvFpsHw0nC10zjZqKazxwuGl4aL3cXldjXdlByGl4NzHaUWTWs6KDkMLwH7e8lusai8/jU/fGFguG7s7x+7u7uXl4MPueLycrC1tUVkcfPJrRMcDNdN7fX+9a9/bbXhjp3gYLhW7Nf7S4HY3d213XD3TnAwXIhLQzXF9n758uXycpAb2w138gQHw/k4NlRTbDIzPF+TbTfc1RMcDOfg3lBNsdWsi1PmaA6HQ2O7eNbmO3aCg+FxnByqqTf8xvDlE8bc3Aktn9DkCsENc3MnN9AuuWW4Yyc4GB7B1aFaprYHhi/vjrmST/SeO5mbOyGzu3ju5rtxgoPhEVwdqmVqOxHNzZ0s746Xd8fcnBUx3PgunqP5Lp3gYHgEV4dqmdt+07PH6+vruyfjMHHDje/iOZrv0gkOhkdwdaiWte2syXNzJ+vr6ycn45OTMVEzATnT9uShd+YEB8MjuDpUy9F21uTA8K2trfCC4s2JgHbdaDu5e4KD4RFcHarlaLt/5rqJsOFsxcGWLp6j+S6d4GB4BFeHalnbHmvd3NzJ1tZW7KqBLV28SPMdOMHB8AiuDtVytD1xChMMZJxoe2rz7T3BwfAIrg7VsrY92cWZzNxHB9qe2nx7T3AwPIKrQ7WMbU8OVVKwve2iQ+/ACQ6GR3B1qJap7TW8n4/cPcHB8AiuDtXU257jZr4gdnd319fX2WCHReWNynHoHTvBwfAIrg7VFNu+VSyY3uvr61tbWwcHB8vLyxbtBFdPcDA8gqtDNSV0BOvZTG+7doKrJzgYHsHVoZqcWDct+OTDhw9Mb7t2gqsnOBgewdWhmoSt6CXA4sE6tzldXGUPOHyCg+ERXB2qSWCGD/XF8vKyUV1cpfkOn+BgeBRHh2oSAsNPTk4uLweSx5OTE/nZjY1iTOviis139QQHwydHOpyHCz4xbagmb/iXL1+YxuyDcyK9L9M+Nh8YbkvbqQYnOBg+OcwOD9VS2866ODWJmsTt3Nz48OEDewyHRW2nGpzgYPjkMDs8VEttuzx3xX4MxE7qHe7ihjc8duhdPcHB8PhhdnKoptL2/R//RwtWtDrWfIdPcDA8fpidHKpJWF9fX9Ya5jc5eegdPsHB8CbVYKiWgvaovEXKOH+Cg+FNqsFQDchw+gQHw5tUg6EaqC0wvEnODdVujijvMId/z/1lSUUV3wDkA4b7ODFUk+gXe879ZalFFdkgx05QbIv87XQVVXyD4l2C9JYLKkRFS8n2ikXlKz+1Exfp5RL9Ys8V66yxKF37J/c+IY2FgmqpreFovqhABw1P7qlxKOS/LKmofO+lve3cPykWJSpH3rTw76ff/NR3Tz1k8i0zlZ/aQC17gHvoSWOh1SLpgrHnisdGY1FZ36vIHlD5U9YOV1LbFSuTu/njaKi/Kbf5oi4hKipT87XsAX6xesutHJWuKdlesah85ZfdyxXLV3kvld2ope0aO3fBQ1lJ88vYD+ECxzC8YLfQdZi1HOCs/VJjUcV3jvZDn+MoTLn55e2KoMCx84aHmyr6k2JRonJEhScLUeyCJbWd24pkZ1UvSlK+4gbcyuhqPvdNFd8la1HcYotvUHxvjOtguMphy7q9xsOsWBmQSnIfJs8d40RIXigvSlJ+kQ307o1xbQ1X2afcgxF7nlqm4puWcYxBnamL4alaaiwKhgNzqIvhJB4pxX4veqG8KEn56htwfwNAEZw1HABAMBwAt4HhALgMDAfAZSaG/8eTJ5XXBgCgkZknTyaGf/vqVeUVAgBo5NtXryaGv+73/+23v628TgAALfzL48cv//znieHj8fjRTz9VXi0AgBaah4eRWzDYP4c///ztq1deq1V5/QAAOfBarW9fvTr8+edxNGiMQCDcDRiOQLgcMByBcDlgOALhcvw/JPKpMm/W71YAAAAASUVORK5CYII=" alt="" />
而负载均衡中的反向代理,通常意义上,是一个请求转发的代理。类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室。通过这样的操作,可以使每台服务器避免过多的负载导致宕机。而转发的这个过程,通常也有很多种不同的算法。下图所示,就是一个反向代理的过程:
aaarticlea/png;base64,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" alt="" />
实现这样一个架构,需要几台服务器,不论是linux 或者 windows都可以实现。
如果如图所示,实现,则需要四台服务器,1台apache反向代理服务器,实现请求的转发分配。3台后台的主服务器。
在apache代理服务器上面,如果安装的centos系统,那么自带的httpd服务,就不用再安装apache服务器了。它的apache服务器的配置文件在/etc/httpd/conf/httpd.conf文件中,可以通过vi命令打开。
1 确保需要的mod_proxy模块均加载,主要的模块如下:
mod_proxy.so
mod_proxy_ajp.so
mod_proxy_balancer.so
mod_proxy_connect.so
mod_proxy_ftp.so
mod_proxy_http.so
2 配置相关的代理设置,在httpd.conf文件末尾添加:
ProxyRequest off
<Proxy balancer://testcluster>
BalancerMember http://192.168.0.1 route=jvm1
BalancerMember http://192.168.0.2 route=jvm2
BalancerMember http://192.168.0.3 route=jvm3
</Proxy>
Proxy /tt balancer://test/tt stickysession=JSESSIONID | jsessionid nofailover=On
ProxyPass Reverse /tt balancer://test/tt
3 在后面的主服务器1(例如JBOSS服务器)的/jboss/server/default/deploy/jboss-web.service/servers.xml中
<Engine name="jboss.web" defaultHost="localhost" jvmRoute="jvm1">
....
这样一个负载均衡就大致 形成了。
其中可能有人考虑到,如 果一个请求时登陆请求,而第二个请求时操作,结果第二个请求转发到第二个服务器上面。那么如何操作。这个不用担心,apache反向代理有 session粘连这样一个概念,它会把所有关于cookie的文件保存在apache服务器上面,其他的操作均会读取这样一个文件。
不同的负载分配方案
1 如果按照上面的配置方案:
ProxyRequest off
<Proxy balancer://testcluster>
BalancerMember http://192.168.0.1:8080 route=jvm1
BalancerMember http://192.168.0.2:8080 route=jvm2
BalancerMember http://192.168.0.3:8080 route=jvm3
</Proxy>
Proxy /tt balancer://test/tt stickysession=JSESSIONID | jsessionid nofailover=On
ProxyPass Reverse /tt balancer://test/tt
apache服务器会按照请求,挨个转发,第一个转发给jvm1服务器。第二个请求转发给jvm2服务器。第4个请求转发给jvm1服务器等等
2 如果某台服务器的性能要优于其他几台,那么可以通过loadfactor参数实现负载的分配
ProxyRequest off
<Proxy balancer://testcluster>
BalancerMember http://192.168.0.1:8080 route=jvm1 loadfactor=1
BalancerMember http://192.168.0.2:8080 route=jvm2 loadfactor=2
BalancerMember http://192.168.0.3:8080 route=jvm3 loadfactor=3
</Proxy>
Proxy /tt balancer://test/tt stickysession=JSESSIONID | jsessionid nofailover=On
ProxyPass Reverse /tt balancer://test/tt
这样第一个请求发给jvm1,第二个和第三个发给jvm2,第四个到第六个发给jvm3