- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 REST API。
为了简单起见,假设我有两个服务:
如何将所有读取请求(GET 方法)重写为read.request.com 以及所有写入 请求(POST、PUT、 DELETE 方法)到 write.request.com 使用 HAProxy?
最佳答案
不太确定哪一个适用于您的情况,但希望是。
一个后端
我想这就是你的情况。
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
所有这一切都是检查正在使用哪种方法,并在将请求传递到 localhost:8080
之前相应地设置 Host
header 。
两个后端
在此设置中,您有一个代码实例仅针对读取请求运行,而另一个实例仅针对写入请求运行。在这种情况下,读取代码在 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
此选项与前一个选项一样,通过检查正在使用的方法开始,但不是使用一个 HAProxy 后端,而是分成两个。每个后端中的 http-request
行对于此配置是可选的。
希望对您有所帮助。
关于load-balancing - HAProxy基于HTTP方法重写HTTP请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34916975/
我是 AWS 新手。我开始学习 ALB 和 NLB。我知道 ALB 在第 7 层协议(protocol)中工作,而 NLB 在第 4 层协议(protocol)中工作。 谁能解释一下ALB和NLB的实
我正在使用平衡付款ruby api并意外创建了几个额外的测试市场。虽然 api 公开了一个用于创建测试市场的清晰界面,但我似乎找不到任何方法来删除它,即使没有 api。有人知道删除市场的方法吗? 最佳
我有在 Google Compute Engine 上运行的服务。我在欧洲的目标池中有几个实例,在美国的目标池中也有几个实例。目前我有一个域名,它连接到欧洲目标池 IP,并且可以很好地在这两个实例之间
我在golang中遇到以下错误 # go.etcd.io/etcd/clientv3/balancer/picker
我在 Google CE(计算引擎)上有一个 Node.js 应用程序,它在 nginx 服务器后面运行。 我应该使用 nginx 负载均衡器和 Google Cloud 负载均衡器吗? 或者它们是相
我正在寻找将 WAF 集成到现有服务器设置中的方法,因为我的 Classic Load Balancer(带有 EC2 实例)不支持 WAF,因此我需要迁移到 Application Load Bal
在我的文档中有一个父 div固定高度和两列子元素 div . Text 仅使用 CSS3,我试图通过以下方式将子项的两列布局与父项的溢出裁剪携手合作: 当子元素包含很少的文本时,它不应该平
我正在尝试设置 Application Load Balancer 以将流量转发到 AWS 中的 Nginx Ingress Controller 。 为了设置 Nginx Ingress Contr
我有一个 EKS Kubernetes 1.16.x。具有三个标记为 kubernetes.io/role/elb: 1 的公共(public)子网的集群和三个标记为 kubernetes.io/ro
我有 REST API。 为了简单起见,假设我有两个服务: read.request.com write.request.com 如何将所有读取请求(GET 方法)重写为read.request.co
我是微服务领域的新手,但了解有关负载平衡的基础知识。我最近读了一篇关于微服务的文章:Enough with the microservices . 其中提到微服务和负载均衡器都有集群/不同的 VM 用
在阅读“kong”api网关的文档时,上游服务器中有一个称为插槽的概念。我没明白这句话的意思。请分享这方面的知识。 最佳答案 我查看了 Kong 源代码,这是相对于外部 resty 库的: https
某个组织有10服务器。为它提供一些负载平衡算法。还要考虑这样一种情况,其中一台服务器需要 10 秒来处理请求,而其他服务器只需要 1 秒。那么,您将如何管理这个瓶颈? 最佳答案 有多种方法可以做到这一
考虑一种情况,我们有一个部署在多个服务器中的 Web 应用程序,并且客户端请求登陆到负载均衡器,负载均衡器又将请求路由到实际服务器。 现在,如果我们有太多请求并发,负载均衡器本身会失败吗?假设我们每秒
在Web应用程序和服务中,我正在创建它必须水平缩放。我想拥有1个负载平衡器,3个Web服务器节点和2个数据库节点(其中一个仅用于冗余,并且在第一个数据库节点发生故障时将垂直扩展)。 负载均衡器是否充当
可以对MQTT代理进行负载平衡吗?我可以使用ELB来负载均衡MQTT吗?朝这个方向的任何指示都将有所帮助。我碰到了http://www.slideshare.net/kellogh/mqtt-kafk
阅读常见消息队列系统(例如 RabbitMQ、ActiveMQ)的文档,似乎负载平衡总是由队列系统(循环)或生产者使用消息上的多个队列或属性来完成。然而,在我们的应用程序中,没有人知道处理消息需要多长
我的老板想要一个系统来考虑整个大陆的灾难性事件。他想在美国有两台服务器,在亚洲有两台服务器(每个大陆有 1 个登录服务器和 1 个工作服务器)。 如果地震破坏了两大洲之间的联系,两者都应该单独行动。当
最近有几种服务发现工具变得流行/“主流”,我想知道在哪些主要用例下应该使用它们而不是传统的负载均衡器。 使用 LB,您可以在平衡器后面聚集一堆节点,然后客户端向平衡器发出请求,然后平衡器(通常)将这些
我们的设置是 Varnish 前端,通过配置的运行状况轮询为2个后端提供服务。我们使用Client Director进行负载平衡,因此根据client.identity选择后端 当两个后端之一发生故障
我是一名优秀的程序员,十分优秀!