浅谈大并发架构

来源:互联网 发布:mysql如何安装 编辑:程序博客网 时间:2024/06/05 14:58

演变

  • 单机架构:LNMP、LAMP、WAMP

  • 性能优化:动静分离、数据库独立、数据库读写分离、负载均衡、双活技术、数据库中间件、缓存、搜索

    动静分离:静态请求速度很快,而动态请求比较慢,因此可以单独将动态请求的处理独立一台服务器。数据库独立:跟多时候,数据库是服务器的性能瓶颈,因此将数据库独立出来一台服务器。读写分离:当一台数据库服务器负载受限时,可以将读(查询)和写(增删改)的操作分别在两台服务器上完成。负载均衡:一台服务器已经不能搞定,需要多台服务器,因此需要一台作为任务分发工作的服务器。session共享:可以在负载均衡中使用ip_hash算法,也可以搭建专门的session服务器(nfs/memcache/redis)双活技术:万一负载均衡服务器挂了,所以需要搞一台备用,主备使用keepalived技术保持心跳,随时待命数据库中间件:当数据的读写操作收到限制性(数表特别大),可以分库分表分机器等手段以提高效率缓存:可以保存session,甚至可以保存使用频率较高的数据库中的数据搜索:当数据量特变大的时候,使用link命令,可以单独整一台搜索服务器(xunsearch)CDN:内容分发网络DNS负载均衡:在DNS解析时,一个域名解析到不同的负载均衡服务器

代理服务

  • 正向代理:你上网的时候,请求网页不是和真实网站进行通讯,而是将请求发给代理服务器,代理服务器请求真实的服务器,然后将数据返回给你。在网站看来,代理服务器就是一个普通的客户端,对网站是透明的。

    如:翻墙、…

  • 反向代理:原理和正向代理一样,也是直接请求代理服务器,然后代理服务器请求真实服务器并返回数据。在用户看来,请求代理服务器就像是在请求真实服务器一样,在用户来代理服务器是透明的。

    如:防火墙、…

反向代理

  • 配置步骤:

    1. 代理服务器(nginx)

      upstream apachephp{     server 真实服务器IP:80; #Apache}server {     listen 80;     server_name  www.daili.com;    #域名需要解析     location / {             proxy_pass  http://apachephp;             #Proxy Settings             proxy_redirect     off;             proxy_set_header   Host             $host;             #传递真实的用户IP             proxy_set_header   X-Real-IP        $remote_addr;             proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;             proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;             proxy_max_temp_file_size   0;             proxy_connect_timeout      90;             proxy_send_timeout         90;             proxy_read_timeout         90;             proxy_buffer_size          4k;             proxy_buffers              4 32k;             proxy_busy_buffers_size    64k;             proxy_temp_file_write_size 64k;     }            } 
    2. 真实的服务

      1.可以是Wampserver2.也可以是搭建好lnmp环境的主机
  • eg:

    1.在真实服务器上写内容,访问代理服务器(域名需要解析)即可

    2.用户真实的IP($_SERVER[‘REMOTE_ADDR’])会被代理服务器替换

    3.用户真实的IP需要代理服务器传递过去,保存在:$_SERVER['HTTP_X_REAL_IP']
    $_SERVER['HTTP_X_FORWARDED_FOR']

原创粉丝点击