技術內容:
提示:根據面試的企業、崗位不同,考察技術問題不一,萬變不離其宗,掌握核心技術問題是關鍵!若您的非技術問題,不占優勢,則必須要能講好技術內容,
一、專項題
1、Tomcat
講述一下Tomcat8005、8009、8080三個埠的含義?
答:8005 關閉時使用
8009為AJP埠,即容器使用,如Apache能通過AJP協議訪問Tomcat的8009埠來實作功能
8080 一般應用使用
2、什么叫CDN?
答:即內容分發網路
其目的是通過在現有的Internet中增加一層新的網路架構,將網站的內容發布到最接近用戶的網路邊緣,使用戶可就近取得所需的內容,提高用戶訪問網站的速度
3、什么叫網站灰度發布?
答:灰度發布是指在黑與白之間,能夠平滑過渡的一種發布方式,AB test就是一種灰度發布方式,讓一部分用戶繼續用A,一部分用戶開始用B,如果用戶對B沒有什么反對意見,那么逐步擴大范圍,把所有用戶都遷移到B上面,灰度發布可以保證整體系統的穩定,在初始灰度的時候就可以發現、調整問題,以保證其影響度,
4、簡述DNS進行域名決議的程序?
答:用戶要訪問 www.baidu.com,會先找本機的host檔案,再找本地設定的DNS服務器,如果也沒有找到,就去網路中找根服務器,根服務器反饋結果,說只能提供一級域名服務器.cn,就去找一級域名服務器,一級域名服務器說只能提供二級域名服務器.com.cn,就去找二級域名服務器,二級域服務器只能提供三級域名服務器.baidu.com.cn,就去找三級域名服務器,三級域名服務器正好有這個網站www.baidu.com,然后發給請求的服務器,保存一份之后,再發給客戶端
5、講述一下LVS三種模式的作業程序?
答:
一、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這種實作方式不需要隧道結構,因此可以使用大多數作業系統做為物理服務器,
缺點:要求負載均衡器的網卡必須與物理網卡在一個物理段上,
6、講一下Keepalived的作業原理?
答:在一個虛擬路由器中,只有作為MASTER的VRRP(虛擬路由冗余協議)路由器會一直發送VRRP通告資訊,
BACKUP不會搶占MASTER,除非它的優先級更高,當MASTER不可用時(BACKUP收不到通告資訊)
多臺BACKUP中優先級最高的這臺會被搶占為MASTER,這種搶占是非常快速的(<1s),以保證服務的連續性
由于安全性考慮,VRRP包使用了加密協議進行加密,BACKUP不會發送通告資訊,只會接收通告資訊
7、keepalive的作業原理和如何做健康檢查
答:keepalived是以VRRP協議為實作基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議,
虛擬路由冗余協議,可以認為是實作路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組
這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內
其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了
這時就需要根據VRRP的優先級來選舉一個backup當master,這樣就可以保證路由器的高可用了
keepalived主要有三個模塊,分別是core、check和vrrp,core模塊為keepalived的核心,負責主行程的啟動、維護
及全域組態檔的加載和決議,check負責健康檢查,包括常見的各種檢查方式,vrrp模塊是來實作VRRP協議的
Keepalived健康檢查方式配置
HTTP_GET|SSL_GET
HTTP_GET | SSL_GET
{
url {
path /# HTTP/SSL 檢查的url可以是多個
digest # HTTP/SSL 檢查后的摘要資訊用工具genhash生成
status_code 200# HTTP/SSL 檢查回傳的狀態碼
}
connect_port 80 # 連接埠
bindto
connect_timeout 3 # 連接超時時間
nb_get_retry 3 # 重連次數
delay_before_retry 2 #連接間隔時間
}
8、統計ip訪問情況,要求分析nginx訪問日志,找出訪問頁面數量在前十位的ip
答:cat access.log | awk ‘{print $1}’ | uniq -c | sort -rn | head -10
9、使用tcpdump監聽主機為192.168.1.1,tcp埠為80的資料,同時將輸出結果保存輸出到
答:tcpdump ‘host 192.168.1.1 and port 80’ > tcpdump.log
10、如何將本地80 埠的請求轉發到8080 埠,當前主機IP 為192.168.2.1
答:iptables -A PREROUTING -d 192.168.2.1 -p tcp -m tcp -dport 80 -j DNAT-to-destination 192.168.2.1:8080
二、 綜合題
1、lvs/nginx/haproxy優缺點:
| 型別 | Nginx | haproxy | LVS |
|---|---|---|---|
| 簡記 | 高、低、穩、少 | 多、小、u | 穩、廣、強、簡 |
| 優點 | 安裝和配置簡單 、記憶體消耗少、承擔高負載壓力且穩定 | 支持多網段、支持url 、負載均衡策略多、會話保持 | 抗負載能力強、作業穩定,自身有完整的雙機熱備方案、應用范圍比較廣 |
| 缺點 | 支持協議少,http、https和Email | 不支持http cache | 不支持正則、不能做動靜分離、成本高 |
| 演算法 | 輪巡、加權輪巡、ip哈希 | 輪巡、加權輪巡、原地址保持、RI(請求URL)、rdp-cookie | 輪巡、加權輪巡、最小連接、權重最小連接 |
| 虛擬機 | 支持 | 支持 | 不支持 |
| 適用 層 | 七層 | 四、七層 | 四層 |
| 場景 | 網站建設初期 | 網站建設初期 | 大規模時期 |
Nginx優點:
1)安裝和配置簡單
2)記憶體消耗少
3)可承擔高負載壓力且穩定
4)Nginx不僅可做負載均衡器/反向代理軟體,也可做Web網站服務器
缺點:
1)不支持URL;
2)Nginx僅能支持http、https和Email協議,
3)Nginx的Session的保持,Cookie的引導能力相對欠缺,
haproxy優點:
1)HAProxy是支持虛擬主機的,可以作業在4、7層(支持多網段);
2)能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等作業;
3)支持url檢測后端的服務器;
4)它跟LVS一樣,本身僅僅就只是一款負載均衡軟體;單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度,在并發處理上也是優于Nginx的;
5)HAProxy可以對Mysql讀進行負載均衡,對后端的MySQL節點進行檢測和負載均衡,不過在后端的MySQL slaves數量超過10臺時性能不如LVS;
6)HAProxy的演算法較多,達到8種;
haproxy缺點:
1)不支持http cache
2)多載配置的功能需要重啟行程,雖然也是soft restart,但沒有Nginx的reaload更為平滑和友好,
3)不支持POP/SMTP協議
LVS優點:
1)抗負載能力強、作業在第4層僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟體里的性能最強的;無流量,同時保證了均衡器IO的性能不會受到大流量的影響;
2)作業穩定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;
3)應用范圍比較廣,可以對所有應用做負載均衡;
4)配置簡單,這是一個缺點也是一個優點,因為沒有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯的幾率;
LVS的缺點:
1)軟體本身不支持正則處理,不能做動靜分離
2)如果網站應用比較龐大,LVS/DR+Keepalived就比較復雜了,配置成本高
2、LVS、Nginx、HAproxy有什么區別?作業中你怎么選擇?
答:
LVS
1)抗負載能力強、作業在第4層僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟體里的性能最強的;無流量,同時保證了均衡器IO的性能不會受到大流量的影響;
2)作業穩定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;
3)應用范圍比較廣,可以對所有應用做負載均衡;
4)配置簡單,因為沒有可太多配置的東西,所以并不需要太多接觸,大大減少了人為出錯的幾率;
LVS的缺點:
1)軟體本身不支持正則處理,不能做動靜分離,這就凸顯了Nginx/HAProxy+Keepalived的優勢,
2)如果網站應用比較龐大,LVS/DR+Keepalived就比較復雜了,特別是后面有Windows Server應用的機器,實施及配置還有維護程序就比較麻煩,相對而言,Nginx/HAProxy+Keepalived就簡單多了,
Nginx
1)作業在第7層,應用層,可以針對http應用做一些分流的策略,比如針對域名、目錄結構,它的正則比HAProxy更為強大和靈活;
2)Nginx對網路的依賴非常小,理論上能ping通就就能進行負載功能
3)Nginx安裝和配置簡單
4)可以承擔高的負載壓力且穩定,一般能支撐超過幾萬次的并發量;
5)Nginx不僅僅是一款優秀的負載均衡器/反向代理軟體,它同時也是功能強大的Web應用服務器,Nginx在處理靜態頁面、特別是抗高并發方面相對apache有優勢;
6)Nginx作為Web反向代理加速快取越來越成熟,速度比傳統的Squid服務器更快
Nginx的缺點:
1)Nginx不支持url來檢測,
2)Nginx僅能支持http、https和Email協議
3)Nginx的Session的保持,Cookie的引導能力相對欠缺,
HAProxy
1)HAProxy是支持虛擬主機的,可以作業在4、7層(支持多網段);
2)能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等作業;
3)支持url檢測后端的服務器;
4)它跟LVS一樣,本身僅僅就只是一款負載均衡軟體;單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度,在并發處理上也是優于Nginx的;
5)HAProxy可以對Mysql讀進行負載均衡,對后端的MySQL節點進行檢測和負載均衡,不過在后端的MySQL slaves數量超過10臺時性能不如LVS;
6)HAProxy的演算法較多,達到8種;
作業選擇:
HAproxy和Nginx由于可以做七層的轉發,所以URL和目錄的轉發都可以做
在很大并發量的時候我們就要選擇LVS,像中小型公司的話并發量沒那么大
選擇HAproxy或者Nginx足已,由于HAproxy由是專業的代理服務器
配置簡單,所以中小型企業推薦使用HAproxy
3、現在給你三百臺服務器,你怎么對他們進行管理?
答:
1)設定跳板機,使用統一賬號登錄,便于安全與登錄的考量,
2)使用saltstark、ansiable、shell進行系統的統一調度與配置,
3)建立簡單的服務器的系統、配置、應用的cmdb資訊管理,便于查閱每臺服務器上的各種資訊記錄,
4)用zabbix對其進行實時監控;當然最重要的是對資料進行備份,
非技術內容:
提示:大部分非技術問題,沒有固定答案可根據自己的理解,保證主題對,針對面試企業需求去應對
1、 什么是運維?什么是游戲運維?
答:對已建立好的網路軟硬體的維護,保證業務的上線與運作的正常,在運轉的程序中,對它進行維護,運維又包括很多種,有DBA運維、網站運維、虛擬化運維、監控運維、游戲運維等等;
分為開發運維、應用運維(業務運維)和系統運維
開發運維:是給應用運維開發運維工具和運維平臺的
應用運維:是給業務上線、維護和做故障排除的,用開發運維開發出來的工具給業務上線、維護、做故障排查
系統運維:是給應用運維提供業務上的基礎設施,比如:系統、網路、監控、硬體等等
總結:開發運維和系統運維給應用運維提供了“工具”和“基礎設施”上的支撐
開發運維、應用運維和系統運維他們的作業是環環相扣的
2、 在作業中,運維人員經常需要跟運營人員打交道,請問運營人員是做什么作業的?
答:游戲運營要做的一個事情除了協調作業以外,還需要與各平臺溝通,做好開服的時間、開服數、用戶導量、活動等計劃
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/344171.html
標籤:其他
