运维工程师需要掌握的技能

阅读数:2 编辑

 提起运维,大家都会想到又苦又累,又不被人重视的网管,机房运维,认为这个工种很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 等对比使用,如吞吐量、时延等优缺点,运维中遇到的问题及故障处置

猜你喜欢

转载自my.oschina.net/u/3611008/blog/1810190