1. 程式人生 > >運維工程師需要掌握的技能

運維工程師需要掌握的技能

 提起運維,大家都會想到又苦又累,又不被人重視的網管,機房運維,認為這個工種很low,入門門檻低,做的事比較雜,從搬伺服器上架到修印表機,修電腦,處理網路小故障等雜七雜八的活,究其原因,多年來小公司都把運維當做一種打雜的小工使。其實運維從分類可以分為很多專業領域,比如網路工程師,系統工程師,備份儲存工程師,CDN工程師,資料庫管理員,應用運維,運維開發,運維架構師等等崗位,本章暫不對運維崗位做過多解釋,我就個人的經驗,我是從運維實施、系統管理員、DBA最後到運維開發的,簡單說說各大網際網路公司對崗位的面試要求:

WEB篇:
1、負載均衡篇:熟悉常用的負載均衡技術,LVS,dpdk,Nginx等四層/七層負載均衡,除了硬體負載均衡裝置F5,有搭建、維護並熟悉負載均衡原理;
2、Nginx 重要配置、優化及使用、與lua的結合,接入、降級、限流、隔離、熔斷、動靜分離、反向代理、負載均衡,反爬蟲,黑白名單等 另Nginx 和Apache的比較;
3、TCP/HTTPs協議及三次握手,四次揮手,get/post的差異,協議頭,跳轉,常見返回碼的含義200/30x/40x/50x等知識及導致返回碼的可能故障原因,如果可能請詳細瞭解TCP/TP協議內容;
4、web的優化,web 訪問的流程,從瀏覽器-DNS-CDN-快取(本地快取,負載均衡層,快取層,接入層,應用層,資料庫層)-應用-資料庫整個流程,需要陳述過程,並能解釋調優排障的思路;
http 連線越快越好,越快建立連線越好,中間DNS解析, tcp握手都是可以優化的點
http 請求少並且小,減少請求的數量,請求的體積,比如 cookie的大小
解析html 的速度,dom樹解析,js 執行和首屏渲染是序列的,頁面渲染,把js放到body後面
載入頁面,下載資源,利用上面的原則,儘量少的發http請求,比如圖片,字型,以及js檔案等等

網路篇:
網路抖動,網絡卡打滿,大面積斷網,網路丟包,網路劫持,介面響應超時等,常用網路故障排查的手段,工具等,如tcpdump/iftop/traceroute/netstat等

故障篇:
網路失敗,業務異常(引數錯誤、業務邏輯處理錯誤,返回資料格式錯誤等下游業務不可用),機器故障 
cpu 負載太高,記憶體溢位,磁碟打滿,網絡卡打滿,超時
監控快速反饋

監控:正面預防,快速發現、定位問題進行報警
降級:反向止損,遇到故障自動處理,降低損失

監控篇: 
常規監控: zabbix 、Ganglia、Cacti、Nagios等
業務監控:業務指標的監控
呼叫鏈監控:CAT、zipkin、阿里鷹眼等
其他新興監控: Prometheus open-falcon
日誌監控:ELK等
另外時序資料庫是監控領域比較火的技術,大家可以多研究一下

應用篇
Java,weblogic,tomcat,jetty等Java中介軟體,涉及jvm 的調優,監控,GC的調優,cpu高的診斷
dubbo spring cloud sprin boot sping 全家桶,微服務的搭建,部署,監控(呼叫鏈監控)鑑於微服務領域還不成熟,很多公司還沒有實踐,另外有必要了解K8S等編排工具
訊息中間庫 rabbitmq 、rocketmq,Kafka 等對比使用,如吞吐量、時延等優缺點,運維中遇到的問題及故障處置

原文連結

相關推薦

工程師需要掌握技能

提起運維,大家都會想到又苦又累,又不被人重視的網管,機房運維,認為這個工種很low,入門門檻低,做的事比較雜,從搬伺服器上架到修印表機,修電腦,處理網路小故障等雜七雜八的活,究其原因,多年來小公司都把運維當做一種打雜的小工使。其實運維從分類可以分為很多專業領域,比如網路

