HAproxy面试题:
LVS: 是基于四层的转发
HAproxy: 是基于四层和七层的转发,是专业的代理服务器
Nginx: 是WEB服务器,缓存服务器,又是反向代理服务器,可以做七层的转发
(4层传输层,7层应用层。)
区别: LVS由于是基于四层的转发所以只能做端口的转发
而基于URL的、基于目录的这种转发LVS就做不了
HAproxy和Nginx由于可以做七层的转发,所以URL和目录的转发都可以做
在很大并发量的时候我们就要选择LVS,像中小型公司的话并发量没那么大
选择HAproxy或者Nginx足已,由于HAproxy由是专业的代理服务器
配置简单,所以中小型企业推荐使用HAproxy
**10、什么叫CDN?**
\- 即内容分发网络
\- 其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到
最接近用户的网络边缘,使用户可就近取得所需的内容,提高用户访问网站的速度
**11、什么叫网站灰度发布?**
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式
AB test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B
如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来
灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度
**13、RabbitMQ是什么东西?**
RabbitMQ也就是消息队列中间件,消息中间件是在消息的传息过程中保存消息的容器
消息中间件再将消息从它的源中到它的目标中标时充当中间人的作用
队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用
消息队列不会保留消息,直到可以成功地传递为止,当然,消息队列保存消息也是有期限地
**15、讲述一下LVS三种模式的工作过程?**
**15、讲述一下LVS三种模式的工作过程?**
LVS 有三种负载均衡的模式,分别是VS/NAT(nat 模式) VS/DR(路由模式) VS/TUN(隧道模式)
一、NAT模式(VS-NAT)
原理:就是把客户端发来的数据包的IP头的目的地址,在负载均衡器上换成其中一台RS的IP地址
并发至此RS来处理,RS处理完后把数据交给负载均衡器,负载均衡器再把数据包原IP地址改为自己的IP
将目的地址改为客户端IP地址即可期间,无论是进来的流量,还是出去的流量,都必须经过负载均衡器
优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统,只有负载均衡器需要一个合法的IP地址
缺点:扩展性有限。当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈
因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时
大量的数据包都交汇在负载均衡器那,速度就会变慢!
二、IP隧道模式(VS-TUN)
原理:首先要知道,互联网上的大多Internet服务的请求包很短小,而应答包通常很大
那么隧道模式就是,把客户端发来的数据包,封装一个新的IP头标记(仅目的IP)发给RS
RS收到后,先把数据包的头解开,还原数据包,处理后,直接返回给客户端,不需要再经过
负载均衡器。注意,由于RS需要对负载均衡器发过来的数据包进行还原,所以说必须支持
IPTUNNEL协议,所以,在RS的内核中,必须编译支持IPTUNNEL这个选项
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户
所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,就能处理很巨大的请求量
这种方式,一台负载均衡器能够为很多RS进行分发。而且跑在公网上就能进行不同地域的分发。
缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持”IP Tunneling”
(IP Encapsulation)协议,服务器可能只局限在部分Linux系统上
三、直接路由模式(VS-DR)
原理:负载均衡器和RS都使用同一个IP对外服务但只有DR对ARP请求进行响应
所有RS对本身这个IP的ARP请求保持静默也就是说,网关会把对这个服务IP的请求全部定向给DR
而DR收到数据包后根据调度算法,找出对应的RS,把目的MAC地址改为RS的MAC(因为IP一致)
并将请求分发给这台RS这时RS收到这个数据包,处理完成之后,由于IP一致,可以直接将数据返给客户
则等于直接从客户端收到这个数据包无异,处理后直接返回给客户端
由于负载均衡器要对二层包头进行改换,所以负载均衡器和RS之间必须在一个广播域
也可以简单的理解为在同一台交换机上
优点:和TUN(隧道模式)一样,负载均衡器也只是分发请求,应答包通过单独的路由方法返回给客户端
与VS-TUN相比,VS-DR这种实现方式不需要隧道结构,因此可以使用大多数操作系统做为物理服务器。
缺点:(不能说缺点,只能说是不足)要求负载均衡器的网卡必须与物理网卡在一个物理段上。
**16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?**
**17、如何重置mysql root密码?**
https://blog.51cto.com/hujiangtao/1940375
- 文章翻译
- Large-scale cluster management at Google with Borg
- Borg Omega and kubernetes
- scaling kubernetes to 7500 nodes
- bpf 的过去,未来与现在
- Demystifying Istio Circuit Breaking
- 知识图谱
- skill level up graph
- 一、运维常用技能
- 1.0 Vim (编辑器)
- 1.1 Nginx & Tengine(Web服务)
- 基础
- 1.2 zabbix
- 定义
- 登录和配置用户
- 1.3 RabbitMQ(消息队列)
- 原理
- RabbitMQ(安装)
- 1.4虚拟化技术
- KVM
- 1.5 Tomcat(Web中间件)
- 1.6Jenkins
- pipline
- 1.7 Docker
- network
- 1.8 Keepalived(负载均衡高可用)
- 1.9 Memcache(分布式缓存)
- 1.10 Zookeeper(分布式协调系统)
- 1.11 GitLab(版本控制)
- 1.12 Jenkins(运维自动化)
- 1.13 WAF(Web防火墙)
- 1.14 HAproxy负载均衡
- 1.15 NFS(文件传输)
- 1.16 Vim(编辑器)
- 1.17 Cobbler(自动化部署)
- 二、常用数据库
- 2.1 MySQL(关系型数据库)
- mysql主从复制
- 2.2 Mongodb(数据分析)
- 2.3 Redis(非关系数据库)
- 三、自动化运维工具
- 3.1 Cobbler(系统自动化部署)
- 3.2 Ansible(自动化部署)
- 3.3 Puppet(自动化部署)
- 3.4 SaltStack(自动化运维)
- 四、存储
- 4.1 GFS(文件型存储)
- 4.2 Ceph(后端存储)
- 五、运维监控工具
- 5.1 云镜
- 5.2 ELK
- 六、运维云平台
- 6.1 Kubernetes
- 6.2 OpenStack
- 介绍
- 安装
- 七、Devops运维
- 7.1 理念
- 7.2 Devops运维实战
- 八、编程语言
- 8.1 Shell
- 书籍《Wicked Cool Shell Scripts》
- 8.2 Python
- 8.3 C
- 8.4 Java
- leecode算法与数据结构
- 九、杂记
- 高优先级技能
- 知识点
- JD搜集
- 明显的短板
- 1.0 Python
- 1.1 Kubernetes
- 1.18.2 《kubernetes in action》
- 遗漏知识点
- 1.18.3 GCP、azure、aliyun
- Azure文档
- 1.18.5 《program with kubernetes》
- Istio
- HELM
- 《Kubernetes best practice》
- Kubernetes源码学习
- Scheduler源码
- 调度器入口
- 调度器框架
- Node筛选算法
- Node优先级算法
- pod抢占调度
- 入口
- 主要代码结构
- new
- 文章翻译
- Flannel
- 从二进制集群搭建
- 信息收集
- docker优化
- 1.2 shell
- 面试题
- grep awk sed 常见用法
- shell实践
- 1.3 Data structure(数据结构)
- Calico
- Aliyun文档以及重点模块
- git
- 大数据组件
- 前端,后端,web框架
- cgroup,namespace
- 内核
- Linux搜集
- crontab
- centos7常用优化配置
- centos Mariadb
- eBPF
- ebpf的前世今生
- Linux性能问题排查与分析
- 性能分析搜集
- 性能分析常用10条
- 网络性能优化
- 文本处理命令
- sql
- Iptables
- python面试题
- iptables
- iptables详细
- zabbix面试题,proj
- prometheus
- web中间件
- nginx
- Haproxy
- grep sed awk
- Linux常用命令
- 云平台
- 书籍Linux应用技巧
- kafka
- kafka面试题
- ETCD
- Jenkins
- 3天补充的点
- K8s源码
- K8s
- k8s实操
- etcd
- test
- BPF
- PSFTP使用
- StackOverflow问答精选
- 问题
- 我对于学习思考
- 修改ssh超时时间
- 课程目录
- 运维与运维开发
- The Person
- 个人杂谈
- mysql主从复制
- 对于工作的认识与思考