我打算使用多WAN设备进行故障转移和负载平衡,并且有多个ISP在我的情况下,我希望最大限度地提高HTTP浏览的性能,同时转移特定的WAN连接HTTP下载和videostream。 所以我想知道如果多个广域网路由器/设备能够检测到连接是否正在打开浏览或下载,如果是这种情况是什么名称这个function/filter/限制器。
我们在swarm集群中获得了3个主机,并且在这个集群中部署了一个Web应用程序。 Web应用程序在任何时候都只能运行在一台主机上。 如果一个主机死亡,该Web应用程序将被移动到另一个主机。 Docker将负责将您的请求路由到Web应用程序,无论您的请求命中哪个主机。 为了确保我们总能find正在运行的主机,我们虽然使用Nginx是前端的。 我们将在Nginx上创build一个虚拟主机,它将代理请求发送给Docker群。 我们有两个办法。 答:我们只需在主机上进行“循环”请求。 这是一个简单的方法。 我们将使用Nginx在失败时提供服务。 但是,即使Nginx从主机1得到500错误,也可能是Web应用程序从主机3返回了500错误.Nginx会错误地认为服务在主机1上失败,并将该主机上的服务取出。 B.我们会把所有的要求都指向群领导。 我们不使用Nginx来在主机间进行负载平衡。 我们只需将所有请求发送到Docker Swarm领导者(通过configurationNginx的各种脚本来完成)。 这样,我们就不会做“双重”的负载均衡(Nginx和Docker Swarm) – 但是所有的stream量都只能通过Docker Swarm的领导。 一方面,解决schemeA简单易懂,但也会增加双重负载平衡的复杂性。 第二种解决scheme可能会更加复杂,因为它不太标准,但也可能让事情更容易理解。 我们应该从纯粹的技术angular度来select哪种方法?
我有7个nginx web服务器运行一个python应用程序,并通过uwsgi和一个套接字文件将其提供给nginx,这7个web服务器的前端有一个nginx负载均衡器,从负载均衡器到公共的压缩文件被正确压缩只有〜20Mbps的出站stream量,但是由于某种原因从networking服务器和负载均衡器stream出的stream量不会被压缩,从而导致负载均衡器具有400Mbps的总入局stream量(从服务器子网接口),并且每个web服务器可以提供大约70Mbps的传出stream量。 gzip压缩是否应该像在laod平衡器上启用的一样启用? 这里有一些不同的configuration吗? networking服务器nginx.conf: user xxx; worker_rlimit_nofile 99999; worker_processes 16; events { worker_connections 65535; } http { proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=one:8m max_size=3000m inactive=600m; proxy_temp_path /tmp; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 620; keepalive_requests 20000; # types_hash_max_size 2048; client_max_body_size 200m; include /etc/nginx/mime.types; default_type application/octet-stream; #ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #ssl_prefer_server_ciphers on; proxy_buffer_size 128k; proxy_buffers 16 […]
我想在三个后端负载平衡请求到同一个端口。 我有大约20个端口转发,所以我需要一个方法来使其dynamic。 这是为了平衡我们的prod,pre-prod,qa,dev,多个域的unit testing服务器。 所以,是的,我可以使用20个后端,20个acl和20个use_backends。 但是,然后忘记它。 太麻烦了。 所以,我想用一个variables来表示“被请求的端口”。 我尝试%[dst_port],因为这似乎在其他一些情况下工作。 我从Willy T的某个地方读到一个答案,如果一个人离开了港口,那么它只是转发到同一个港口。 但它仍然需要服务端口或检查端口,我不知道提前,除非我绑定到20个不同的前端。 错误:服务器X既没有服务端口也没有检查端口,也没有tcp_check规则“连接”与端口信息。 检查已被禁用。 例如。 listen load-balance bind :28080 bind :42080 bind :48080 bind :58080 bind :38080 mode http balance roundrobin option httpchk HEAD / HTTP/1.1\r\nHost:\ localhost server X 10.20.30.1 check %[dst_port] server Y 10.20.30.2 check %[dst_port] server Z 10.20.30.3 check %[dst_port] 你看,它需要一个variables。 这可能吗? (我的问题更加复杂,因为从技术上讲,我需要一个从目标端口到检查端口的映射,理想情况下,但是如果我能做到这一点,至less可以做到这一点。
假设我们在2 apache前面有haproxy: +—-> Apache (10.0.0.2) Haproxy (10.0.0.1) –| +—-> Apache (10.0.0.3) Haproxy被configuration为负载平衡基于URI的stream量(需要看到URI,所以必须看到HTTP的内容) Apache正在托pipe大量的域名 每个域都可以通过haproxy通过HTTPS访问,卸载SSL并启动到Apache的HTTP连接 每个域都有自己的SSL证书(无SAN或通配证书) 我看到Haproxy允许我们提供一个包含许多证书的目录,但是我没有设法使用另一个单一的证书。 这是我的(简化)configuration: global […] # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. ssl-default-bind-options no-sslv3 ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS # For backends connections ssl-default-server-options no-sslv3 ssl-default-server-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS frontend https_frontend bind 10.0.0.1:443 ssl crt […]
我有8个由NetScaler VPX(10)负载均衡的服务器。 如果以前的服务器响应502状态,如何使NetScaler负载均衡器重新发送请求到下一台服务器?
我使用Gitlab-CI在GCE上部署Kubernetes集群。 我想保持最低的成本 – 这是我目前的设置: 节点在3个f1-micro实例上运行 使用ServiceType LoadBalancerconfiguration的运行Traefik的系统窗格 通配符DNSconfiguration 1个postgres 荚 1个configuration为Traefik的ingress Web服务器吊舱 我想降低我的部署成本。 大部分的成本在于GCE负载平衡器。 有没有一种方法可以在GCE上使用公共IP地址而不是负载平衡器? 如果是这样,我可以利用分配给集群的IP地址(而不是预留静态IP)吗? 换句话说,有没有一种方法可以将一个短暂的ip绑定到使用GCE的Kubernetes服务上,而不需要负载均衡器? 有没有其他configuration可以做不同的处理,从而降低GCE的成本?
我目前的设置是nginx作为一个负载平衡器,在一堆上游服务器前面。 我希望能够在不改变用户体验的情况下进行部署。 这意味着没有502s,也没有增加页面时间。 我的理解是,当发出nginx -s reload时,nginx将优雅地产生新的线程来处理新configuration的新连接,但仍将完成处理nginx -s reload时nginx -s reload请求。 而且,我已经在某处看到上游区域的上游处于下行状态,重新装载将从轮stream上游处取得,但仍将完成与上游的任何空中连接。 这是正确的吗? 目前的计划是在nginx主机上有一个小的进程,这将基本上改变nginx的configuration,并通过内部的REST API要求这些优雅的重新加载。 然后,我的部署工具将连接该进程,并在正常closures和每个上游的启动/预热完成之后,依次从nginxconfiguration中添加/删除我的上游。 这有道理吗? 其他人怎么做呢? 有没有可用的工具呢? 我没有很多运气search这个信息…
我有一个WordPress的博客,在domain.com上提供利基内容 在不同的端点上, domain.com/api/ /api/我有一个完全不同的Node.JS API,不考虑WordPress,但我想从同一个域中提供。 值得一提的是,我们最重要的是performance和速度。 我的想法如下: 设置2个EC2 Instances ,一个用于WordPress,另一个用于API(也许使API成为Lambda实例?)。 设置一个Application Load Balancer ,将知道如何路由请求与规则取决于URL。 这是正确的路要走吗? 我应该只使用nginx作为反向代理服务本地端口上的Node.JS API? 我还希望使用Elastic Beanstalk为自己节省configurationLoad Balancer和Auto Scaling组的麻烦。 PS如果任何人有任何build议或良好的习惯,如何build立这些(与S3桶或许,在CloudFront等等),这将是多余的欢迎。 谢谢 !
我已经在ebay上看到了一个价值500美元的f5。 我听说他们在负载均衡方面效果很好,但我试图弄清楚他们的持续成本是多less。 有谁知道什么样的许可和/或订阅你需要获得这些东西,以确保固件是最新的? 还是甚至有需要许可证? 我可以买500美元,成立,去吗?