zoukankan      html  css  js  c++  java
  • Nginx+Consul+Upsync实现动态负载均衡

    动态负载均衡概念

    传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新重启nginx。这类似分布式的配置中心。

    Consul介绍

    Consul是一款开源的分布式服务注册与服务发现系统,通过HTTP API可以使得服务注册、服务发现实现起来非常简单。
    服务注册:服务实现者可以通过HTTP API或自带的DNS方式,将服务注册到Consul。
    服务发现:服务消费者可以通过HTTP API或自带的DNS方式,从Consul获取服务的IP和Port。
    故障检测:支持如TCP、HTTP等方式的健康检查机制,从而当服务有故障时自动摘除。
    K/V存储:使用K/V存储实现动态配置中心。
    多数据中心:使用多数据中心集群,可以避免单数据中心的单点故障。

    Upsync介绍

    Upsync是新浪微博开源的基于Nginx实现动态配置的三方模块。Nginx-Upsync-Module的功能是拉取Consul的后端server的列表,并动态更新Nginx的配置信息。Consul作为Nginx的DB,利用Consul的KV服务,Nginx Work进程独立的去拉取各个upstream的配置,并更新。

  • 相关阅读:
    JVM精进之路
    Java8-java.time-常用API
    Java代码精进
    Java8——jdk——java.time包
    Java8——Optional
    Java8——Stream
    Java8——Lambda表达式
    Java高级-反射
    重新学习SpringMVC——补充
    LeetCode677. 键值映射(相关话题:Trie前缀树)
  • 原文地址:https://www.cnblogs.com/feiqiangsheng/p/11333564.html
Copyright © 2011-2022 走看看