工程師必須掌握的基礎技能有哪些?

運維工程師必須掌握的基礎技能有哪些?作者:Tanky Woo鏈接:https://www.zhihu.com/question/23665108/answer/25299881來源:知乎著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。1. Linux基礎包括對Linux整體的理解/使用和基

工程師必須掌握的基礎技能和職業前景

集中 kvm 防火墻策略 squid edi 整體 聖經 cnp 運維 運維工程師必須掌握的基礎技能有哪些 運維工程師(Operations),負責維護並確保整個服務的高可用性,同時不斷優化系統架構提升部署效率、優化資源利用率提高整體的ROI。這是百度百科對運維工程師的定義

Linux工程師必須掌握的基礎技能和職業素養有哪些?

這個問題挺好的,回答這個問題也是對自身的審查,看看自己還欠缺哪些。 回答僅代表我想到,不代表我都會 :( 一、技能篇: 1. Linux基礎 包括對Linux整體的理解/使用和基本命令: 瞭解Linux FHS : Filesystem Hierarchy Standard,國人寫的這本書不錯 Li

【轉載】職業向!我是怎麽入得行業?工程師入門必備技能以及打怪升級篇

能說 還要 作用 經歷 人工智能 details 最大堆 orm lock 前言:轉載 陳浩一個從事安全運維向的前輩文章。寫的很好。人非常nice,遇到了問題,qq上很快就回復了我。 大道三千 入門最難,凡事入了行,也就什麽都好說了,好的自然不斷努力奮鬥修行,不好的自然很快

經驗之談:Linux工程師所需技能

運維經驗 linux 以自己有限的經驗說說作為一名合格的Linux運維工程師需要掌握的東西:1、選擇版本現在發行版本已經讓人有點眼花繚亂了。但是架構和底層的東西都是一樣的,只是各自會有一些自己特有的工具。LINUX:CentOS、Red Hat、Oracle Linux、Debian、Ubuntu、S

Linux工程師必須掌握的伺服器效能引數指標

一個基於Linux作業系統的伺服器執行的同時,也會表徵出各種各樣引數資訊。通常來說運維人員、系統管理員會對這些資料會極為敏感,但是這些引數對於開發者來說也十分重要,尤其當你的程式非正常工作的時候,這些蛛絲馬跡往往會幫助快速定位跟蹤問題。 這裡只是一些簡單的工具檢視系統的相關引數,當然很多工具也是通過

工程師的必備技能……

1什麼是運維工程師 相信小夥伴們必定聽說過linux,也聽說過運維工程師。那麼運維工程師是個什麼概念呢? 百度百科上的官方解釋如下: 運維工程師(Operations)在國內又稱為運維開發工程師(Devops),在國外稱為 SRE(Site Reliabil

Linux工程師必備的十個技能

div 工具 備份工具 技術 linux運維 系統基礎 有用 linux 企業 1、Linux 系統基礎 這個不用說了,是基礎中的基礎,連這個都不會就別幹了,參考書籍,可以看鳥哥 Linux 基礎篇,至少要掌握這書 60% 內容,沒必須全部掌握,但基本命令總得會吧! 2

Python 在中要掌握的 20個技能

1、psutil是一個跨平臺庫(https://github.com/giampaolo/psutil) 能夠實現獲取系統執行的程序和系統利用率(記憶體,CPU,磁碟,網路等),主要用於系統監控,分析和系統資源及程序的管理。 2、IPy(http://github.com/haypo/pyt

android逆向開發工程師需要掌握技能--實習一個月總結報告

必須掌握的技能 1、負責安卓程式的加解密和資料傳輸分析、拆解、逆向等工作;  2 、逆向APK,瞭解執行過程;  3 、Andorid本地提權獲得root許可權;  4 、熟練掌握軟體逆向靜態分析、動態除錯、程式碼跟蹤等;  5 、熟悉Android開發,

想要成為大資料工程師需要掌握哪些技能

在中國,大資料也正迅速成為行業和市場的熱點。專注與亞太及中國市場的市場調查機構泛亞諮詢釋出的調研資料顯示,目前出現在各類招聘平臺上與資料分析相關的招聘需求比去年同期相比,增長率高達67%;大資料相關高階職位的薪酬與其他同類技術職位相比平均高出43%以上。無論是世界範圍內還是在中國,大資料浪潮

面試Linux工程師,一般要求掌握哪些知識,又看重哪些素質?

我們知道運維是個比較大的行業,細分到具體的崗位,有多達30種以上的運維頭銜,其中Linux運維工程師是眾多運維崗位中佔比最高的。那麼我們在面試Linux運維的求職者,或者我們自己被面試的時候,都需要哪些準備呢? 下面給大家收集整理了一些行內人士對這個問題的回答。 陳湛翀,從事運維工作 1、Linu

資料中心基礎設施人員應該掌握哪些專業技能

專業技能 所謂專業技能就是對某一專業有深入的研究,很高的造詣。但人的精力是有限的,一個人很難做到每個專業都精通;並不是每個人都能成為達芬奇這樣的天才。 在資料中心基礎設施領域,能精通供配電或暖通專業已經是需要很大精力投入了。能不能學好專業技能往往跟性格有很大關係。想成為技術專家一般有以下幾個性格特點

入門Linux工程師,必須要掌握的10個技術點

Linux系統的學習,可以選用redhat或centos,特別是centos在企業中用得最多,當然還會有其它版本的,但學習者還是以這2個版本學習就行,因為這兩個版本都是兄弟,沒區別的,有空可以再研究一下SUSE,有些公司也喜歡用。 對於剛入門或準備入門Linux運維的來說,我們也整理總結了以下10個

入門Linux工程師,必須要掌握的10個知識點

Linux系統的學習,可以選用redhat或centos,特別是centos在企業中用得最多,當然還會有其它版本的,但學習者還是以這2個版本學習就行,因為這兩個版本都是兄弟,沒區別的,有空可以再研究一下SUSE,有些公司也喜歡用。 對於剛入門

優秀的Java工程師需要掌握的10項技能

轉載IT學生網 ★www.itxsw.com★ 程式設計專業相對於計算機領域其他專業來講,是一門比較難以修煉的專業,此專業如果想要大成,需要修行之人心性極佳,踏踏實實,耐得住寂寞,受得住冷落。所以一位優秀的軟體開發工程師是非常難得的。老師就是程式設計專業出身,並且有

機器學習演算法工程師需要掌握技能與要踩的坑

1. 前言 本來這篇標題我想的是演算法工程師的技能,但是我覺得要是加上機器學習在標題上,估計點的人會多一點,所以標題成這樣了,呵呵,而且被搜尋引擎收錄的時候多了一個時下的熱門詞,估計曝光也會更多點。不過放心,文章沒有偏題,我們來說正經的。 今天就說說機器學習這個最近兩年計算

工程師應該具備的技能(轉載)

Linux系統如果是學習可以選用Redhat或CentOS,特別是CentOS在企業中用得最多,當然還會有其它版本的,但學習者還是以這2個版本學習就行,因為這兩個版本都是兄弟,沒區別的,有空可以再研究一下SUSE,有些公司也喜歡用。 1、Linux系統基礎

Web前端開發工程師需要掌握的核心技能

Web前端開發所涉及的內容主要包括W3C標準中的結構、行為和表現,那麼這三項中我們需要掌握的核心技能是什麼呢? 1.開發語言 HTML發展歷史有二十多年,歷經多次版本更新,HTML5和CSS3的出現又是一次革新。有些人認為前端開發要掌握的技能簡單,不就是製作網頁 嘛,