谈到云原生, 绕不开容器化

传送门

  • 什么是云原生?

  • 云原生设计理念

  • .NET微服务

Containers

现在谈到云原生, 绕不开“容器”。

在《Cloud Native Patterns》一书中,作者Cornelia Davis指出:“容器是云原生应用的基石”;
云原生基金会将微服务容器化作为云原生旅行的第一步。

很容易就想到将微服务容器化, 过程也很简单。
将代码、依赖项和运行时打包到一个称为容器镜像的二进制文件中。镜像存储在镜像仓库,Docker官方维护了Docker Hub镜像仓库。

需要时,可以将镜像转换为可运行的容器实例,该实例可在装有容器运行时引擎的任何计算机上运行,你可以按需部署任意数量的容器实例。

下图显示了三个微服务在单主机以容器化运行。

每个容器维护自己的依赖关系和运行时,这可能会有所不同,上图我们看到在同一主机上运行的Product微服务的不同版本。每个容器共享基础主机操作系统,内存和处理器的一部分,但彼此隔离。

容器模型遵守“十二要素应用”的Dependencies原则。

要素2指定“每个微服务隔离并打包其自己的依赖项、更改项(不影响整个系统)”

容器同时支持Linux和Windows工作负载。

虽然存在多个容器供应商,但Docker已经成为打包、部署和运行云原生应用程序的事实标准,Docker占据了最大的市场份额,该公司一直在推动软件容器的发展。

Why containers

  • 容器提供了移植性,并保证在跨环境时,能输出一致。通过将所有内容封装进单个程序包,可以将微服务+依赖项与基础设施隔离。

  • 你可以在安装Docker运行时引擎的 任何环境部署同一容器,容器化消除了预先配置环境的时间开销  (for框架、程序库文件、和运行时)。

  • 通过共享底层操作系统和主机资源,容器的占用空间比完整的虚拟机小很多,小体积,高密度,在一台主机上可以运行多个微服务。

容器编排

Docker Api/工具创建镜像和容器,你还需要工具管理容器。

管理容器的软件称为"容器编排器",大规模使用容器时,容器编排器至关重要。

容器编排器做了什么 ?

任务描述
Scheduling自动配置、调度容器实例
Affinity/anti-affinity在附近或相距较远的位置调配容器,以提高可用性和性能
Health monitoring自动探测并修复故障
Failover自动将失败的实例转移到状况良好的机器
Scaling自动增减容器 去匹配预期状态
Networking给容器提供覆盖网络
Service Discovery容器之间互相发现
Rolling Upgrades零停机增量升级,零停机自动回滚

容器编排器遵循“十二要素应用程序”中的disposabilityconcurrency原则。

要素9:强调“服务实例应该是一次性的,这样有利于快速启动(提供可伸缩能力),优雅关闭让系统保持正确状态”,
要素8:强调“服务在大量小的相同进程(副本)上扩展,而不是在可用的功能最强大的计算机上扩展单个大型实例”。

目前市面上存在多个容器编排器,但Kubernetes已成为云原生世界的事实标准,这是一个可移植、可扩展的、开源的、管理容器的平台。

你可以自建k8s集群,自行调配和管理k8s资源,这可能很复杂。
Azure云将K8s作为托管服务(AKS),你只需要利用K8s功能,而不需要维护K8s集群。

Azure Kubernets Services在第2章“Scaling Cloud-Native Applications”中详细介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python与matlab混合编程_python 与 matlab 混编

Matlab的官方文档中介绍了 Matlab 与其余编程语言之间的引擎接口,其中包括对于 Python 开放的引擎 API,可参考官方教程,其中包括引擎安装,基本使用,以及Python与Matlab之间的数据类型转换及交互。 在 Windows 系统中&a…

四川中级职称计算机考试考b级,四川省职称计算机B级考试1卷

一、单选题:(每题一分)1、安装调制调器不需要( )A.选择生产厂商和Modem型号B.Modem连接的端口C.选择所在国家及外拨电话号码D.选择的Modem的尺寸2、在Windows中,窗口还原是指将窗口还原到原来指定的( )A.窗口 B.尺寸C.图标 D.程序3、在Windows中&#xf…

如果有人问你什么是大数据?不妨说说这10个典型的大数据案例

在听Gartner的分析师Doug Laney用55分钟讲述55个大数据应用案例之前,你可能对于大数据是否落地还心存疑虑。Laney的演讲如同莎士比亚的全集一样,不过可能“缺乏娱乐性而更具信息量”(也许对于技术人员来说是这样的)。 这个演讲是对…

收藏的RabbitMQ资料,分享给大家

WhyRabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的…

网络游戏外挂制作

