Python负载均衡的尝试

网络 网络优化 网络运维
Python语言实现负载均衡设置,首先也是在nginx环境和Apache的环境下来实现的,因为Python的高融合性,几乎可以在任何平台使用。

在开发语言中,我们也可以使用Python来实现负载均衡的设置,现在我们就来介绍一下这个尝试。首先我们考虑负载均衡,常用的就是反向代理的均衡设置,那么对于Python的语言实现,又有什么特别的要求呢?让我们一起来看看文章的内容吧。

最近测试一个Python项目,在性能优化过程中,决定使用Tornado作Web服务器。但Tornado是单进程线程的实现,虽然一个进程可以很好的处理并发,但毕竟还是个单线程,无法有效的使用多核CPU。

对外的端口只有一个,于是考虑使用负载均衡。首先Nginx,但发现在使用Nginx转发过程中产生大量的Time_wait。据说Nginx转发时会使用Http1.0,不确定是否由此导致。但至少使用Apache作负载均衡的时候没有这个问题。关于Time_wait,不是此文章欲述的,以下贴出 Nginx和Apache作负载均衡的配置:

 

  1. Nginx.conf:  
  2.  
  3. http {  
  4. upstream frontends {  
  5. server 127.0.0.1:9080;  
  6. server 127.0.0.1:9081;  
  7. server 127.0.0.1:9082;  
  8. server 127.0.0.1:9083;  
  9. }  

Apache:

编译:

./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --with-mpm=prefork --enable-proxy

配置httpd.conf:
 

  1. ProxyRequests Off  
  2. <Proxy balancer://higkoo>  
  3. BalancerMember http://127.0.0.1:9080    
  4. BalancerMember http://127.0.0.1:9081 
  5. BalancerMember http://127.0.0.1:9082 
  6. BalancerMember http://127.0.0.1:9083    
  7. </Proxy>  
  8. ProxyPass / balancer://higkoo/ 

当然,本文是由于在测试一Python应用时留下的。负载均衡本身并不局限与语言和应用。只要是标准的HTTP请求均可。

责任编辑:佟健 来源: 互联网
相关推荐

2017-07-03 08:08:25

负载均衡分类

2011-12-02 22:51:46

Nginx负载均衡

2018-11-07 10:12:37

2021-04-21 14:56:28

负载均衡高并发优化技术架构

2010-04-25 19:14:32

Radware负载均衡

2010-05-10 15:58:14

porxy负载均衡

2010-04-20 12:07:17

DNS负载均衡

2010-04-21 11:08:57

MySQL负载均衡

2010-04-20 12:16:05

NAT负载均衡

2019-03-18 10:44:41

负载均衡DNSUDP

2010-04-22 10:46:40

Lvs负载均衡故障负载均衡器

2010-05-06 09:43:29

负载均衡功能

2010-04-23 10:01:02

负载均衡产品

2010-05-07 12:20:38

负载均衡etag

2010-05-10 17:00:38

链路负载均衡

2010-04-28 12:52:36

负载均衡策略

2010-05-04 16:54:24

负载均衡系统

2016-12-01 14:47:05

负载均衡DNS

2010-05-10 14:35:36

TRUNK负载均衡

2010-05-05 18:34:35

Apache负载均衡
点赞
收藏

51CTO技术栈公众号