zoukankan      html  css  js  c++  java
  • 动态负载均衡(Nginx+Consul+UpSync)

    Http动态负载均衡

    什么是动态负载均衡

    传统的负载均衡,如果Upstream参数发生变化,每次都需要重新加载nginx.conf文件,

    因此扩展性不是很高,所以我们可以采用动态负载均衡,实现Upstream可配置化、动态化,无需人工重新加载nginx.conf。

    这类似分布式的配置中心

    动态负载均衡实现方案

    1. Consul+Consul-template  每次发现配置更改需要raload nginx,重启Nginx。
    1. Consul+OpenResty 实现无需raload动态负载均衡 (lua语言,配置文件放字典里面,每隔时间读取)
    2. Consul+upsync+Nginx  实现无需raload动态负载均衡 (原理同上)

    常用服务器注册与发现框架

     常见服务发现框架 Consul、Eureka、 ZooKeeper以及Etcd  ZooKeeper是这种类型的项目中历史最悠久的之一,它起源于Hadoop。它非常成熟、可靠,被许多大公司(YouTube、eBay、雅虎等)使用。

         etcd是一个采用HTTP协议的健/值对存储系统,它是一个分布式和功能层次配置系统,可用于构建服务发现系统。其很容易部署、安装和使用,提供了可靠的数据持久化特性。它是安全的并且文档也十分齐全。

    修改Nginx配置文件,需要重启。(静态的) 

     

    IP区分主机  port区别进程  服务

    注册中心 存放IP地址和端口号 

    服务注册于发现应用场景:  服务RPC远程调用

    注册中心 存放IP地址和端口

    RPC http协议如何调用: HttpClient

    动态负载均衡(Nginx+Consul+UpSync)原理

     1、搭建ConsulServer专门存放负载均衡注册配置信息

     2、nginx间隔时间动态获取最新的ConsulServer配置信息

  • 相关阅读:
    淘宝大牛们——晒一晒淘宝网技术内幕
    csrf攻击与防范
    Angular路由——路由守卫
    Angular路由——辅助路由
    Angular路由——在路由时候传递数据
    Angular路由——子路由
    Angular路由——路由基础
    Angular组件——投影
    Angular组件——组件生命周期(二)
    Angular组件——组件生命周期(一)
  • 原文地址:https://www.cnblogs.com/toov5/p/9912454.html
Copyright © 2011-2022 走看看