2015年运维界发生了几件大事件,一个是淘宝的服务中断,另外一个是携程的数据误删。从技术上来说,2015年发生的几件大事件,一个是由于网络故障引起的,一个是由于手工误删导致的人为错误。在互联网连接的当下,运维也必须得关注关注网络领域。因为你的服务器离不开网络,请不要忽视了网络的重要性。
什么是互联网?
互联网是由资源子网和通信子网构成的网络,所谓资源子网就是指提供服务的供应方,所谓通信子网就是指网络化的桥梁,这些桥梁连接着各个资源网络,以方便信息的有效传递。对于我们互联网使用者来说,我们都是客户,都是访问者。我们需要通过通信子网到达目标资源子网获取我们需要的数据。
在互联网中传递的是信息,是消息。互联网之所以能拥有改变世界的力量,其实关键点都是消息这个原子在发挥着作用。
从我们用QQ通信,用YY交流,用淘宝购物,用携程定机票,使用叫车软件叫车,使用叫餐软件叫餐等等。在这些事物中互联网已经颠覆了我们的生活方式。在互联网协助我们完成现实中的事物,并用着魔法般的作用力颠覆我们生活的时候,改变我们的其实是自古以来就有的消息,一种可控,可管理,有效的消息传递。
互联网顾名思义,它就是将万物连接的网络,只不过目前这个网络只存在于计算机中。至于以后会发展成为什么样子,我真不敢想象。
但互联网现在就是指的计算机网络,我们通过计算机生活在这个网络上。我们的一切行为都在用信息进行描述,通过通信子网传递到资源子网中,然后返回消息,指引并控制着我们的生活,使得我们生活得井然有序而且高效。
通信子网有多么重要?
通信子网和资源子网是构成互联网的必要元素,两者缺一不可,一旦缺少一样,互联网就不复存在。如果把互联网比作大池塘,那这两者的关系就好像鱼和水,鱼离开水就活不久了。池塘没有了鱼也就失去了灵气。
所以这也体现了网络在运维工作中的重要性,这是互联网存在的主要要素。那么一旦网络出现问题会怎么样呢?
2015年阿里光纤挖断影响支付宝业务就是最好的说明,网络一旦出现问题,那么后端的服务由于接收不到消息,或者消息不同步,不能有效完成确认闭环,那么就很容易产生问题。会直接的导致前端的服务无法使用。
运维你应当花时间深入的掌握网络知识!
目前运维的概念被炒得火热,运维像云计算概念一样被包裹了太多的东西,数据分析,自动化运维,配置管理,虚拟化,容器等等技术,确实这些东西为我们管理提供了十分高效的方法。但是我突然发现好像忽略了什么东西,没错这个东西就是网络。
运维的技术方向偏颇向了数据库的管理和应用,以及服务器的维护管理。貌似已经没有人来关注网络会带来的影响了,似乎网络交付过来就是可用的了(国产的交换机越来越可靠了),不用去理会。不过这不是不去掌握网络知识的原因。
深入了解计算机网络知识有助于帮助理解更深层次的架构问题。以及帮助你解决在宏观中出现的问题。这就犹如在互联网上盖房子,那必须了解土质是什么样的情况,而且要把地基打得深入点。即使有意外发生,房子有倒塌的风险也知道如何去处理。
网络知识学什么?
计算机知识学习其实是一通百通,这是我自认为的。为什么这么说呢,因为计算机都是讲语言的。在编程领域,我们讲的是C语言,JAVA,Python,C#,在通信领域,我们需要掌握的是协议。让我们看看都有哪些协议我们可以深入掌握。
ISO/OSI七层协议:最为基础的协议,构成整个计算机通信的基础,概览性的介绍了计算机的通讯体系。
ARP协议:机器地址与IP地址解释绑定的协议。
PXE协议:自引导启动协议,想要知道了解自动安装系统原理的朋友们应该关注下。
TCP/IP:通信网络的基本原子,基本上所有的计算机通信都是建立在TCP/IP通信基础上的。所以非常有必要掌握这个通信协议。
DHCP协议:使得计算机能自动获取到IP的协议。
DNS协议:解释解析互联网域名的协议,通过该协议能知道服务的具体IP。
路由协议:对于多出口管理的一个路由协议。(核心,学习和理解路由协议有助于对大网环境有概览了解,特别是互联互通的问题,为什么三大运营商互联互通会有问题?在了解了BGP协议后你将会对这个问题有所答案)
网络知识学习能带来什么好处?
学习好了网络协议知识可以有助于我们在运维计算机系统的过程中,清楚的明白服务之间的协议设置,可以在开发的过程中运用通信知识编写可靠的服务协议,正所谓站在巨人的肩膀上。
学习好了网络知识能帮助我们在运维过程中把握宏观,处变不惊。而且我相信80%的非人为故障都是由于网络通信导致的问题。很简单,无线突然不能使用了,重启下网卡就好了...囧。
曾经有个故事,说的是一次事故,导致了一个片区的客户都不能正常访问公司的产品服务,当大家苦恼为什么会出现这样的问题的时候,想试图向办法解决的时候。这个时候突然有个运维人意外的说了句,“电信的路由表掉了,安抚客户即可”的话以后使得焦躁的团队安定了下来。
事后问他是怎么联想到的使得大家迅速安定下来,他只是很淡定的说了句,“网络知识很重要,只要清楚网络的协议原理加上经验总结就能分析出来了”。
所以说,学习好网络知识能有助于快速的分析和定位问题,直接的提高工作效率的。
请不要忽视了你身边的基础网络
在学习网络技术这门专业的时候,我们老师就告诉我们,学习网络技术你必须什么都得会做,因为你们不是做数据库工程师,不比其他IT工种,学习网络的网络工程师是在IT系统的最底层,在IT系统的最高层是数据库工程师。你们选择了这条路就要有思想准备,拿着全公司最低的待遇,做着最辛苦的工作。
但今天我想说的是,网络是互联网的基础,请不要忽视了你身边的网络,当你忽视它的时候。它可能正在慢慢的酝酿成你的累赘,尾大不掉。更不要不闻不问,掩耳盗铃,这样的话它可能会变成魔鬼,把你拉进悔恨的深渊里。