aer*_*zov 1 load-balancing haproxy
我有REST API.
为简单起见,我想说有两项服务:
我怎样才能将所有读取请求(GET方法)重写为read.request.com,并将所有写入请求(POST,PUT,DELETE方法)重写为带有HAProxy的write.request.com?
不太确定哪些适用于您的情况,但希望有一个.
一个后端
我想这是你的情况.
frontend http-in
bind *:80
acl is_post method POST
acl is_get method GET
http-request set-header Host write.request.com if is_post
http-request set-header Host read.request.com if is_get
default_backend api
backend api
server one localhost:8080 check
Run Code Online (Sandbox Code Playgroud)
所有这一切都是检查正在使用的方法,并Host在传递请求之前相应地设置标头localhost:8080.
两个后端
在这个设置中,你只有一个代码实例只运行读取请求而另一个实例只运行写请求.在这种情况下,读取代码正在运行localhost:8080并且写入代码正在运行localhost:8081.
frontend http-in
bind *:80
acl is_post method POST
acl is_get method GET
use_backend write if is_post
use_backend read if is_get
backend write
http-request set-header Host write.request.com #optional
server write_one localhost:8081 check
backend read
http-request set-header Host read.request.com #optional
server read_one localhost:8080 check
Run Code Online (Sandbox Code Playgroud)
通过检查正在使用的方法,此选项与前一个选项相同,但不是使用一个HAProxy后端,而是分成两个.http-request每个后端内部的行对于此配置是可选的.
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
4905 次 |
| 最近记录: |