java面试宝典
2019-09-25 17:00:24 0 举报
AI智能生成
Java高并发面试宝典,持续更新
作者其他创作
大纲/内容
nginx服务器
dns解析过程
1.先在浏览器缓存寻找是否有域名解析过的ip
缓存的容量和时间都有限制
缓存时间可以通过TTL属性设置
缓存时间过长 如果ip更改会导致域名不能正常解析
缓存时间过短 会导致每次请求都需要解析域名
2.在本地host文件中查找对应域名的ip
可能有黑客攻击电脑 修改host文件 劫持访问域名到指定的ip服务器
3.在公网dns域名解析服务器-LDNS中查找 一般由运营商提供
4.如果LDNS没有命中 就直接到root server域名服务器进行解析
5.在公网dns找到解析的ip后会缓存到本地服务器中
外网映射工具:natapp ngork
应用场景
1.http服务器
做网页静态服务器
2.虚拟主机
配置不同域名和端口 创建相应的监听服务
3.反向代理 负载均衡
集群配置 平摊负载
隐藏真实服务器的ip 提高安全性 nginx服务器和真实服务器通过局域网通信 客户端与nginx通过外网通信
4.安全管理
搭建api接口网关 对所有接口服务进行拦截
负载均衡
location正则表达式
= 精准匹配
^ 以某字符串开头
~ 区分大小写匹配
/ 通用匹配
作用
拓展网络设备和服务器的带宽
增加吞吐量
加强网络数据处理能力
提高网络高可用
算法
轮询
权重
ip_hash
fair 第三方
url_hash 第三方
Nginx配置故障转移
缺点
分布式session一致问题
分布式定时任务幂等问题
分布式锁问题
全局订单id问题
动态负载均衡
解决方案
1. Consul+Consul-template
每次发现配置更改需要raload nginx,重启Nginx。
每次发现配置更改需要raload nginx,重启Nginx。
2. Consul+OpenResty 实现无需raload动态负载均衡
3. Consul+upsync+Nginx 实现无需raload动态负载均衡
环境搭建
Consul环境搭建-可视化页面用于配置动态的负载配置
安装nginx插件nginx-upsync-module
nginx通过插件定时通过配置中的时间去拉取指定的配置文件
更新指定部分的配置文件,并保存在本地文件中,以防连接丢失
再去重新nginx 实现动态更新
更新指定部分的配置文件,并保存在本地文件中,以防连接丢失
再去重新nginx 实现动态更新
Nginx 基于1.9实现四层负载均衡
网络模型
网络模型
四层负载均衡与七层负载均衡区别
环境配置
配置文件
lvs+keepalived+nginx实现高性能负载均衡集群
LVS
lvs-keepalived-nginx关系图
Keepalived
keepalived安装成Linux系统服务
使用keepalived虚拟VIP
双机主从热备
Nginx Upstream 实现简单双机主从热备
Nginx+keepalived简单双机主从热备
nginx+keepalived实现高可
Nginx+Tomcat动静分离
什么是动静分离
动态页面与静态页面区别
为什么要用动静分离
动静分离的原理
静态资源缓存
HTTP 304状态码
高并发服务
降级特技
雪崩效应
雪崩和隔离
服务隔离
服务隔离
实现服务隔离
服务熔断
服务熔断
服务降级
hystrix实现熔断和服务降级
产生背景
服务保护
熔断器
0 条评论
下一页