使用Apache进行负载均衡配置

首先

以下是我对在Apache 2.4中使用mod_proxy_balancer将请求分发给下属Web服务器的方法进行简单测试的总结。

系统配置图 (xì zhì tú)

mod_proxy_balancer.png

当接收到/balancer的访问时,按顺序将请求转发到后端的service1至3。

    • 動作確認では localhost にて試したが、バックエンドは別サーバーでも問題ない

 

    • 今回は service1 ~ 3 に Hello World という文字列を返すだけのHTTPサーバーを用意した

Kazunori-Kimura/http-dummy-server

设定

httpd.conf 的中文释义为:“超文本传输协议守护进程配置文件”。

(1)创建httpd-balancer.conf文件。

为了将Balancer设置集中在一个地方,创建一个设置文件。

ProxyPass /balancer balancer://mycluster lbmethod=byrequests timeout=1
<Proxy balancer://mycluster>
  BalancerMember http://127.0.0.1:8081 loadfactor=1
  BalancerMember http://127.0.0.1:8082 loadfactor=1
  BalancerMember http://127.0.0.1:8083 loadfactor=1
</Proxy>

<Location /manager>
  SetHandler balancer-manager
</Location>

当访问到/balancer时,请求被分配给已在中注册的BalancerMember。

装载因子是一种加权概念,数字较大的成员优先被分配请求。

当您访问管理者时,将显示mod_proxy_balancer的管理界面,其中包括每个成员的状态和请求分发情况的显示。

balancer-manager.png

在httpd.conf文件中启用以下模块。

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule status_module modules/mod_status.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

本次只是简单地按照请求的顺序进行分配,因此需要启用 mod_lbmethod_byrequests.so。

如果在 httpd-balancer.conf 的 ProxyPass 中使用除 lbmethod=byrequests 之外的方法,需要取消相应模块的注释。

加载 httpd-balancer.conf

在 httpd.conf 文件的末尾添加 Include 来读取 httpd-balancer.conf 文件。

Include conf/extra/httpd-proxy-balancer.conf

重新启动Apache

(5) 确认动作

/balancer にアクセスし、Hello World が表示されることを確認
何度かブラウザのリロードを繰り返し、各ダミーサーバーに順繰りにリクエストが来ることを確認
service1 ~ 3 のいずれかを停止した状態でブラウザのリロードを繰り返すと、Activeなサーバーのみにリクエストが来ることを確認


请参考以下资料。
请看以下资料。

    • mod_proxy – Apache HTTP サーバ バージョン 2.4

 

    • mod_proxy_balancer – Apache HTTP サーバ バージョン 2.4

 

    • Apache2.4でロードバランシング設定して管理画面(バランサマネージャ)で確認する。 – ボールを蹴りたいシステムエンジニア

 

    • セッションを継続するための設定

クラスタ構成の Tomcat をApacheでロードバランスする
Apache – mod_proxy_balancer | eastforest

广告
将在 10 秒后关闭
bannerAds