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

    文章

    1569

    浏览量

    68501
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209323
收藏 人收藏

    评论

    相关推荐

    硬件工程师需要掌握的硬件基础知识

    示波器 方法/步骤 电路知识,模拟电子线路知识:作为一个合格的硬件工程师,模拟电路知识是基础,从了解最基本的电阻,电容,电感,二极管,三极管等原件开始,我们需要熟悉一些基本的模拟电路的设计方法。比如简单的放大电路,加减
    的头像 发表于 12-02 09:22 242次阅读
    硬件<b class='flag-5'>工程师</b><b class='flag-5'>需要</b>掌握的硬件基础知识

    电力电子工程师拿到50W以上的年薪需要具备哪些技能

    高薪电力电子工程师需要具备的技能
    的头像 发表于 11-05 09:44 274次阅读
    电力电子<b class='flag-5'>工程师</b>拿到50W以上的年薪<b class='flag-5'>需要</b>具备哪些<b class='flag-5'>技能</b>

    需要无刷电控硬件工程师

    需要无刷电控硬件工程师,地点东莞松山湖。最好有5-10年经验,大功率电摩电控。有意私聊。
    发表于 09-11 22:51

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师如何提升自己?

    的发展打下坚实的基础。 2.掌握专业技能 除了基础知识外,嵌入式软件工程师需要掌握专业的技能。这包括熟练掌握嵌入式系统的开发工具、硬件平台和软件开发流程。建议通过参加培训课程、实习经
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    要求。 总的来说,嵌入式软件工程师和嵌入式硬件工程师在工作中各有侧重,相互依赖。嵌入式软件工程师需要了解和适应硬件限制,而嵌入式硬件工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

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

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

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

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

    【2023电子工程师大会】单片机/RTOS/Linux全栈工程师

    【2023电子工程师大会】单片机/RTOS/Linux全栈工程师修炼之路ppt
    发表于 01-03 16:31 44次下载