容器技术在分布式系统应用

  • 容器化应用PaaS云关键技术
    • 应用拆分和服务部署方式
  • 容器技术背景
    • 技术特点
    • 技术体系
      • 容器引擎
      • 镜像仓库
      • 容器管理

容器凭借着良好的外部隔离性,非常适合作为分布式系统的基本"对象"。容器屏蔽了底层的代码细节,抽象出了不同类型的应用的通用模式。不止容器的封装特性所带来的天然对象化,在更高层对容器的编排技术也能体现这种思想。从火热的容器编排(k8s)中的各类API对象我们处处都能看到"对象"思想的落地。

容器化应用PaaS云关键技术

主要通过引进Docker、Kubernetes等技术和搭建微服务架构模式来减少对现有应用的影响,即将应用程序分割成更小的相互关联的服务,并采用容器化技术进行微服务的封装、部署、管控。这些服务围绕业务能力构建并且可独立部署,方便地为不同类型的微服务提供差异化的管理策略。以容器技术为核心的支撑技术框架,既满足当前业务支撑系统发展的实际需求,又具有支撑未来业务高速发展的技术先进性。

应用拆分和服务部署方式

PaaS云平台引入微服务架构,并采用容器化技术进行微服务设计、编排、授权和配置,解除应用间的紧耦合和依赖。针对IT支撑系统多种多样的应用及业务,根据使用频次、服务调用开销不同,采用不同策略进行划分和分布式部署。几种应用拆分方式介绍如下:

  1. 针对HTTP/soap应用,采用开源缓存集群部署,将应用和MySQL数据库放在一个镜像(image)中,将会话(session)数据放在第三方缓存,实现快速的水平扩张,可满足类似电渠查询类业务的高峰值交易量需求。
  2. 针对纯计算类应用,如不涉及数据库的DCC应用模块,通过容器化提供大量计算能力,并通过对主控端(master)的多节点部署保障其高可用性。
  3. 针对MySQL类集群进行容器化改造,通过主从复制及共享存储备份解决数据服务的高可靠和安全性,并且可达到裸机的性能和更好的高可用性。拆分后的微服务粒度小,轻便灵活,可实现复杂多种应用场景的敏捷交付。通过容器技术进行服务设计、编排、授权、配置,可解除应用间的紧耦合和依赖,为业务系统升级和扩展提供了良好的技术基础,极大地提高运维效率和系统性能。

容器技术背景

技术特点

云计算本质是资源的按需分配和动态调度,从而提高资源利用率,降低使用成本。容器技术的出现进一步满足了云计算的本质要求,其技术特点决定了容器有可能成为下一代云计算基础设施的基石,容器的技术特点如下所示。

  1. 轻量级容器运行占用资源少,单机可以同时运行上百个容器,相比较传统虚拟化对物理机资源的消耗,容器自身的资源消耗可以忽略不计,其应用装填密度10倍于虚拟机。
  2. 快速启停容器启动速度快,启动时间在零点几秒到数秒之间,这一特性保证了动态调度的实时性,在保证应用正常运行的前提下,可以更加高效地调度和调整资源。
  3. 高性能容器没有传统guestOS层次,直接通过内核访问物理机资源,各方面性能接近裸机,从而可以进一步提高系统资源的利用率。
  4. 标准化采用标准化的容器控制接口和镜像打包格式,各类管理平台可以方便地调用统一接口,实现对容器资源的纳管。
  5. 镜像管理容器采用分层文件系统保存镜像,通过镜像仓库提供镜像文件的保存和分发,实现了容器镜像的一键式部署和快速复制,保证了开发测试生产环境的一致性和应用快速复制的高效性。
  6. 集群化容器往往使用集群方式部署和调度,通过集群系统自带的负载分发和服务发现等机制实现了大规模资源的按需分配、动态调度,保证了应用的快速部署和弹性扩展。另外,容器技术的代表——Docker公司从开始就将Docker完全开源,推动了整个容器技术生态的开源化发展。目前产业界各类主流容器解决方案基本采用全开源软件构建,大大降低了后进者的学习门槛和开发成本,从而保证容器技术生态圈迅速发展壮大。

技术体系

容器技术核心体系主要包括了三大部件,分别是容器引擎、镜像仓库和容器管理,在其周边还有一些网络、存储等方面的辅助部件,构成了完整的容器技术栈,如图所示

容器引擎

容器引擎是整个容器技术栈的核心,负责容器的创建、运行和管理,为容器挂载存储和网络资源,并对外提供轻量级的容器管理接口。容器引擎在操作系统上引入一个抽象层,封装了与底层系统内核交互的内容,屏蔽不同Linux发行版的差异性,使得容器具备跨OS移植的能力。目前主流的开源容器引擎包括Docker公司的Docker、Ubuntu的LXC/LXD和CoreOS团队的Rocket。

镜像仓库

镜像仓库打包了应用软件、运行环境和依赖库,采用分层结构构建,镜像可以像积木一样层层堆叠。容器镜像存储在镜像仓库中,镜像仓库管理容器镜像的迭代版本、依赖关系和其他相关的元数据,对外提供镜像管理接口,以支持镜像的上传、下载和检验。目前主流的开源镜像仓库包括Docker公司的Registry和VMware公司的Harbor。

