电脑怎样通过互联网传输数据

电脑怎样通过互联网传输数据,第1张

网络中数据传输过程

我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?

   我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为 应用层 表示层 会话层 传输层 网络层 数据链路层和物理层。其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Control,LLC )和介质访问控制层((Media Access Control,MAC )也就是平常说的MAC层。LLC对两个节点中的链路进行初始化,防止连接中断,保持可靠的通信。MAC层用来检验包含在每个桢中的地址信息。在下面会分析到。还要明白一点路由器是在网路层的,而网卡在数据链路层。

   我们知道,ARP(Address Resolution Protocol,地址转换协议)被当作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结 果是A与B根本不能进行通信。

   首先我们分析一下在同一个网段的情况。假设有两台电脑分别命名为A和B,A需要相B发送数据的话,A主机首先把目标设备B的IP地址与自己的子网掩码进行“与” *** 作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且A没有获得与目标设备B的IP地址相对应的MAC地址信息,则源设备(A)以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备(A)与目标设备(B)的IP地址。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息。在一次 ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。一个最基本的网络拓扑结构:

 如果中间要经过交换机的话,根据交换机的原理,它是直接将数据发送到相应端口,那么就必须保有一个数据库,包含所有端口所连网卡的MAC地址。它通过分析Ethernet包的包头信息(其中包含不原MAC地址,目标MAC地址,信息的长度等信息),取得目标B的MAC地址后,查找交换机中存储的地址对照表,(MAC地址对应的端口),确认具有此MAC地址的网卡连接在哪个端口上,然后将数据包发送到这个对应的端口,也就相应的发送到目标主机B上。这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。

 现在我们讨论两台不在同一个网段中的主机,假设网络中要从主机PC-A发送数据包PAC到PC-C主机中,如下图所示:

   

  PC-A并不需要获取远程主机(PC-C)的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机(PC-A)没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程主机的 MAC地址。在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,

除了知道目标设备的网络层逻辑地址(如IP地址)外,还要知道目标设备的第二层物理地址(MAC地址)。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。     数据包在网络中的发送是一个及其复杂的过程,上图只是一种很简单的情况,中间没有过多的中间节点,其实现实中只会比这个更复杂,但是大致的原理是一致的。

(1)PC-A要发送数据包到PC-C的话,如果PC-A没有PC-C的IP地址,则PC-A首先要发出一个dns的请求,路由器A或者dns解析服务器会给PC-A回应PC-C的ip地址,这样PC-A关于数据包第三层的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。

(2)接下来PC-A要知道如何到达PC-C,然后,PC-A会发送一个arp的地址解析请求,发送这个地址解析请求,不是为了获得目标主机PC-C的MAC地址,而是把请求发送到了路由器A中,然后路由器A中的MAC地址会发送给源主机PC-A,这样PC-A的数据包的第二层信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,

(3)然后数据会到达交换机A,交换机A看到数据包的第二层目的MAC地址,是去往路由器A的,就把数据包发送到路由器A,路由器A收到数据包,首先查看数据包的第三层ip目的地址,如果在自己的路由表中有去往PC-C的路由,说明这是一个可路由的数据包。 (4)然后路由器进行IP重组和分组的过程。首先更换此数据包的第二层包头信息,路由器PC-A到达PC—C要经过一个广域网,在这里会封装很多广域网相关的协议。其作用也是为了找下一阶段的信息。同时对第二层和第三层的数据包重校验。把数据经过Internet发送出去。最后经过很多的节点发送到目标主机PC_C中。

 现在我们想一个问题,PC-A和PC-C的MAC地址如果是相同的话,会不会影响正常的通讯呢!答案是不会影响的,因为这两个主机所处的局域网被广域网分隔开了,通过对发包过程的分析可以看出来,不会有任何的问题。而如果在同一个局域网中的话,那么就会产生通讯的混乱。当数据发送到交换机是,这是的端口信息会有两个相同的MAC地址,而这时数据会发送到两个主机上,这样信息就会混乱。因此这也是保证MAC地址唯一性的一个理由。

我暂且按我的理解说说吧。

先看一下计算机网络OSI模型的七个层次:

┌—————┐

│ 应用层 │←第七层

├—————┤

│ 表示层 │

├—————┤

│ 会话层 │

├—————┤

│ 传输层 │

├—————┤

│ 网络层 │

├—————┤

│数据链路层│

├—————┤

│ 物理层 │←第一层

└—————┘

而我们现在用的网络通信协议TCP/IP协议者只划分了四成:

┌—————┐

│ 应用层 │ ←包括OSI的上三层

├—————┤

│ 传输层 │

├—————┤

│ 网络层 │

├—————┤

│网络接口层 │←包括OSI模型的下两层,也就是各种不同局域网。

└—————┘

两台计算机通信所必须需要的东西:IP地址(网络层)+端口号(传送层)。

两台计算机通信(TCP/IP协议)的最精简模型大致如下:

主机A---->路由器(零个或多个)---->主机B

举个例子:主机A上的应用程序a想要和主机B上面的应用程序b通信,大致如下

程序a将要通信的数据发到传送层,在传送层上加上与该应用程序对应的通信端口号(主机A上不同的应用程序有不同的端口号),如果是用的TCP的话就加上TCP头部,UDP就加上UDP头部。

在传送成加上头部之后继续向往下传到网络层,然后加上IP头部(标识主机地址以及一些其他的数据,这里就不详细说了)。

然后传给下层到数据链路层封装成帧,最后到物理层变成二进制数据经过编码之后向外传输。

在这个过程中可能会经过许多各种各样的局域网,举个例子:

主机A--->(局域网1--->路由器--->局域网2)--->主机B

这个模型比上面一个稍微详细点,其中括号里面的可以没有也可能有一个或多个,这个取决于你和谁通信,也就是主机B的位置。

主机A的数据已经到了具体的物理介质了,然后经过局域网1到了路由器,路由器接受主机A来的数据先经过解码,还原成数据帧,然后变成网络层数据,这个过程也就是主机A的数据经过网络层、数据链路层、物理层在路由器上面的一个反过程。

然后路由器分析主机A来的数据的IP头部(也就是在主机A的网络层加上的数据),并且修改头部中的一些内容之后继续把数据传送出去。

一直到主机B收到数据为止,主机B就按照主机A处理数据的反过程处理数据,直到把数据交付给主机B的应用程序b。完成主机A到主机B的单方向通信。

这里的主机A、B只是为了书写方便而已,可能通信的双方不一定就是个人PC,服务器与主机,主机与主机,服务器与服务器之间的通信大致都是这样的。

再举个例子,我们开网页上百度:

就是我们的主机浏览器的这个应用程序和百度的服务器之间的通信。应用成所用的协议就是>

大致过程就是上面所说,其中的细节很复杂,任何一个细节都可以写成一本书,对于非专业人员也没有必要深究。

大家好!我是大明、所谓的蓝盘,黑盘,其实是西部数据所生产的机械硬盘,性能也是不一样的,黑盘多用于服务器或商用电脑读写速度快一些,蓝盘多用于家用电脑,读写速度也很好,价位低一些,如果是家用,我建议选择蓝盘。
家用电脑选择蓝盘更好一些
如果是家用电脑的话,我建议你还是选择篮盘,因为黑盘的性价比高一些,而且多用于服务器或者商用电脑,不适用于家庭电脑,况且现在固态硬盘已经非常的普及了,在同等性能的情况下,还不如使用固态硬盘呢。
如果大家喜欢使用,读写速度快的硬盘,那么我建议可以选择一块容量较小的“固态硬盘“作为“系统盘“使用,将蓝盘作为存储数据使用,也就是说给电脑安装两块硬盘,固态作为“主盘“安装 *** 作系统,蓝盘做为“副盘“存储数据。
总结
本期问答讲解了,家用硬盘电脑,选择蓝盘还是黑盘,我的观点是,其实蓝盘的读写速度,与黑盘相差不太大,只不过“西部数据“给他们定义的用途下一样,蓝盘用于家用电脑,黑盘用于商用电脑而己!

以上就是今天分享的内容,希望对大家有所帮助,喜欢的话别忘记点赞关注呦,大明会持续创作关于电脑维护及应用的作品,如果大家对此类问题有不同观点,可以在评论区共同讨论好了,就讲到这里,咱们下期再见。

没人答到点,奇客插句话。西数蓝盘家庭够用,虽然说性能、可靠性不如黑盘,但如果要求不高,只是用来作数据仓库,不必应付高强度的工作负荷,用个五年没毛病。

但有一点要注意,建议上固态硬盘装系统,不论用什么机械盘,2-4TB大缓存SMR叠瓦盘,或者8TB以上PMR氦气盘,SSD才能保证系统流畅运行。因为机械硬盘4K读写速度才1MB/s,系统分区小文件众多,性能非常孱弱。实在强迫症不想上SSD,用黑盘系统会稍微快一点。

所谓的黑盘、蓝盘、绿盘、红盘就是指的西部数据硬盘上贴的那张纸,是黑色、蓝色、绿色、或红色。具体有以下不同:

1、性能跟不一样

绿盘:噪音低,作为下载盘,优点是发热量更低、更安静、更环保。节能盘,采用IntelliPower技术,转速会在5400-7200间自动调整。优势是安静、价格低,缺点是性能差,延迟高,寿命短。

蓝盘:优点是性能较强,价格较低,性价比高,转速为7200转,缺点是声音比绿盘略响,性能比黑盘略差。

黑盘:高性能,大缓存,速度快。代号:LS WD Caviar Black。

红盘:性能特性与绿盘比较接近,功耗较低、噪音较小、能够适应长时间的连续工作,拥有特色技术NASware。

紫盘:绿盘AV-GP的马甲,支持串流忽视CRC校验,适合视频监控存储,247设计。

2、适用环境不一样

蓝盘:适合日常 *** 作储存。

绿盘:提供安静、低温但容量大的储存用途。

黑盘:高性能,适合 游戏 、大量视频编辑。

红盘:适合NAS环境运作,7 24小时运行。

紫盘:适用于监控系统,支持高达32路高清摄像机。

3、保修期不一样

黑盘保修期达5年,其他颜色3年。
在装机选择机械硬盘时,我们会发现西部数据(WD)硬盘会有绿盘/蓝盘/黑盘/红盘/紫盘以及企业盘,西部数据公司根据旗下所产机械硬盘的特点而做的分类,并且在硬盘上有颜色的区别出来,很多用户不知道哪一种硬盘更加适合自己,下面chrafz来讲解下西部数据绿盘、蓝盘、黑盘、红盘和紫盘以及企业盘的区别。

西部数据(WD)绿盘、蓝盘、黑盘、红盘和紫盘特点:

绿盘:噪音低,适合家用,作为下载盘,优点是发热量更低、更安静、更环保。节能盘,适合大容量存储;采用IntelliPower技术,转速会在5400-7200间自动调整。优势是安静、价格低;缺点是性能差,延迟高,寿命短。

蓝盘:适合家用,优点是性能较强,价格较低,性价比高,转速为7200转;缺点是声音比绿盘略响,性能比黑盘略差。

黑盘:高性能,大缓存,速度快。代号:LS WD Caviar Black。主要适用于企业,吞吐量大的服务器,高性能计算应用,诸如多媒体视频和相片编辑,高性能 游戏 机。

红盘:适合在NAS环境运作,7天24小时运作的环境。西部数据新推出的针对NAS市场的硬盘,面向的是拥有1 至5 个硬盘位的家庭或小型企业NAS用户。性能特性与绿盘比较接近,功耗较低、噪音较小、能够适应长时间的连续工作,拥有特色技术NASware,这技术让其兼容性更加出色,无论是针对NAS或是RAID都能够拥有突出的兼容性表现。

紫盘:绿盘AV-GP的马甲,支持串流忽视CRC校验,适合视频监控存储,247设计。

此外还有企业盘:最高性能,超大缓存,速度快。企业级硬盘具有724小时不间断作业能力,与桌面级硬盘相比,企业级硬盘最重要的不同之处在于可靠性,长时间运作,以及很高的MTBF(Mean Time Before Failure,平均故障时间)。速度是差不多的。企业级硬盘跟服务器级别硬盘并不太一样,在性能上不一定要拥有比桌面级更加优秀的表现,对于企业用户来说,稳定性更为重要的,在长时间复杂的工作中,假如硬盘忽然发生故障,将会给企业带来不可弥补的损失。

通过上面的西部数据机械硬盘介绍,我们可以看出,绿盘和蓝盘适合家用电脑选用,一般来说绿盘速度不佳,多数装机都选用蓝盘,而黑盘通常是服务器上使用的,而红盘:介于蓝绿间,是纯粹为NAS系统所打造的可以说是NAS专属,而紫盘适合用在监控系统,支持高达32高清摄影机。

家用电脑,蓝盘和黑盘都可以用的,如果说到稳定性,黑盘肯定是远远大于蓝盘。不过黑盘的档次,作为家用,实在是有点大材小用了,蓝盘完全可以满足正常的家用要求。

值得一说的是,如果是作为系统盘,这两个都比不上固态硬盘,黑盘蓝盘都属于机械硬盘,性能再好,作为系统盘还是被固态硬盘秒杀的。

所以,要做比较,也只是作为存储盘来说的。
一、性能区别

先解释一下什么是蓝盘,什么是黑盘,从表面看,就是硬盘上面的标签纸,蓝色的标签纸就叫做蓝盘,黑色标签纸就叫做黑盘啦。

除此之外,还有红盘、绿盘,紫盘,就一起说了吧。
在性能上,这五种盘是有很大的区别的,因为本身开发的时候,就是面对四种情况研发的。

黑盘:性能最高,价格也最高。大缓存、速度极快;

绿盘:3个字:节能盘,价格低。所以发热低、噪音小,缺点是性能差、延迟高、寿命短,转速在5400-7200转之间自动调节变化;
蓝盘:最常见的硬盘,比黑盘性能低一些,声音比绿盘大一点点,转速7200转指的就是它了;

红盘:功耗小、噪音小,可以长时间连续工作,性能与绿盘接近;
紫盘:适合视频监控存储,7x24小时不间断工作狂;
二、适用性区别
之所以开发这么多类型的硬盘,是因为它们各自面临的使用环境是不同的。

黑盘:性能最高,适合服务器、 游戏 、视频后期等大型软件运行环境;
绿盘:适合作用安静且为大容量的存储之用;

蓝盘:平时我们电脑用到的大部分都是蓝盘;
红盘:适合轻度存储使用,7x24小时连续使用;

紫盘:适合高强度监控存储使用;
总结:

一般的硬盘保修期是3年,只有黑盘是5年,比较价格贵了很多嘛。家用电脑,一般来说蓝盘足够满足需要了,当然如果你手头有黑盘,那黑盘更好啦。
性能
就性能方面而言,每个颜色的硬盘他们的设定是不一样的,黑色盘的主要是有大缓存,适合企业级的服务器、监控器材或者办公电脑上面使用,其转速非常稳定不太容易出现问题。设计多媒体视频、图形编辑、更或者是玩玩 游戏 ,对黑盘而言都是不在话下。蓝盘方面比较逊色于黑盘,缺点也比较明显,噪音相对大。
价格
就这方面而言,蓝盘的价格是相对黑盘来说是较为便宜的,毕竟一分价格一分货。在总体上说蓝盘还算是中规中矩,一般在组装家庭用电脑配置上面发挥着主导作用。
升级
这方面来说,蓝盘、黑盘的所谓机械硬盘可能会拖累当下的微软系统,如果想跟着时代步伐,就我个人的推荐还是选择M2的固态硬盘或者SSD的固态盘最为合适,因为固态硬盘在开机、网络加载、读写速度方面会比机械硬盘更胜一筹。
黑盘比蓝盘更加高档,有钱的话自然选择黑盘。
不过如果你说的是机械硬盘的黑盘的话,其实我个人还是不太建议的,因为不管多好的机械硬盘,速度始终是无法和固态硬盘相比的。所以如果有钱的话,最好还是上固态硬盘。
假如要在西部数据的蓝盘固态和黑盘固态里面选的话,仍然还是有钱可以选择黑盘。但是黑盘是nvme接口的,要注意你的主板是不是支持这个接口。我个人买了一个1T的黑盘,用下来只能说体验非常好,系统运行速度多快了也流畅多了。甚至还可以把一些 游戏 放到固态硬盘里面,这样加载速度更快更爽。
1T的硬盘用了一年,期间重装过两次系统,把两个20多G的 游戏 放进去过,现在使用寿命还是100%。
家用电脑机械硬盘,选蓝盘还是黑盘,哪个好用稳定?

一:蓝盘WD

蓝盘可以说是非常经典的通用型硬盘了,定位于普通家庭办公等常规环境使用在。一般都是搭配固态硬盘,这样电脑既能提升性能又增加存储容量,从而最大程度提高数据访问速度。但是也存在着明显优缺点。

优点:价格便宜,性价比高,而且质量稳定。转速为5400~7200转。

缺点:声音较高,在强烈光照射下数据很可能丢失。

二:黑盘

黑盘属于发烧友级别硬盘,专为台式机和需要高性能的用户设计,适用于加载 游戏 或大型文件,高数据传输,同时拥有 5 年的质保。

优点:性能强大,延迟低,大缓存。

缺点:价格较贵,声音略响。

总结:家用普通办公存资料的话蓝盘是最好的选择。存储 游戏 如果有能力的话可以选择黑盘作为储存盘。
就目前机械硬盘来说主要品牌有西数和希捷,其中希捷以动物形态来对硬盘命名,比如酷鱼,酷狼,酷鹰,等……只有西数才已颜色来区分用途和使用范围,至于家用到底使用蓝盘还是黑盘稳那个稳定接下来我们就来聊聊这个问题。
西数对这个机械硬盘颜色总共分为七种,分别是金盘,黑盘,蓝盘,绿盘,红盘,紫盘,这里所指的颜色是指西数在硬盘上面所贴标志的颜色,什么颜色就代表是什么盘,比如贴的是金色标那就是金盘,是黑色标就是黑盘,是蓝色标就是蓝盘,曾经有小伙伴误认为金盘就是硬盘全是金颜色的,蓝盘全部是蓝颜色的,其实不是这样的,甚至还有更为 搞笑 的小伙伴认为金盘就是用金子做的,下面我就来简单介绍一下这些盘的特点。

先说说这个金盘其实也可以叫做土豪盘,他主要面向群体并不是家庭用户,而是企业用户,并且是不差钱的那种,主要用于企业高性能数据存储,价格一般都不便宜,然后黑盘,这个黑盘属于高性能硬盘,他同样也用于企业级高性能的服务器,或者是高性能的 游戏 机,他具有缓存大读取速度快,不过正因为他速度快自然噪音也比其他几个颜色盘要大,价格仅次于金盘,再来说说蓝盘,蓝盘在定位上就是家用级硬他性能比黑盘低一点,价格也比黑盘低,可以说蓝盘是为普通家庭用户专门定制的盘,不管是性能,还是数据存储年限,以及整体运行稳定性都是非常不错的,理论上一张蓝盘的数据可以保存30年以上,并且在噪声也控制的非常好。
接下来就是绿盘,听名字就能知道这系列盘主打低热、安静、环保。非常节能,一般来说转速都不高,并且价格非常低,主要适合适合低功耗大容量存储,不过缺点也很明显那就是性能差,延迟高,寿命短,至于这个红盘其实我们平时很难看到,说白了他也算是绿盘的一种,只不过他主要针对NAS市场的硬盘,面向5 个以内硬盘位的家庭或小型企业NAS用户。同样也具有低功耗,噪声低,非常适合长时间的连续工作,无论是针对NAS或是RAID都能够拥有突出的兼容性表现。至于这个紫盘是西数主要面向视频监控应用的机械硬盘产品,他是由一个或者多个铝制或者玻璃制的碟片组成,碟片外覆盖有铁磁性材料,他能够24 7不间断运行,并且平均故障间隔时间100万小时,非常适合家用、SOHO、中小企业。

所以如果我们是家用追求稳定那么无疑肯定是选择蓝盘要好的多,如果是追求性能那么肯定是选择黑盘,但是我上面也说过黑盘虽说性能要强,但是在噪声,功耗,以及价格方面都要比蓝盘更大更贵,其实就目前来说家用机选择机械硬盘的越来越少,现在装机都是清一色安装大容量固态硬盘,只有极少数需要存储大容量数据的才会选择加装机械硬盘,很多小伙伴都是直接选择一块512G以上的固态硬盘,因为就目前来说这个容量家用基本上就够用了,就速度来说不管是是土豪级金盘还是高性能黑盘,在速度和噪音控制方面都是不如固态硬盘的,除非你要存非常重要的数据,并且数据非常大可以加装机械硬盘外,家用还是直接固态硬盘吧,对此不知道小伙伴有没有什么看法呢?
家用就选蓝盘吧,现在硬盘都挺皮实的,正常使用不太坏,大容量的价格也不太贵。追求系统稳定流畅可以加个固态硬盘跑系统。

现在的家用机械硬盘主要有希捷,西部数据两家!其中的蓝盘属于西部数据的机械硬盘!是指硬盘壳体上贴的蓝色标签纸!
一般家用主要使用的是西部数据的看颜色的机械硬盘,价格适中,性能也比较强!转速为每分钟7200转此外西部数据还有各种颜色的机械硬盘,包括性能最低也更便宜的绿盘,性能更强,转速更快,价格更贵的黑盘!监控使用的紫盘!
就稳定性方面来说,黑盘比蓝色盘要更稳定一些,虽然黑色盘性能更强,但同时转速更高,噪音更大!价格也是比蓝色盘贵了不少!家用不建议!选择性价比更好的蓝色盘就可以了!

本篇文章是深入理解Terraform系列的第一部分。在介绍文章中,我们讨论了为什么每家互联网软件公司都应该使用基础设施即代码(IAC)。那么本篇,我们打算讨论下为什么我们选择Terraform 作为我们的IAC 工具。

如果你在网上搜索“instrastructure-as-code”,很容易看到很多受欢迎的工具:

筛选出它们中你应该使用哪个不是很容易。所有这些上述工具都可以用于基础设施即代码。它们都是开源的,背靠庞大的贡献者社区,可以很好配合各种不同的云服务商。它们都提供商业支持,提供良好的文档——在官方文档和社区资源方面(比如博客文章和StackOverflow问答)。

本篇文章,我们会分成几个特定原因来解释为什么我们会选择Terraform作为IAC工具。与所有技术决策一样,这是一个权衡和优先级的问题,虽然您的特定优先级可能与我们的不同,但我们希望分享我们的思维过程将帮助您做出自己的决定。以下是我们考虑的主要权衡因素:

Chef, Puppet, Ansible, and SaltStack 都是配置管理工具,这意味着它们设计初衷都是在现有的服务器上安装和管理软件。CloudFormation 和 Terraform 是配置(provisioning)工具,这意味这它们的设计初衷是配置服务器本身的(以及基础设施的其他部分,比如负载均衡器,数据库,网络配置等),将配置这些服务器的工作留给其他工具。这两类工具互相不排斥的。因为大多数配置管理工具可以在某种程度上多一些配置工作而大多数配置工具也可以在某种程度上做配置管理的工作。但是聚焦于配置管理或者配置意味着,这些工具对于特定类型的任务会更加合适。

想Chef,Puppt,Ansible 这样的配置管理工具默认针对一种可变的基础设施范例。比如,如果你告诉Chef 安装一个新版本的OpenSSL,它就会在你现有的服务器上运行软件更新并且就地生效。随着时间推移,你会更新的更多,每台服务器都会构建一个唯一的修改 历史 。这通常会导致称为配置漂移或者误差的现象,其中每个服务器与所有其他服务器略有不同,导致难以诊断且几乎不可能再现的细微配置错误。

如果你正在使用像Terraform这样的配置工具来部署由Docker 或者 Packer创建的镜像,那么每次"修改"事实上都是一次新服务器的部署(就像是函数式编程中每次变量的修改事实上会返回新的变量)。比如,当我们部署一个新版本的OpenSSL,你会用装有新版本OpenSSL的Packer或者Docker来创建镜像,然后在整组新服务器中部署那个镜像,同时卸载老的镜像。这种方法减少了配置偏差问题的可能性,使得了解服务器上运行了哪些软件变得更加容易,同时可以让你任何时候都可以轻松部署任何版本的软件。当然,也可以强制配置管理工具来做不可变部署。但是对这些工具来说,这不是惯用的方式。不管怎样,使用配置工具都是一种更加自然的方式。

Chef和Ansible鼓励一种程序风格,您可以编写代码,逐步指定如何实现预期状态。 Terraform,CloudFormation,SaltStack和Puppet都鼓励更具说明性的风格,您可以编写指定所需最终状态的代码,IAC工具本身负责确定如何实现该状态。

例如,假设您要部署10台服务器(AWS术语中的“EC2 Instances”)来运行应用程序的v1版本。以下是使用过程方法执行此 *** 作的Ansible模板的简化示例:

表面上看,这两种方法可能看起来相似,当您最初使用Ansible或Terraform执行它们时,它们将产生类似的结果。有趣的是,当您想要进行更改时会发生什么。

例如,假设流量增加,并且您希望将服务器数量增加到15。使用Ansible,您之前编写的过程代码就没法使用了;如果您刚刚将服务器数量更新为15并重新启动该代码,那么它将部署15台新服务器,总共25台服务器!因此,您必须了解已部署的内容并编写一个全新的过程脚本来添加5台新服务器:

如果你执行了这个模板,Terraform会意识到它已经创建了10个服务器,因此它需要做的只是创建5个新服务器。实际上,在运行此模板之前,您可以使用Terraform的 plan 命令来预览它将进行的更改:

显然,上述例子是简化的。 Ansible允许您在部署新的EC2实例之前使用标签来搜索现有的EC2实例(例如,使用instance_tags和count_tag参数),但是必须根据每个资源的情况为Ansible管理的每个资源手动找出这种逻辑。 过去的 历史 ,可能会令人惊讶地复杂化(例如,不仅通过标签,还可以通过图像版本,可用区域等查找现有实例)。 这突出了程序IAC工具的两个主要问题:

默认情况下,Chef,Puppet和SaltStack都要求您运行主服务器以存储基础设施的状态并分发更新。 每次要更新基础设施中的某些内容时,都使用客户端(例如,命令行工具)向主服务器发出新命令,主服务器将更新推送到所有其他服务器或那些服务器定期从主服务器中提取最新的更新。

主服务器提供了一些优点。 首先,它是一个单一的中心位置,您可以在其中查看和管理基础设施的状态。 许多配置管理工具甚至为主服务器提供Web界面(例如,Chef Console,Puppet Enterprise Console),以便更容易查看正在发生的事情。 其次,一些主服务器可以在后台连续运行,并强制执行您的配置。 这样,如果有人在服务器上进行手动更改,主服务器可以还原该更改以防止配置偏移。

但是,必须运行主服务器有一些严重的缺点:

Chef,Puppet和SaltStack对无主模式有不同程度的支持,您只需在每个服务器上运行代理软件,通常在一定周期内(例如,每5分钟运行一次的cron作业),并使用它从版本控制(而不是从主服务器)下拉最新更新。 这显着减少了变动的次数,但是,如下一节所述,这仍然留下了许多未答复的问题,尤其是关于如何配置服务器以及首先在其上安装代理软件的问题。

Ansible,CloudFormation,Heat和Terraform默认都是无主的。 或者,更准确一些,它们中的一些可能依赖于主服务器,但它已经是您正在使用的基础设施的一部分,而不是您必须管理的额外部分。 例如,Terraform使用云提供商的API与云提供商进行通信,因此在某种意义上,API服务器是主服务器,除了它们不需要任何额外的基础设施或任何额外的认证机制(即,只使用您的API密钥)。 Ansible的工作方式是通过SSH直接连接到每个服务器,因此,您不必再运行任何额外的基础结构或管理额外的身份验证机制(即只使用SSH密钥)。

Chef,Puppet和SaltStack都要求您在要配置的每台服务器上安装代理软件(例如,Chef Client,Puppet Agent,Salt Minion)。 代理通常在每个服务器的后台运行并负责

安装最新的配置管理更新。

这有一些缺点:

再强调一次,Chef,Puppet和SaltStack都对无代理模式(例如,salt-ssh)有不同程度的支持,但是这些通常感觉它们是作为事后的想法加入的,并不总是支持完整的配置管理工具的功能集。这就是为什么Chef,Puppet和SaltStack的默认或惯用配置几乎总是包含一个代理,通常也包含一个master。

所有这些额外的动态部分都会在您的基础架构中引入大量新的故障模式。 每次凌晨3点收到错误报告时,您都必须弄清楚它是否是应用程序代码,IAC代码,配置管理客户端,主服务器或者服务器中的错误。 客户端与主服务器通信,或者其他服务器与主服务器通信的方式,或者

Ansible,CloudFormation,Heat和Terraform不要求您安装任何额外的代理。 或者,更准确一些,它们中的一些需要代理,但这些代理通常已作为您正在使用的基础结构的一部分安装。 例如,AWS,Azure,Google Cloud和所有其他云提供商负责在每台物理服务器上安装,管理和验证代理软件。 作为Terraform的用户,您不必担心任何问题:您只需发出命令然后云服务商会在所有你的服务器上为你执行它们。 使用Ansible,您的服务器需要运行SSH守护程序,不管怎么样,这都会普遍运行在大多数服务器上的。

选择任何技术时要考虑的另一个关键因素是成熟度。 下表显示了每个IAC工具的初始发布日期和当前版本号(截至2019年5月)。

同样,这不是一个同类的比较,因为不同的工具有不同的版本控制方案,但一些趋势是明确的。 到目前为止,Terraform是此比较中最年轻的IAC工具。 它仍然是处于100版本之前,因此无法保证稳定或向后兼容的API,并且错误相对常见(尽管大多数都是次要的)。 这是Terraform最大的弱点:虽然它在短时间内变得非常受欢迎,但使用这种新的尖端工具所付出的代价是它不像其他一些IAC选项那样成熟。

虽然我一直在比较整个博客文章中的IAC工具,但事实是您可能需要使用多种工具来构建您的基础设施。 您看到的每个工具都有优点和缺点,因此您需要为正确的工作选择合适的工具。

以下是我见过的三种常见组合在很多公司都很好用:

配置 + 配置管理

示例:Terraform和Ansible。 您可以使用Terraform部署所有底层基础设施,包括网络拓扑(即VPC,子网,路由表),数据存储(例如,MySQL,Redis),负载均衡器和服务器。 然后,您使用Ansible在这些服务器之上部署您的应用程序。

这是一个简单的方法,因为没有运行额外的基础设施(Terraform和Ansible都是客户端应用程序),并且有很多方法可以使Ansible和Terraform一起工作(例如,Terraform为您的服务器添加特殊标签然后Ansible使用这些标签来查找服务器并对其进行配置。 主要缺点是使用Ansible通常意味着您编写了大量程序式代码,使用可变服务器,因此随着代码库,基础架构和团队的增长,维护可能会变得更加困难。

配置 + 服务器模板

示例:Terraform和Packer。您使用Packer将应用程序打包为虚拟机镜像。然后使用Terraform部署(a)具有这些虚拟机镜像的服务器和(b)基础架构的其余部分,包括网络拓扑(即VPC,子网,路由表),数据存储(例如,MySQL,Redis),和负载均衡器。

这也是一种简单的方法,因为没有运行额外的基础设施(Terraform和Packer都是仅客户端应用程序)。此外,这是一种不可变的基础架构方法,这将使维护更容易。但是,有两个主要缺点。首先,虚拟机可能需要很长时间才能构建和部署,这会降低迭代速度。其次,您可以使用Terraform实施的部署策略是有限的(例如,您无法在Terraform中本地实施蓝绿色部署),因此您要么最终编写大量复杂的部署脚本,要么转向编排工具,如下所述。

配置 + 服务器模板 + 编排

示例:Terraform,Packer,Docker和Kubernetes。 您使用Packer创建安装了Docker和Kubernetes的虚拟机映像。 然后使用Terraform部署(a)服务器集群,每个服务器运行此虚拟机镜像,以及(b)基础架构的其余部分,包括网络拓扑(即VPC,子网,路由表),数据存储( 例如,MySQL,Redis)和负载均衡器。 最后,当服务器集群启动时,它形成一个Kubernetes集群,用于运行和管理Dockerized应用程序。

这种方法的优点是Docker镜像构建相当快,您可以在本地计算机上运行和测试它们,并且您可以利用Kubernetes的所有内置功能,包括各种部署策略,自动修复,自动缩放, 等等。 缺点是增加了复杂性,无论是在运行额外的基础设施方面(Kubernetes集群都很难部署和运营,尽管大多数主要的云提供商现在提供托管的Kubernetes服务,可以减轻部分工作),还是学习、管理和debug额外的抽象层(Kubernetes,Docker,Packer)方面。

同学,学工程学自己做吧,那个还不错的哦。如果非要买的话,湿地那的商人有卖,就旅馆外面附近的几个商人,多看看,绿色品质和白色都有。蓝色的装备绑定可交易的物品全部属于世界掉落,也就是说没有固定的怪和固定的掉率,望见谅。
可以给你推荐两种我还记得名字的q,吉米的玩具q(蓝色)和致命的短q(工程学制造,可在主城找卫兵问专业训练师位置),拍卖行其实很简单的,点拍卖师,在出来的框的侧面找到武器,然后分支选q械(也可以是弓或者弩),然后直接点搜索键,就会出来你能用的了。也可以按照我给你的提供的俩名字来搜索,魔兽这个游戏是离不开拍卖行的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13434417.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-05
下一篇 2023-08-05

发表评论

登录后才能评论

评论列表(0条)

保存