java伺服器在Linux下實現負載均衡

2021-09-02 03:16:13 字數 3010 閱讀 4174

我們需要在前端放置乙個apache作為負載均衡器,後 台有若干臺apusic或者其它的類似於tomcat/weblogic等應用伺服器,客戶端傳送到apache的請求,將被分配到後台的這些真正完成請 求的伺服器上。本文描述如何使用apache作為負載均衡器的方法和不同的負載均衡的配置。

在某些場景中,我們需要在前端放置乙個apache作為負載均衡器,後台有若干臺apusic或者其它的類似於tomcat/weblogic等應用服務 器,客戶端傳送到apache的請求,將被分配到後台的這些真正完成請求的伺服器上。本文描述如何使用apache作為負載均衡器的方法。

我們假設apahce安裝在 myserver 這台伺服器上,並且希望使用者訪問http://myserver/ 時,能夠將這些請求被負載到後台的兩台伺服器上,分別是: 和

一、安裝並重新編譯apache

1、linux下apache的安裝

1)解壓

2)解壓以後,cd httpd-2.2.3 進入解壓後的目錄,在終端執輸入以下命令:

預設情況下,apache安裝是不會將這些檔案編譯進核心,因此,需要人工載入,而通過上述操作,在編譯時會將這些dso檔案編譯到核心中。

3)在終端輸入:make

4)在終端輸入:make install

5)進入apache的bin目錄,在終端輸入apachectl –k start

6)在瀏覽器中輸入http://myserver,預設是80埠,如果出現it works!,說明apache已經正常啟動。

2、window下apache的安裝

4)在瀏覽器中輸入http://myserver,預設是80埠,如果出現it works!,說明apache已經正常啟動。

二、配置apache作為loadbalance

將apache作為loadbalance前置機分別有三種不同的部署方式,分別是:

1 )輪詢均衡策略的配置

進入apache的conf目錄,開啟httpd.conf檔案,在檔案的末尾加入:

proxypass / balancer://proxy/         #注意這裡以"/"結尾

balancermember

balancermember

我們來觀察上述的引數「proxypass / balancer://proxy/」,其中,「proxypass」是配置虛擬伺服器的命令,「/」代表傳送web請求的url字首,如:http: //myserver/或者http://myserver/aaa,這些url都將符合上述過濾條件;「balancer://proxy/」表示要配 置負載均衡,proxy代表負載均衡名;balancermember 及其後面的url表示要配置的後台伺服器,其中url為後台伺服器請求時的url。以上面的配置為例,實現負載均衡的原理如下:

假設apache接收到http://localhost/aaa請求,由於該請求滿足proxypass條件(其url字首為「/」),該請求會被分發 到後台某乙個balancermember,譬如,該請求可能會**到 aaa進行處理。當第二個滿足條件的url請求過來時,該請求可能會被分發到另外一台 balancermember,譬如,可能會**到。如此迴圈反覆,便實現了負載均衡的機制。

2) 按權重分配均衡策略的配置

proxypass / balancer://proxy/         #注意這裡以"/"結尾

balancermember   loadfactor=3

balancermember   loadfactor=1

引數」loadfactor」表示後台伺服器負載到由apache傳送請求的權值,該值預設為1,可以將該值設定為1到100之間的任何值。以上面的配置 為例,介紹如何實現按權重分配的負載均衡,現假設apache收到http://myserver/aaa 4次這樣的請求,該請求分別被負載到後台伺服器,則有3次連續的這樣請求被負載到balancermember為 的伺服器,有1次這樣的請求被負載balancermember為http: 後台伺服器。實現了按照權重連續分配的均衡策略。

3) 權重請求響應負載均衡策略的配置

proxypass / balancer://proxy/ lbmethod=bytraffic#注意這裡以"/"結尾

balancermember   loadfactor=3

balancermember  loadfactor=1

引數「lbmethod=bytraffic」表示後台伺服器負載請求和響應的位元組數,處理位元組數的多少是以權值的方式來表示的。 「loadfactor」表示後台伺服器處理負載請求和響應位元組數的權值,該值預設為1,可以將該值設定在1到100的任何值。根據以上配置是這麼進行均 衡負載的,假設apache接收到http://myserver/aaa請求,將請求**給後台伺服器,如果balancermember為http: 後台伺服器負載到這個請求,那麼它處理請求和響應的位元組數是balancermember為http: 伺服器的3倍(回想(2)均衡配置,(2)是以請求數作為權重負載均衡的,(3)是以流量為權重負載均衡的,這是最大的區別)。

注:每次修改httpd.conf,用apachectl –k restart重新啟動apache。

在linux下構建CVS伺服器

本人裝了fedora2後系統已經安裝好了cvs軟體,所以無需在自己安裝了,只要配置一下cvs就可以使用了!本文就介紹一下配置的過程。第一步 將cvs服務加入到xinetd中,以便以後啟動後會自動啟動該服務。具體的操作是 然後重新啟動xinetd root terry bin etc rc.d ini...

在linux下安裝mysql伺服器

1.cd opt soft 2.安裝 make wget tar zxvf make 3.82.tar.gz cd make 3.82 configure make make install cd 3.安裝 bison wget tar zxvf bison 2.5.tar.gz cd bison ...

在 Linux 下搭建 FTP 伺服器

1 安裝 vsftpd yum install vsftpd 開啟 vsftpd 檔案 vi etc vsftpd vsftpd.conf 初次修改前建議備份該檔案 在檔案末尾新增 pasv min port 2100 pasv max port 2199 關閉以下配置 新增注釋 anonymous...