Articles of 负载均衡

Haproxy定时器 – 总会话持续时间

我正在看haproxy日志中的Haproxy计时器来推断响应时间。由于某种原因,我似乎不明白为什么haproxy计时器不合计给我总的会话持续时间。 例如: 2017-03-13T18:09:21.000Z 172.16.1.1 Mar 13 18:09:20 localhost haproxy[15178]: 46.111.10.71:50873 [13/Mar/2017:18:09:17.156] frontend-name mybackend-vs-backend/backend-vs-node1 0/0/11/773/3543 200 42682 – – —- 1050/125/74/35/0 0/0 {website.info} "POST /support/contact.php HTTP/1.0" – – 据我从haproxy文档的理解是 – Tq + Tw + Tc + Tr = tt。 奇怪的是, 0/0/11/773/ 3543中的0 + 0 + 11 + 773不等于3543 。 在哪里按照haproxy文档http://cbonte.github.io/haproxy-dconv/1.5/configuration.html#8.2.3它的确如此。 我错过了什么? 谢谢!

Haproxy 1.5 504重复订单Woocommerce结帐

我的HAProxy 1.5负载均衡器偶尔会从后端节点中的任何一个获取504错误。 504错误只针对Woocommerce / checkout。 / checkout端点调用服务器端的支付网关,Woocommerce捕获付款状态并将用户redirect到感谢页面。 在Woocommercepipe理中,来自同一客户的重复订单。 我怀疑它可能是一个节点超时并将请求传递到下一个节点,而事务仍然在第一个节点挂起。 这是一个504错误的例子。 似乎有8分钟的等待期(16:51 – 16:43)。 Apr 1 16:43:47 LB1 haproxy[31955]: 115.66.152.19:28289 [01/Apr/2017:16:43:00.738] www-http m-backend/node2 46183/0/0/191/46374 200 1538 – – —- 2/2/0/0/0 0/0 {http://<clientDomain>/checkout/} "POST /checkout/?wc-ajax=checkout HTTP/1.1" Apr 1 16:52:05 LB1 haproxy[31955]: 115.66.152.19:11502 [01/Apr/2017:16:52:05.984] www-http m-backend/node2 0/0/0/5/5 200 202 – – —- 3/3/1/1/0 0/0 {http://<clientDomain>/checkout/} "GET /favicon.ico HTTP/1.1" […]

Linux服务器两个networking接口

我正在configuration一个带有两个networking接口(enp3s0f0和enp3s0f1)的本地服务器。 我喜欢在同一个子网(192.168.178。*)上拥有不同IP地址(192.168.178.4 | 192.168.178.5)的两个接口(可以在两个设备上具有相同的地址映射)来归档以下: 服务器应该可以通过两个1GBit接口运行2个地址但域名相同。 这样,我想我可以拆分连接DNS-RR,并提供2GBit的function。 服务器被configuration为KVM主机,并且应该能够桥接到客户端的两个接口。 这可以让客户也从2GBit连接中受益。 这是我目前的主机的/ etc / network / interfaces # Loopback device: auto lo iface lo inet loopback # device: br0 auto br0 iface br0 inet static address 192.168.178.4 dns-nameservers 8.8.8.8 netmask 255.255.255.0 gateway 192.168.178.1 bridge_ports enp3s0f0 bridge_stp off bridge_fd 0 bridge_maxwait 0 up route add -host 192.168.178.6 dev br0 […]

如何使用2 ELB(ALB)+自动缩放相同的目标组的实例

我正尝试将一些stream量从两个ELB(ALB)路由到一个目标组。 一个是外部的,另外一个是内部的。 我在外部ALB中有以下规则: IF path is /static/* THEN forward to frontends IF path is /media/* THEN forward to frontends 一个内部的ALB必须把它的stream量引导到同一个目标组的“前端”,但该组是灰色的,不能被select:( 作为一种解决方法,我创build了另一个目标组“frontends2”,并在内部ALB上选中它。 但是我们正在准备自动缩放,因此在同一组实例中有两个单独的目标组是不方便的。 我正在使用AWS Web控制台进行configuration。 是否可以通过它实现我的目标(相同的目标群体,不同的ALB)还是必须使用CLI? PS顺便说一句,自动缩放组是一样的吗? 我们打算根据像cpu load这样的参数来自动调整一组实例。 谢谢!

如果在msDS-ManagedPasswordInterval的天数之后首次使用,IIS App Pool将不会以gMSA身份启动

直到最近,我们一直在我们的环境中使用Group Managed Service Accounts(gMSAs)。 我们在生产中部署了几个应用程序,其中gMSAs是在60天前创build的,但尚未使用。 在gMSA的属性上,msDS-ManagedPasswordInterval的默认值是30天。 当install-adserviceaccount作为部署脚本的一部分运行时,pwdLastSet,msDS-ManagedPasswordId和msDS-ManagedPasswordPreviousId属性已更新,但是应用程序池始终无法启动,我们看到每次尝试启动都会出现badPasswordTime更新。 通过再次运行install-adserviceaccount修复了这个问题,这大概是从AD中获取了正确的密码。 我们用多个账户观察到这种行为,其中第一次使用的天数大于30天。 我们还没有看到这个帐户已被使用在30天内创build(超过150个帐户)的问题。 另一个variables是我们正在部署到负载平衡的环境,所以gMSA可以同时安装在多台服务器上。 不是所有的服务器都有相同的gMSA的问题。 在运行我们的脚本之外,我们还没有能够通过手动testing来重现这个问题,所以我想知道在更改密码和在更改完全同步之前从活动目录中检索密码之间是否存在争用条件。 有没有办法检查是否是这种情况? 有没有其他人遇到过这种情况? 目标服务器和域控制器(5)都运行Windows Server 2012 R2,并已完全打补丁。 域function级别也是Windows Server 2012 R2。

比较GCP负载平衡和Cloudflare负载平衡

最近,我们公司将一些networking服务器迁移到Google云端平台(计算引擎)。 我们已经看到平均0.4秒的网页加载时间改善(加载时间减less)! 但是既然我们有我们认为是非常重要的网站,我们希望在各方面都做得更好。 我们负担不起任何停机时间。 我们觉得GCP有很好的声誉,即使经过2个月的监控,我们的网站也有100%的正常运行时间。 但是由于种种因素,我们有些人想进一步推进,基本上在东部地区和西部地区创build两个虚拟机实例,然后使用负载均衡器根据自己的地理位置路由stream量低延迟。 在这一点上,我应该提到我们也使用Cloudflare代理,安全和CDN的目的。 所以我们想知道我们应该使用GCP负载均衡器还是使用Cloudflare负载均衡器。 我们的networking服务器stream量低,出口/入口/带宽转移的成本不是一个大问题。 我们写信给Cloudflare支持试图让他们比较他们的负载均衡器与GCP的,这是他们写回: 我对Google Cloud的负载均衡scheme并不熟悉,以及您如何确定分发请求的位置。 对于Cloudflare地址,GeoIP信息往往是不正确的,但是如果你正在做类似基于延迟或者任播的路由,它应该可以正常工作。 我无法从文档的简要概述中确定您使用的是什么,所以我会与他们核对一下,看看您是否可以提供有关该路由的工作原理。 如果您的路由在源IP不能保证提供正确的GeoIP信息的情况下正常工作,则它应该正常工作,而不使用我们的地理分布function/可能仅使用您的负载平衡。 我不太确定该怎么做! 无论如何,是的,我知道我们正在做一个“小山”,因为我们有一个低stream量的网站,并准备加倍我们的成本(或更多),以获得我们可能不需要的“高可用性”。 但是,由于我们的业务模式以及GCP和Cloudflare相对较低的成本,我们希望尽一切合理的方式来: 确保网站的正常运行时间尽可能接近100% 减less来自北美各地的网站访问者的延迟 增加冗余,以便单个虚拟机实例的丢失不会导致整个Web服务器。 由于我们的商业模式,我们对网站stream量的价值非常高,所以虽然我们并没有“旋转数千个集群”,并为我们和我们的客户做出了一些很棒的项目,但这对我们来说是非常重要的。 因此,我非常感谢您对使用GCP负载平衡器与在Cloudflare中启用负载平衡方面的意见(和事实)。 我们已经在使用GCP和Cloudflare,所以进入壁垒已经消失(新账户,账单等) 哪个负载均衡器会有最好的性能? Cloudflare的客户支持是什么意思(在上面引用他们的答复摘录? 如果我们对所有事情都使用GCP,那么会出现问题吗(使用Cloudflare时,他们的负载平衡器是单点故障吗?) 哪个Load Balancer更容易configuration? (我已经预览了Cloudflare的configuration,对我来说看起来很简单,而GCP可能会更复杂一些,但我不是networking架构师,所以这是我的个人感觉。 非常感谢你,祝你有美好的一天!

微服务之间的内部stream量的最佳实践devise是什么?

我有两个PHP写的微服务A&B.端点是a.example.com和b.example.com。 这两种服务都需要公共访问。 另外,服务B在处理的时候对a.example.com做了很多curl请求。 这两种服务都在同一个AWS VPC上运行(在同一个专用networking中)。 我也有一个外部CDN(例如,Akamai)为每个端点。 devise1: Public and Service B make requests to A | V a.example.com | V CDN | V Public Load Balancer | V Web Servers for service A 更高的成本,因为AWS的带宽成本更高 服务A的更多保护,因为它在CDN后面 随着stream量到达云端并返回,服务B响应时间变慢 devise2: Public makes requests to A Service B makes requests to A | | VV a.example.com a-internal.example.com | | […]

仅在请求开始时才可以使用负载平衡器吗?

假设客户端请求一个页面www.example.com/index.html 。 DNS将其转换为203.0.113.15/index.html 。 然后,这个服务器,作为一个负载均衡器(假设Apache与mod_proxy_balancer),redirect到另一个IP(不在同一本地networking) 198.51.100.5 。 这是这个想法: client ==> example.com == DNS ==> 203.0.113.15 (Load Balancer) => 198.51.100.5 一旦客户端和目的端build立了连接, 如何避免客户端与198.51.100.5之间的进一步通信将通过中间服务器203.0.113.15 ? 是否有可能节省带宽, 中间服务器与客户端没有任何关系 ,而客户端仍然与198.51.100.5通信(上传/下载,潜在的兆字节或千兆字节!),所有这些与example.com仍然在他的浏览器中显示? 如何在mod_proxy_balancer中configuration这个?

NGINX与GCE Kubernetes入门课程

在Google Container Engine上设置Kubernetes入口时,您可以select入口类( gce或nginx )。 我意识到,GCE课程在Google云平台上提供负载平衡器,每个平台的费用约为20美元/月。 经过一番研究之后,我发现Google的负载均衡器比使用NGINX入口级别更好,至less在达到非常大的规模之前,我找不到任何普遍的理由。 事实上,GCE类似乎并不支持: 通过ingress.kubernetes.io/auth-url外部authentication 基本authentication NGINX入口内置的其他一些小function 我不知道使用GCE类与NGINX类入口有什么好处?

GCE LB上的随机failed_to_connect_to_backend错误

我在负载平衡器后面做了两个GCE实例的简单设置。 但在平衡器日志中,我可以看到随机的502响应,出现以下错误:“failed_to_connect_to_backend” Al认为最后的健康检查200响应罚款,检查我的nginx日志显示,请求甚至没有通过后端到nginx。 我无法知道问题是什么,是否有任何types的日志显示为什么它无法连接到后端? 这是一个健康检查问题? 有没有健康检查logging?