软负载是基于服务器安装的特定软件,比如:nginx实现负载均衡。
硬负载均衡是基于固定的硬件实现负载均衡,比如:F5。
在nginx.conf配置文件中配置如下:
Nginx负载均衡提供上游服务器(真实业务逻辑访问的服务器),负载均衡、故障转移、失败重试、容错、健康检查等。
当上游服务器(真实业务逻辑访问的服务器)发生故障时,可以转移到其他上游服务器(真实业务逻辑访问的服务器)。
upstream 主要配置如下:
IP地址和端口号:配置上游服务器的IP地址和端口
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。backup备用服务器,服务器全部崩溃后启动
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
上述同样也是一个极简的监听8081端口的nginx服务,当请求url为/get时,会走url_hash;同样配置了upstream模块,hash $request_uri表明了是按照url规则进行hash策略。
区别:alias后面必须要用“/”结束,否则会找不到文件的。而root可有可无。
两个命令的作用:都是指定静态文件的目录。
页面中请求的ajax地址如果与页面请求地址域名和端口、协议不同的话,浏览器采用安全策略,请求能够正常到达服务器端,但是无法获取响应结果。
响应头设置允许跨域权限 response.setHeader(“Access-Control-Allow-Origin”, “*”); 适合于小公司
使用jsonp解决网站跨域问题 缺点:只能支持Get请求 模拟脚本提交。
使用Nginx搭建API保持域名和端口一致 Location
使用微服务中的Zuul
HttpClient实现转发 缺点:重复发送两次请求
配置案例:
使用Nginx搭建API保持域名和端口一致。下面配置根据请求路径的不同将请求转发给不同的域名、端口去处理。
实际开发中前后端分离
通过指定模式来与客户端请求的URI相匹配,基本语法如下:location [=||*|^~|@] pattern{……}
~ #区分大小写的正则匹配
~* #不区分大小写的正则匹配
^~ #普通字符匹配,如果此选项匹配成功,忽略其他匹配选项,一般用来匹配目录
= #普通字符精确匹配
1、没有修饰符 表示:必须以指定模式开始(也就是请求链接以kaico开头),如:
2、=表示:必须与指定的模式精确匹配(也就是请求链接必须一致)
3、~ 表示:指定的正则表达式要区分大小写
4、^~ 表示:指定的正则表达式区分大小写,如果此选项匹配成功,忽略其他匹配选项(停止向下搜索),一般用来匹配目录
5、~* 表示:指定的正则表达式不区分大小写
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://cq.tttmy.cn/news/3218.html