加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

有关容器的六大误区和八大正确场景

发布时间:2018-08-14 06:58:15 所属栏目:云计算 来源:云技术实践
导读:做容器的研究和容器化几年了,从最初对付容器的起源熟悉,到积攒了大量的容器迁徙履历,并和客户表明白容器技能之后,发明原本对付容器的领略有大量的误解,并且容器并非假造机的更换,而是有异常详细的应用场景的。 第一部门:容器的领略误区 误区一:容

spark的这种做法头脑相同无处事架构,你会发明我们原本学操纵体系的时辰,说历程粒度太大,每次都建设和烧毁历程会速率太慢,为了高并发,其后有了线程,线程的建设和烧毁轻量级的多,虽然照旧认为慢,于是有了线程池,事先建设在了哪里,用的时辰不消现建设,不消的时辰交归去就行,其后照旧认为慢,由于线程的建设也必要在内核中完成,以是其后有了协程,所有在用户态举办线程切换,譬喻AKKA,Go都行使了协程,你会发明趋势是为了高并发,粒度是越来越细的,此刻许多环境又必要历程级此外,有种风水轮番转的感受。

误区三:容器有镜像,可以保持版本号,可以进级和回滚

容器有两个特征,一个是封装,一个是尺度。有了容器镜像,就可以将应用的各类设置,文件路径,权限封装起来,然后像孙悟空说“定”,就定在了封装好的那一刻。镜像是尺度的,无论在哪个容器运行情形,将同样的镜像运行起来,都能还原其时的那一刻。

容器的镜像尚有版本号,我们可以按照容器的版本号举办进级,一旦进级有错,可以按照版本号举办回滚,回滚完毕则可以或许担保容器内部照旧原本的状态。

 

可是OpenStack假造机也是有镜像的,假造机镜像也是可以打snapshot的,打snapshot的时辰,也会生涯其时的那一刻全部的状态,并且snapshot也可以有版本号,也可以进级和回滚。

微信图片_20180807173202

好像容器有的这些特征OpenStack假造机都有,二者有什么差异呢?

假造机镜像大,而容器镜像小。假造机镜像动不动就几十个G乃至上百G,而容器镜像多几百M。

假造机镜像不得当跨情形迁徙。譬喻开拓情形在当地,测试情形在一个OpenStack上,开拓情形在另一个OpenStack上,假造机的镜像的迁徙很是坚苦,必要拷贝很是大的文件。而容器就好的多,由于镜像小,可以很快的从差异的情形之间迁徙。

假造机镜像不得当跨云迁徙。当前没有一个公有云平台支持假造机镜像的下载和上传(安详的缘故起因,盗版的缘故起因),因而一个镜像在差异的云之间,可能统一个云差异的region直接,无法举办迁徙,只能从头做一个镜像,这样情形的同等性就得不到保障。而容器的镜像中心是独立于云之外的,只要可以或许连上镜像中心,到哪个云上都可以下载,而且由于镜像小,下载速率快,而且镜像是分层的,每次只必要下载差此外部门。

OpenStack对付镜像方面的优化,根基上照旧在一个云内里起浸染,一旦跨多个情形,镜像利便的多。

误区四:容器可以行使容器平台打点自动重启实现自修复

容器的自修复成果是常常被吹捧的。由于容器是衣服,人躺下了,衣服也躺下了,容器平台可以或许顿时发明人躺下了,于是可以敏捷将人从头叫醒事变。而假造机是屋子,人躺下了,屋子还站着,因而假造机打点平台不知道内里的人能不能事变,以是容器挂了会被自动重启,而假造机内里的应用挂了,只要假造机不挂,很也许没人知道。

这些说法都没错,可是人们逐步发明白其它的场景,就是容器内里的应用没有挂,以是容器看起来还启动着,可是应用以及不事变没有回响了。当启动容器的时辰,固然容器的状态起来了,可是内里的应用还必要一段时刻才气提供处事。以是针对这种场景,容器平台会提供对付容器内里应用的health check,不仅看容器在不在,还要看内里的应用能不能用,假如不能,可自动重启。

一旦引入了health check,和假造机的不同也不大了,由于有了health check,假造机也能看内里的应用是否事变了,不事变也可以重启应用。

还要就是容器的启动速率快,秒级启动,假如可以或许自动重启修复,那就是秒级修复,以是应用越发高可用。

这个概念虽然不正确,应用的高可用性和重启的速率没有直接相关。高可用性必然要通过多个副原来实现,在任何一个挂掉之后,不能通过这一个应用快速重启来办理,而是应该靠挂掉的时代,其他的副本顿时把使命接过来举办办理。假造机和容器都可以有多副本,在有多个副本的环境下,重启是一秒照旧20秒,就没那么重要了,重要的是挂掉的这段时刻内,措施做了什么,假如措施做的是无关紧急的操纵,那么挂了20秒,也没啥相关,假如措施正在举办一个买卖营业和付出,那挂掉一秒也不可,也必需可以或许修复返来。以是应用的高可用性要靠应用层的重试,幂等去办理,而不该该靠基本办法层重启的快不快来办理。

对付无状态处事,在做好重试的机制的环境下,通过自动重启修复是没有题目的,由于无状态的处事不会生涯很是重要的操纵。

微信图片_20180807173206

对付有状态处事,容器的重启不单不是保举的,并且也许是劫难的开始。一个处事有状态,譬喻数据库,在高并发场景下,一旦挂了,哪怕只有一秒,我们必必要弄清晰这一秒都产生了什么,哪些数据生涯了,哪些数据丢了,而不能盲目标重启,不然会很也许造成数据的纷歧致性,后期修都没法修。譬喻高频买卖营业下的数据库挂了,按说DBA应该严酷考核丢了哪些数据,而不是在DBA不知情的环境下,盲目标重启了,DBA还认为没什么工作产生,最终好久才气发明题目。

以是容器较量得当陈设无状态处事的,任意重启都可以。

微信图片_20180807173210

而容器陈设有状态容器不是不能,而是要很是警惕,乃至都是不保举的。固然许多的容器平台都支持有状态容器,然而平台每每办理不了数据题目,除非你对容器内里的应用很是很是很是认识,当容器挂了,你可以或许精确的知道丢了哪些,哪些要紧,哪些没相关,并且要写代码处理赏罚这些环境,然后才气支持重启。网易这面的数据库主备同步的环境下,是通过修改mysql源代码,担保主备之间数据完全同步,才敢在主挂了的环境下,备自动切换主。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读