0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux工程师需要了解哪些技能

工程师人生 来源:工程师吴畏 2019-08-21 15:45 次阅读

大公司也是从小公司一步步走过来的,而大公司之所以与小公司不同,不在于基础的技术体系不同,而是当数据量达到一定程度后,引发的质变而已。而在思考质变带来的性能问题中,总结出来了一系列的工具,然后通过把对应的工具集合起来后形成了对应的运维工具平台。

“万丈高楼平地起”

有了运维工具平台是不是运维能力就够了?这句话先放在这里……

刚才已经说了,工具无大小,适合公司的使用即可,先抛开大公司使用的工具,我们先来聊聊小公司日常都需要什么工具?出入公司首先解决的是网络问题,然后大家能够上网后开始解决共享存储问题,比如搭建FTP,SAMBA,NFS网络存储,解决员工之间的文件传送和备份,这些在Linux学习过程中都有体现,马哥课程中也有比较详细的描述,比如如何搭建,此处省略不说了。

“古树千年幼苗成”

随着人们增加,必然会出现公司网络带宽首先,很多时候买的路由器也可以去做一定的限流功能,那随着业务的发展,公司有了自己网站的特色,这些特色的背后其实是公司核心的商业价值,比如网站的搭建,一个普通网站的背后究竟有什么呢?纯静态网站就不说了,没啥技术含量,我们聊聊动态网站,动态网站是会动的网站吗?显然不是,他其实是存在数据交换的网站,那既然有数据交换,数据交换过程中有哪些东西呢?数据交换后的状态有哪些呢?这其实就是所谓的数据对象存储的问题,比如常见的数据库存储软件有MySQL,既然用到了MySQL,那他日常的维护都需要什么?举个简单的栗子,他的部署,服务启停,数据备份,数据库容灾,对应时间点的备份,抽取binlog……,这背后的工具不用我详细描述,相信大家都知道了,那就是基本的数据库的维护,数据库的备份,恢复,策略都有哪些呢?这块如果你不知道请自行翻阅马哥课程进行脑补,已经被讲烂的课题,但是有时大家必须要掌握的,好了说外数据库的事情,那聊聊应用程序吧!

“盘龙卧虎高山地”

应用程序运行究竟是如何的?运行环境有哪些?比如公司早期需要快速迭代,那么PHP是不二之选,毕竟PHP是世界上最好的语言嘛,Linux上运行PHP环境的常见组合是Nginx+PHP+PHP-FPM,抛个问题,这样部署好后,代码请求的流程是怎么样的?php-fpm作用是什么?fastcgi又是干什么的?fastcgi被启动的worker用完了怎么办?这些信息在配置中如何体现?如何合理的优化?

带着上面的思考,如果你会了我就不说了,如果你不会,请自行恶补,已经是面试被问烂的问题了,如果连这个都回答不上来,真该回马哥教育回炉了。

那么谈到LNMP,那为啥一个请求通过一个LNMP就能访问到?一个请求又经过哪些过程达到最终想要的结果呢?这一块需要去了解DNS解析原理,HTTP协议请求,谈到DNS不得不说DNS解析方式有哪些?

DNS记录类型有哪些?DNS服务器的类型有哪些?

你是否知道什么叫主服务器,辅助服务器,缓存名称服务器,转发器?

那对于主辅架构中,区域的传送类型有哪些?

区域类型有哪些?什么叫子域,什么叫子域授权?

知道RNDC是干嘛的不?

以上问题也不多,翻翻看看应该都会,当然请不要告诉我你不会,要不然上半年都过完了,这些姿势还没学会的话,下半年岂能安身立命呢?

