haproxy varnish
(1)動静分離配置wordpress,動静ともに負荷均衡を実現し,セッションの問題に注意する.
(2)haproxyとバックエンドホストの間にvarnishを追加してキャッシュする.
(3)設計トポロジー;
(4)haproxyの設定要件:
(a)stats pageは、ローカルアクセスのみで管理インタフェースを使用することを要求する.
(b)動静分離;
(c)異なるサーバグループのスケジューリングアルゴリズムをそれぞれ考慮する.
(5)haproxy高可用性;
実験計画:
keepalivedプライマリ・スペアで使用可能な2つのhaproxyサーバ
varnishキャッシュサーバの高可用性
動的webクラスタ
静的webクラスタ
haproxy1: 172.16.1.4
haproxy2: 172.16.1.2
varnish1: 172.16.1.5
varnish2: 172.16.1.6
dynamic server1:172.16.1.3
dynamic server2:172.16.1.7
static server1: 172.16.1.10
static server2: 172.16.1.8
トポロジー
00.PNG
1、2台のhaproxyプロファイル構成
haproxy1.PNG
haproxy2.PNG
サービスの開始
~]# systemctl start haproxy
~]#systemctl status haproxy#ステータスの表示
~]#ss-tnlp#80ポートと9999ポートが有効かどうかを確認
~]#systemctl enable haproxy#起動設定
二、keepalivedの配置
haproxy 1のkeepalived構成
11111.PNG
haproxy 2のkeepalived構成
22222.PNG
3、2台のvarnishホストの構成
varnishのリスニングポートを80に変更
[root@varnish1 ~]# vim/etc/varnish/varnish.params
VARNISH_LISTEN_PORT=80
varnishプロファイルの内容
[root@varnish1 ~]# vim/etc/varnish/default.vcl
aaa.PNG
bbb.PNG
ccc.PNG
コンパイルによる構成の有効化
[root@varnish1 ~]# varnishadm -S/etc/varnish/secret -T 127.0.0.1:6082
200
Varnish Cache CLI 1.0
Linux,3.10.0-327.el7.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
varnish-4.0.5 revision 07eff4c29
Type 'help' for command list.
Type 'quit' to close CLI session.
vcl.list
200
available 0 boot
active 0 myconf3
varnish> vcl.load conf1 default.vcl
200
VCL compiled.
vcl.use conf1
200
VCL 'conf1' now active
vcl.list
200
available 0 boot
available 0 myconf3
active 0 conf1
四、バックエンド動静サーバーwordpressホスト構成
バックエンドamp構成は省略
動的ホストの/var/www/html/でhealthを作成します.phpは動的健康状態検査に用いられる
DynamicServer is Health.
静的ホストの/var/www/html/でhealthを作成します.html静的健康状態検査に用いる
StaticServer is Health.
五、クライアントの表示
クライアントはhaproxyのstats pageにログインします
上陆PNG
1台のvarnishサーバを閉じた後、stats pageで正常に動作し、1台が閉じたのを見ることができます.
ログイン2.PNG
wordpressにログインすると、以前は正常に画像をアップロードしていたブログが表示されます.
捕获PNG
六、まとめ
1、アーキテクチャのメリット:
2、不足点:
(2)haproxyとバックエンドホストの間にvarnishを追加してキャッシュする.
(3)設計トポロジー;
(4)haproxyの設定要件:
(a)stats pageは、ローカルアクセスのみで管理インタフェースを使用することを要求する.
(b)動静分離;
(c)異なるサーバグループのスケジューリングアルゴリズムをそれぞれ考慮する.
(5)haproxy高可用性;
実験計画:
keepalivedプライマリ・スペアで使用可能な2つのhaproxyサーバ
varnishキャッシュサーバの高可用性
動的webクラスタ
静的webクラスタ
haproxy1: 172.16.1.4
haproxy2: 172.16.1.2
varnish1: 172.16.1.5
varnish2: 172.16.1.6
dynamic server1:172.16.1.3
dynamic server2:172.16.1.7
static server1: 172.16.1.10
static server2: 172.16.1.8
トポロジー
00.PNG
1、2台のhaproxyプロファイル構成
haproxy1.PNG
haproxy2.PNG
サービスの開始
~]# systemctl start haproxy
~]#systemctl status haproxy#ステータスの表示
~]#ss-tnlp#80ポートと9999ポートが有効かどうかを確認
~]#systemctl enable haproxy#起動設定
二、keepalivedの配置
haproxy 1のkeepalived構成
11111.PNG
haproxy 2のkeepalived構成
22222.PNG
3、2台のvarnishホストの構成
varnishのリスニングポートを80に変更
[root@varnish1 ~]# vim/etc/varnish/varnish.params
VARNISH_LISTEN_PORT=80
varnishプロファイルの内容
[root@varnish1 ~]# vim/etc/varnish/default.vcl
aaa.PNG
bbb.PNG
ccc.PNG
コンパイルによる構成の有効化
[root@varnish1 ~]# varnishadm -S/etc/varnish/secret -T 127.0.0.1:6082
200
Varnish Cache CLI 1.0
Linux,3.10.0-327.el7.x86_64,x86_64,-smalloc,-smalloc,-hcritbit
varnish-4.0.5 revision 07eff4c29
Type 'help' for command list.
Type 'quit' to close CLI session.
vcl.list
200
available 0 boot
active 0 myconf3
varnish> vcl.load conf1 default.vcl
200
VCL compiled.
vcl.use conf1
200
VCL 'conf1' now active
vcl.list
200
available 0 boot
available 0 myconf3
active 0 conf1
四、バックエンド動静サーバーwordpressホスト構成
バックエンドamp構成は省略
動的ホストの/var/www/html/でhealthを作成します.phpは動的健康状態検査に用いられる
DynamicServer is Health.
静的ホストの/var/www/html/でhealthを作成します.html静的健康状態検査に用いる
StaticServer is Health.
五、クライアントの表示
クライアントはhaproxyのstats pageにログインします
上陆PNG
1台のvarnishサーバを閉じた後、stats pageで正常に動作し、1台が閉じたのを見ることができます.
ログイン2.PNG
wordpressにログインすると、以前は正常に画像をアップロードしていたブログが表示されます.
捕获PNG
六、まとめ
1、アーキテクチャのメリット:
(1)HAProxy Varnish , , Varnish ;
(2)HAProxy Web , ;
(3)Varnish Web , Web ;
(4)Varnish Web , , , ;
(5) Keepalive HAproxy 。
2、不足点:
(1) 。
: NFS+Rsync+inodify , keepalive 。
(2)MysqlServer,
: , , ;