容器管理

由一系列分布在多个主机的控制节点和计算节点组成。为了支撑分布式系统的复杂工作负载,让众多跨主机的容器协同工作,需要有相应的框架和解决方案来支撑容器集群的服务编排、资源调度和服务发现,保证整个集群能够可靠、高效、合理地运转。目前主流的开源容器集群框架包括Docker公司的Swarm、Google公司的Kubernete和Mesosphere公司的Mesos。

容器技术在分布式系统应用相关推荐

  1. Kubernetes——基于容器技术的分布式架构领先方案,它的目标是管理跨多个主机的容器,提供基本的部署,维护以及运用伸缩...

    1.Kubernetes介绍 1.1 简介 Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案. 其次,它是一个开放的开发平台. 最后,它是一个完备的分布式系统支撑平台 ...

  2. 全球容器技术大会议题一览

    想要了解更为详细的容器技术,欢迎加入技术交流群:547147889 京东618大促,15万个Docker实例背后的技术挑战 在2016年的京东618大促中,基于Docker和OpenStack的弹性云 ...

  3. 浅淡Kubernetes 与容器技术体系的最佳方法

    我们已经进入到容器化时代,Kubernetes成为了市场上容器编排的事实标准,而且k8S 同样具备了微服务所需要的服务注册与发现.负载均衡.配置中心.Spring cloud 的核心是Netflix微 ...

  4. 004:神秘的数组初始化_使容器神秘化101:面向初学者的深入研究容器技术

    004:神秘的数组初始化 by Will Wang 王Will 介绍 (Introduction) Regardless of whether you are a student in school, ...

  5. 揭开容器的神秘面纱:帮助初学者深入了解容器技术

    戳蓝字"CSDN云计算"关注我们哦! 本文转载自:Docker  简介 无论你是学生,还是公司的开发人员,或是软件爱好者,相信你都听说过容器. 你可能还听说容器是轻量级虚拟机,但这 ...

  6. Docker容器技术-基础与架构

    一.什么是容器 容器是对应用程序及其依赖关系的封装. 1.容器的优点 容器与主机的操作系统共享资源,提高了效率,性能损耗低 容器具有可移植性 容器是轻量的,可同时运行数十个容器,模拟分布式系统 不必花 ...

  7. 学习Kubernetes 和容器技术体系的最佳方法

    你好,我是 Kubernetes 社区资深成员与项目维护者张磊,也是极客时间<深入剖析 Kubernetes >的专栏作者.今天我来与你谈一谈,学习 Kubernetes 和容器技术体系的 ...

  8. 容器技术在企业落地的最佳实践

    作者 | 易立  阿里云资深技术专家 导读:近年来,容器技术及相关应用得到了国内外越来越多的关注度.在国外,容器技术已经形成了较成熟的生态圈:而在国内,金融企业.互联网企业.IT 企业积极投入容器技术 ...

  9. 探索入门云计算风向标Amazon的ECS容器技术

    Amazon ECS 概述 对于经常接触云计算服务技术的同学们估计一听到ECS,耳朵都能磨出茧子,印象中ECS不就是弹性计算服务么,再人话点就是你按量充值的一台虚拟主机,然后通过SSH远程维护这台虚拟 ...

最新文章

  1. 简明python教程百度云-网易云课堂 - 我的职业课堂
  2. 关于PIC和FPGA
  3. 只须9招牵着职场幸福走
  4. 游标式屏幕菜单c语言,【C语言】控制台窗口图形界面编程(六):光标设置
  5. Python3 Selenium自动化web测试 == 第三节 常用WebDriver API使用示例上(24个API)
  6. 高效应用程序的7个JVM参数
  7. 【JZOJ3824】【NOIP2014模拟9.9】渴
  8. android触摸进度条,Android仿IOS ViewPager滑动进度条
  9. linux help
  10. 索尼电视测试软件,索尼智能电视检测漏光、坏点等现象的简单小教程
  11. 利用NAS打造协同办公系统
  12. 超赞Win10日历悬停效果,爱了爱了(使用HTML、CSS和vanilla JS)
  13. android图标生成网址
  14. Linux内核与编程
  15. 大脑和小脑——规划和执行
  16. 2021年甘肃省高考成绩一分一段表查询,2021年甘肃高考成绩排名查询系统,甘肃高考位次排名查询...
  17. java 最大矩形_最大矩形面积
  18. mysql数据库的布尔型
  19. 毕业答辩PPT模板-精选88套
  20. Office365桌面版安装教程

热门文章

  1. android rss阅读器实现
  2. 转镜式和MEMS“两驾马车”双驱动,谁才是激光雷达前装量产的最佳方案?
  3. 软件工程是不是教会不怎么写程序的人开发软件?你的观点。
  4. linux 搭建emby+clouddrive+115云盘 家庭影院解决方案 流媒体
  5. 在fomc会议中建模主题趋势
  6. 一些好用的Azure存储管理工具
  7. 利用VBA实现购物清单
  8. 计算机科学出国,2020考研计算机:计算机科学与技术之出国留学
  9. Android传感器计步器
  10. 步进电机与直流减速编码电机的优缺点分析 第六届工程训练综合能力竞赛之智能物料搬运机器人的反思-----麦克纳姆轮小车的底盘电机选择--步进电机