• 多个Nginx如何实现集群(没具体方案,只是初步探究)


    场景:

    Nginx+Web服务器可以实现负载均衡,但是一台Nginx也是有限的,如果并非量高的话,在他的上层如何实现负载均衡。 如果是DNS或者CDN的话,建多个机房,势必有多个机房数据同步的问题。 有什么这方面的好的资料吗?

    解答:

    这方面的资料,基本都是一块一块不完整的。我大概跟你说一个基本架构:

    1. DNS服务器,如果资金充足的话,建议使用BGP机房,2-3台DNS服务器均衡,通常使用bind软件。如果资金紧的话,可以购买专业的DNS服务,比如国内的dnspod。
    2. CDN服务器,一开始如果想省事,可以买专业公司的服务,如chinacache,但随着发展成本会越来越高。自建的话,可能分别搭建,放电信、联通、移动等不同机房的服务器,通过DNS做动态解析。超大网站的话,可以用Squid,普通中至大型用Nginx,内部玩玩用Varnish。
    3. 前端均衡,资金充足的话,可以使用硬件设备,几十万一台。自已有技术队伍的话,就用Nginx/Haproxy+Keepalived等自已组建前端。均衡的方式都比较灵活,随机、权重、IP、URL都有。
    4. 同步的问题要看同步什么东西,普通的可以实时文件同步。但数据库的话,要看具体类型选择同步方式了。
    5. 后端的应用服务器和数据库集群,要看流量规划了。

    多台Nginx实现均衡,有几种方法:

    1、每台Nginx都有公网地址,在域名处设置同个域名多个指向,最简单实现轮洵。但故障切负会慢一点。

    2、一台公网Nginx通过upstream功能,轮洵、IP、url多方式分发到内网多台nginx。但公网的nginx如果Down机的话,内网全断。

    3、一对公网Nginx加三个公网IP,通过Keepalive实现高可用,再upstream到内网。

    4、一台硬件均衡服务器在前端,再通过硬件均衡到内容的其它服务器。

    你所说的那个假如,可以通过 2 、3、 4的方法实现。

    参考:

    https://zhidao.baidu.com/question/1509864528785316100.html(以上内容转自此篇文章)

  • 相关阅读:
    linux 命令展示该目录下的所有子目录及文件结构 tree
    ssh-keygen
    centos安装git
    spring-boot parent变更为依赖方式
    centos docker compose安装
    UML——活动图
    UML——构件图
    UML——部署图
    UML——用例图
    UML——关系
  • 原文地址:https://www.cnblogs.com/EasonJim/p/7807794.html
Copyright © 2020-2023  润新知