前置知识
DNS域名解析过程
在浏览器输入域名,访问后 在浏览器缓存中查找是否有对应的ip和端口,如果有直接访问对应ip和端口 浏览器缓存中没有则在本地host文件中查找是否有对应的~~ 本地host文件中没有则去DSN服务器上查找外网映射
顾名思义,就是将本地的ip地址,映射出一个公网ip,可以供所有主机(连接到互联网的计算机)访问
疑问:为什么需要使用外网映射例如做微信支付时的第三方接口回调,微信回调你的接口必须是一个公网ip地址,不然他根本无法给你回调,导致你本地无法测试。这个时候你就需要外网映射来将自己的ip地址映射成一个公网(可供主机访问的网络)
疑问:如何实现外网映射?通过第三方工具完成外网映射,例如natapp,ngrok,具体如何使用自行进入官网观看,
ngrok官网. natapp官网.(推荐)nginx 核心知识
什么是nginx
nginx是一款轻量级的web服务器/反向代理服务器,很小并且支持非常高的并发量
应用场景
http服务器 :做静态服务器、图片服务器
虚拟主机配置 :将一台服务器、拆分成多个网站部署。(可以通过配置不同的域名映射或者不同的端口来完成虚拟主机的配置)
反向代理: 使用反向代理隐藏真实ip地址反向代理应用场景:
你有3台服务器分别提供不同的服务,这个时候使用nginx来配置通过域名映射来完成不同三台服务器的访问,或者通过端口也可以。可以隐藏3台提供服务器的真实ip地址,nginx通过内部转发到不同的服务器,抓包工具也只能获取到nginx服务器的ip地址(没有基点)。
负载均衡安全配置
使用Nginx搭建API接口网关,解决网站跨域问题
实现网站静态资源和动态资源分离
实现防止DDOS(流量攻击)名词解释
四层负载均衡
运行在运输层,常使用TCP协议
七层负载均衡
运行在应用层,常使用Http协议
负载均衡
作用: 能够减轻单台服务器的压力,故障转移(重试机制)如果一台服务器宕机了,直接轮询到下一台服务器、健康检查,在nginx中使用upstream配置上游服务器,nginx中
故障转移
如果访问其中一台服务器,发现服务宕机了,或者有延迟,可以配置故障转移直接切换到另一台服务器
动态负载均衡
在upstream中的配置不再是静态的,而是在注册中心上动态拉取配置,达到动态负载均衡的功能。
Nginx + consul + upsync 完成动态负载均衡
1、安装centos7的基础环境
2、安装consul (服务注册与发现)
3、安装nginx 并且为其添加upsync模块
4、进行测试
本机启动2个服务,分别为8080和8081,ip地址为192.168.0.116 使用linux命令为consul指定2个key value,192.168.254.134是consul的ip地址5、在consul图形化页面添加key对应的value来指定负载均衡的算法
然后由于wget下载的速度有时候比较慢,这边上传了文件
到此这篇关于Nginx + consul + upsync 完成动态负载均衡的文章就介绍到这了,更多相关Nginx + consul + upsync 动态负载均衡内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/love_hui_qiu/article/details/109461915