回过神来,HTTP协议知道多少呢?了解什么叫跨域吗?Nginx如何解决跨域问题?平时见过不少学员一个HTTP请求返回个403,啥意思呀?知道几个状态码呢?都表示啥意思呢?419表示啥(不是你知道的那个4-1-9)?对于HTTPS了解几分?为啥要搞HTTPS,解决什么问题?带来的性能问题有哪些?知道什么叫泛域名证书吗?和普通的证书哪个贵?最后再问一个最基础的,HTTP协议在TCP/IP协议栈中哪个位置?那你知道TCP/IP协议栈和OSI相关的知识吗?如果不知道,不好意思,下面你也不用读了,你真的不可能再看懂的。

………

“大海无边百川融”

能躺着看到这地方的说明基础还有一定水平,那好吧,接着我们俩聊聊,随着流量增加后,你需要了解的知识有哪些?你的应用服务器如何水平扩展,扩展后代码的结构和部署方式如何实现同步,如何实现流量的迁移,迁移的健康检车方式有哪些?你知道的负载均衡设备有哪些?

你觉得LVS和F5哪个更适合做CDN的负载均衡?

谈到LVS,那你知道LVS的模式吗?

每个模式的特点有哪些?他都解决了什么场景下的问题?

我感觉问题到这里后,你已经蒙圈了。在你还没彻底挂的情况下,我再补一个问题:LVS的负载均衡算法有哪些?他们解决的是什么问题?

谈完集群的LB类型后,那我们俩聊聊单点背后我们要干的事情—永无宁日,为了让自己吃得好,睡得香,咋整呢?高可用呀,High available

Cluster嘛,简称HA。常见的HA软件有哪些?知道keepalived的vrrp原理吗?常见高可用软件中对资源如何管理的?脑裂是如何产生的又该如何应对呢?有些东西他们本身是独立的,但是一旦结合起来后,你会发现他们之间其实能产生很大的效果,也就是1+1 》 2的节奏,比如当LB和HA结合起来的时候,是不是可以消除LB的单点问题,也可以消除HA的负载均衡问题,然后你也许会陷入LB的HA和HA的LB循环坑里面,不过这不重要,重要的是你是一个对架构有追求的好孩子,难道不是吗?

量变带来了质变,质变带来了架构的变化,所以对于对于一个普通的电商架构来说,上面的基础设施层基本上欧了,当然对于图片服务器,我们可以需要加一些静态文件服务器,或者换成服务器,比如通过Nginx和Varnish来解决静态文件的存储、缓存问题,提高用户端的快速响应能力,而对于我们的数据层面我们也可以通过添加缓存来解决应用和数据库IO速度不匹配的问题,大家都知道大型互联网架构中,缓存为王,那是不是所有的都需要加缓存,缓存又该如何加呢?举个简单的栗子,大家都知道MySQL也可以加缓存,比如Memcached,那你是否听过MySQL的Memcache Plugins呢?为什么要把他们放到同一台机器上,有什么特俗含义吗?