我一直没有搞懂制作加速外挂是怎么一回事,直到前不久又翻出来了2001年下半期的《程序员合订本》中《“变速齿轮”研究手记》重新回味了一遍,才有了一点点开悟,随后用Delphi重写了一遍,下面我就把我的心得说给大家听听,…

各高校寒假时间公布_高校放假哪家长?多所高校寒假时间公布!

11月25日2021年放假安排公布大家发现2020年已经接近尾声对于学生族来说考试近了寒假也快到了快来看看高校放假哪家长? (如有调整变动,以各高校最新通知为准)山东大学1月11日开始放假到2月28日结束寒假一共49天山东师范大学1月31日开始放假到3月6日结束寒…

ASP.NET Core 对Controller进行单元测试

单元测试对我们的代码质量非常重要。很多同学都会对业务逻辑或者工具方法写测试用例,但是往往忽略了对Controller层写单元测试。我所在的公司没见过一个对Controller写过测试的。今天来演示下如果对Controller进行单元测试。以下内容默认您对单元测试有所了解&#…

12对胸椎对应体表标志_铁路信号之信号表示器及标志(三)

信 号 标 志1.信号标志,设在列车运行方向左侧(警冲标除外)。双线区段的轨道电路调谐区标志设在线路外侧。(1)警冲标:设在两会合线路线间距离为4 m的中间。线间距离不足4m时,设在两线路中心线最大…

计算机技术题目,计算机技术题目.doc

计算机技术题目一、单项选择题(共10小题,每小题2分)1.下列选项不是生物识别中的行为特征的是() A.?虹膜 B.?声音 C.?签字 D.?步态2.下列关于云计算技术描述,错误的是() A.?云计算技术是分布式计算技术的一种 B.?搜索引擎是云计算技术的应用之一 C.…

python 画树 递归_python递归函数绘制分形树的方法

分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质…

mui 时间样式错乱_微信编辑器样式排版错位怎么回事?

有小伙伴反映在使用365编辑器时遇到素材样式无法正常使用的情况,出现排版错乱的情况,今天猫头鹰针对这个问题写了一篇避坑指南,或许能帮到小伙伴们~365微信编辑器样式排版错位怎么回事?这种情况的发生其实是排版过程中的错误操作导…

CISCO路由器安全配置

hostname Router1 ;路由器名称 enable secret xxxx ;特权访问口令为 xxxx interface serial 0 ;定义接口 deion To Internet ; 目的描述 ip address 162.70.73.33 255.255.255.248 ;设置IP地址 ip access-list 101 in …

海德汉编程详细手册_UG编程海德汉系统螺旋铣孔最后一刀欠切解决方案

 提示:点击上方"NX网"↑ 免费订阅 关注老叶今天给大家分享一个海德汉螺旋铣孔最后一圈不加工:新建一个模型,只要是深度不能整除螺距,都会存在这样的问题OK 新建一个默认后处理用来测试最后一圈确实存在问题…

软件测试基础知识bbst,摘自James Bach对软件测试新手的建议

Automated? Manual? There is no such thing as manual or automated testing. It’s all just testing. Testing is often supported by tools that attempt to simulate user interaction with the system. This is what people call “test automation” even though it i…

python实例方法、类方法、静态方法的区别_Python 实例方法、类方法、静态方法的区别与作用...

Python 实例方法、类方法、静态方法的区别与作用 一、总结 一句话总结: 实例方法:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法) 类方法&am…

逝者如斯,且听我胡说八道

【导读】嗯、转瞬即逝,还未来得及转身,2020就又这么溜了,溜了,趁其弥留之际,通过小作坊对2020年做个基本总结当我决心要写一篇总结时,我发现我要完了,这可不是一两个小时就能搞定的事情&#xf…

make: *** 没有规则可制作目标“distclean”。 停止。_Makefile伪目标

这一个章节我们主要讲的是 Makefile 中的伪目标。所谓的伪目标可以这样来理解,它并不会创建目标文件,只是想去执行这个目标下面的命令。伪目标的存在可以帮助我们找到命令并执行。使用伪目标有两点原因: 避免我们的 Makefile 中定义的只执行的命令的目标和工作目录下的实际文…

Lighttpd

Lighttpd Lighttpd是一个新兴的、轻量级的 web 服务器,它开始越来越多的应用在一些重要场合,如:YouTobe、Sourceforge、豆瓣…… Lighttpd 以安全、快速和内存消耗低著称,还专门为大型分布式连接环境做了优化,支持 Fas…

汇总:2017 年 IT 界最严重的裁员事件

裁员年年都有,今年特别多从微软、Oracle、IBM,到思科、HPE,再到雅虎、stackoverflow,无论是处于转型变革中的老牌巨头,还是日渐成熟的创新型公司,在动荡的科技行业,裁员风波一浪高过一浪&#x…