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主從復制
- 對于工作的認識與思考