好了,到这里我们已经跨越到了中型互联网公司的范畴了,那接下来对于大型互联网公司他们都需要什么呢?举个简单的栗子,对于业务组件来说,他们需要的是一套完整的服务管理组件,中间层,底层封装好的api,那这些api对于业务的使用其实是透明的,他们也不需要去实现,只需要找对应的人去要授权,然后调用即可,这就是服务化的雏形,当然他们一样会面临服务负载均衡问题,一样会面临消息,队列,缓存,存储问题,当大型互联网公司在逐渐升级,逐渐解决遇到的瓶颈后,他们也开始逐渐思考如何把这种实践带来更多的市场价值,比如阿里云的诞生。我相信早期阿里云初衷是为了解决每年双十一后过剩机器带来的资源浪费问题,但是随着这条路深入到根底发现他不仅仅是解决资源问题,更是解决中国互联网基础设施问题,当然也是解决众多创业小公司的效率问题。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 工程师
    +关注

    关注

    59

    文章

    1553

    浏览量

    67514
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
收藏 人收藏

    评论

    相关推荐

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的人来说,掌握
    发表于 03-04 16:38

    优秀电源工程师需要哪些必备技能

    就带大家细数一下优秀电源工程师具备的那些技能。一、新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握电源开发相关的关键知识点,我们整理
    发表于 01-29 11:29

    优秀电源工程师的必备技能大揭秘!

    就带大家细数一下优秀电源工程师具备的那些技能。新手必备课程成为一名电源高手需要扎实的理论基础,涉及电路原理、语言编程和控制理论等多个学科领域。为了帮助大家更好地掌握
    的头像 发表于 12-19 08:23 751次阅读
    优秀电源<b class='flag-5'>工程师</b>的必备<b class='flag-5'>技能</b>大揭秘!

    我们为什么需要了解一些先进封装?

    我们为什么需要了解一些先进封装?
    的头像 发表于 11-23 16:32 319次阅读
    我们为什么<b class='flag-5'>需要了解</b>一些先进封装?

    硬件工程师需要了解主机厂的标准吗?

    公司最近购买了GMW14082-2010通用汽车的标准,要求硬件工程师进行阅读。我有点不清楚这个标准的作用对于我们来说有什么用,里面的内容需要全部都掌握吗?还是只要知道其中一些关键点就行?
    发表于 11-23 15:03

    FPGA工程师需要具备哪些技能

    的状态机以及高级逻辑电路。 FPGA工程师需要熟练掌握HDL语言,并能够根据需要灵活使用这些语言。他们需要知道如何将各种逻辑电路和存储器组合在一起,以实现所需的功能。同时,FPG
    发表于 11-09 11:03

    如何成为一名优秀的嵌入式工程师

    了解到最新的技术和趋势,同时也可以提高自己的编程水平。 要成为一名优秀的嵌入式工程师需要不断学习和实践,掌握C语言的基础知识,同时也要关注嵌入式的发展和变化,不断提高自己的编程水平。不积跬步,无以至千里;不积小流,无以成江海。
    发表于 11-07 15:36

    FPGA工程师需要掌握的基本技能

    的支持的。可以看出FPGA这个行业在现在还是很热门的。并且这个行业的人才缺口也很大,欢迎各位加入FPGA这个大家庭! ■■■■ FPGA的结构 想成为一名FPGA工程师,对FPGA的结构是必须要掌握
    发表于 11-03 10:32

    《电子工程师必备——电路板技能速成宝典》读后感

    理论知识,又能充分联系实际,贴近实际电子工程师工作的专业技术书籍。直到看了《电子工程师必备—电路板技能速成宝典》这本书,我终于找到了梦寐以求的那本书。 该书一共十三章,几乎涵盖了电子工程师
    发表于 09-16 08:16

    替换滚珠螺杆需要了解哪些参数?

    替换滚珠螺杆需要了解哪些参数?
    的头像 发表于 09-08 17:47 671次阅读
    替换滚珠螺杆<b class='flag-5'>需要了解</b>哪些参数?

    热门推荐:硬件工程师必备工具

    ,以及长期可靠使用的至关重要的因素。 在这些过程中,对硬件工程师能否仔细检查出PCB和PCBA的设计隐患,排查潜在的生产风险,就显得尤为重要,那么本文将带大家深入了解这部分的内容。 一、协助硬件开发
    发表于 06-21 10:15

    【书籍评测活动NO.15】电子工程师必备丛书系列——电路板技能速成宝典

    万册! 本书以培养实际动手操作技能为出发点,从基础知识讲起,系统地介绍了电子工程师必学必备的电路板关键实操技能,内容包括:百余种元器件引脚的识别和检测方法、百余种元器件典型应用电路和单元电路的故障分析
    发表于 06-07 16:21

    公交导乘屏选择需要了解哪些参数?

    公交导乘屏选择需要了解哪些参数? 公交导乘屏的应用范围是很广泛,我们生活的方方面面都有接触到公交导乘屏,比如:车载、货架、机场、餐厅、多媒体教学、地铁站台、公交站台等。以车载类公交导乘屏为列,车载
    的头像 发表于 05-23 17:07 436次阅读