2

作为后端程序员 Linux 应该掌握到什么程度?

 2 years ago
source link: https://os.51cto.com/article/701872.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
作为后端程序员 Linux 应该掌握到什么程度?
作者:鸭血粉丝Tang 2022-02-18 07:32:13
作为后端程序员如果你只觉得只要把业务代码写完,功能实现,项目上线后就万事大吉,后期的运维完全不用关心那你就大错特错了。

作为后端程序员如果你只觉得只要把业务代码写完,功能实现,项目上线后就万事大吉,后期的运维完全不用关心那你就大错特错了。高级的后端程序员不仅要能高效的开发,还要会高效的运维,在遇到线上问题的时候能快速响应并定位修复。

后端程序员不管在什么公司,基本上都是以下三种情况中的一种:

  • 开发加自主运维:公司没有专门的项目运维人员,后端程序员既做开发,又做运维;
  • 开发加协助运维:公司有专门的项目运维人员,后端程序员以开发为主,日常协助运维;
  • 开发加自助运维:公司有专门的自助运维工具,后端程序员兼顾开发和项目运维;

开发加自主运维

这三种情况一般也对应了不同的互联网公司,第一种是创业型的小公司,在创业型的小公司没有专门的运维人员,所以项目的开发上线完全由后端程序员自己上手,也包括后期服务的运维,往往创业型公司相关的工具和制度都不会特别完善,也不会有什么发布集成工具,基本上都是人为的手动拷贝 war 包或者 jar 上传到服务器上面进行,完全人工运维。

针对这种情况如果作为一个后端程序员不会 Linux 命令那基本上是无法胜任工作的,虽说常用的简单的命令大家可能都知道,但是当真正遇到线上问题的时候,往往时间就是金钱,能最早定位到问题就能最快的进行止血降低损失,所以对于 Linux 命令是越熟悉越好,掌握的越多越好。

另外往往在这种情况如果业务能快速增长还是会很锻炼人的,因为随着业务的增长,对项目开发和运维的要求都会越来越高,所以对后端程序员的要求也越来越高,促进了彼此的成长。但是反过来,如果业务没什么增长的话,线上的环境就会相对简单,导致个人的成长就会相对较慢。但是不管怎么样,掌握好该掌握的知识,才能应对复杂的情况。

开发加协助运维

第二种情况对应中型的互联网公司,当业务增长到一定的程度过后,公司的工具和制度就会相对完善,这个时候往往会要求术业有专攻,开发岗位和运维岗位分的就稍微会清楚一点,但是岗位分的清楚不代表开发人员就不需要关心服务的运维情况。

这个时候对开发人员的要求也只会越来越高,运维知识也是少不了的,对于 Linux 的知识自然也是要掌握的。很多时候项目开发之初就要考虑到架构要如何设计,服务要如何部署,资源要如何分配等等问题,毕竟这个时候线上业务的稳定是最重要的,项目开发之初就要考虑到可能遇到的各种情况以及应对策略。

虽然说是协助运维,但是毕竟开发人员才是对系统最熟悉的人, 特别是当下微服务架构,服务众多,每个服务之前的前后调用关系,集群资源情况,日志存储情况都特别的繁多,如果开发人员对线上微服务的部署不清楚,在遇到问题的时候就很难协助运维人员定位和处理。

虽然说很多时候可能不需要开发人员上机动手敲命令,但是如果不知道 Linux 服务器的相关知识和常用的命令,那基本上也是不合格的。

开发加自助运维

最后一种情况一般会出现在一些互联网大厂,因为互联网大厂开发人员众多,没办法配备很多的运维人员,所以要求开发人员自助的进行项目服务的运维。同时大厂的自助运维工具会特别的多和全,服务器一般也是虚拟化的,都是通过集成工具来实现完全自助的运维,以及无人化运维。

既然是自助运维,那开发人员就必须要了解服务器的相关知识和 Linux 的常用命令操作,其实这也是为什么都说大厂面试造火箭,工作拧螺丝,虽然平常的工作中用到的不多,但是关键时刻还是要能上的。

不知道看到这里有没有小伙伴遇到过面试大厂的时候,被问到服务运维相关的知识,但是因为自己并不了解被拒的。

可能会有很多小伙伴有疑问,那在小公司自主运维跟在大厂自助运维有什么区别?这两者的区别就像是原始社会和现代社会一样。在小公司自主运维,完全靠人工,基本上谈不上效率和安全;但是在大厂的自助运维,效率和安全都是有保障的。有了工具效率自然不用说,关于安全方便,一般危险的命令在大厂服务器上面是执行不了了,很大程度上避免了删库跑路的情况。

当然这里说的只是方式的差别,但是对应具体的问题排查方式和命令使用技巧,大家都是一样的,毕竟大厂的服务也是跑在类 Linux 上的,所以 Linux 的命令也还是完全适用的。

总的来说就是,作为一个后端程序员,不管是在小公司还是大公司,除了会写后端代码之外,我们还需要掌握 Linux 的常用命令和服务器的相关知识,才能更好地发展。好了话不多说,下面是福利时间。

责任编辑:武晓燕 来源: Java极客技术
zanpc.bd208a1.pngzanpchover.fdd60ba.png
weixin.23cd8b3.png 分享到微信
weibo.16d6b4f.png 分享到微博

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK