云端基于Docker的微服务与持续交付实践

云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上《云端基于Docker的微服务与持续交付实践》总结而出的。
本次主要讲了什么?

  • Docker Swarm
  • Docker Swarm mode
  • 微服务支持(Docker集群架构体系)
  • Docker的发展趋势和前沿成果

在Docker技术方面还是很佩服大牛的,所以赶紧写下笔记,追随大神的脚步。
阿里云资深专家易立,技术就不说了,他比其他直播间硬生生多讲了半个多点,于情于理还是万分感谢本次分享的(可惜devOps没时间讲了)。

总之,字里行间都是最前沿的研究成果,具体内容总结如下(原谅我没有写下阿里云Docker使用过程,大家可以购买支持嘛)。
(声明:阿里云承诺分享本次视频和ppt,无奈没找到,反正自己也要写学习笔记,在观看的同时顺便截屏,以下图片和大部分知识内容都来自Docker社区和阿里云资深专家易立,我只是总结梳理下Docker的知识体系~ ~)

Docker Compose 容器编排

Docker Compose allows you to define your multi-container application with all of its dependencies in a single file, then spin your application up in a single command.

Docker Compose其实是一个管多的工具,允许定义多个容器应用和依赖文件放置一个文件中,然后一条命令来启动它。

  • 优点:
    • 简单好用,便于开发
    • 镜像开发
    • 本地环境沙箱:开发,UT
    • 编排容器,存储和网络
  • 不足:
    • 面向开发和部署,不支持自动化运维
  • 功能
    • 一键部署:docker-compose up
    • 手动收缩:docker-compose scale wordpress=3

Docker Swarm 容器集群管理

Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual Docker host. Because Docker Swarm serves the standard Docker API, any tool that already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts.

Swarm’s swappable design provides a smooth out-of-box experience for most use cases, and allows large-scale production deployments to swap for more powerful backends, like Mesos.

Multiple Docker Engines==Swarm

  • 优点
    • 兼容标准的Docker API
    • 灵活,可插拔的容器,调度
  • 不足
    • 面向容器,缺少微服务支持

这里写图片描述

Containers as a Services (Caas 容器服务)

遵循Build—Ship—Run

  • Build:Development Environments
  • Ship:Secure Content&collaboration
  • Run:Deploy,Manager,scale

传统云金字塔:

(金字塔底) infrastructure As A Service—Platform As A Service(抽象级别过高)—Software As A Service(抽象级别过低) (金字塔顶)
这里写图片描述

容器服务定位

其实在金字塔的中间层做了分级,将Platform和Containers作为一个服务。实现了简洁性和灵活性间的完美平衡。
这里写图片描述

微服务架构

这里写图片描述

Build Once and Deploy Everwhere 利用容器实现持续集成和交付

这里写图片描述

从易立老师的这张图,可以看出Docker从开发,测试到最终生产环境,保证了应用的一致性。并且支持版本管理,快速上线和回滚。

完整的容器持续化交付流程

这里写图片描述
其中Jenkins是一把持续交付的利剑,附上文档链接https://hub.docker.com/r/jenkinsci/jenkins/

Docker 1.12 内置编排能力

The Best Way to Orchestrate Docker is Docker
docker峰会原话,其实剑指其他提供编排服务的工具。
这里写图片描述

Docker Swarm mode

Docker Swarm mode区别与Docker Swarm

Docker Engine 1.12 includes swarm mode for natively managing a cluster of Docker Engines called a Swarm. Use the Docker CLI to create a swarm, deploy application services to a swarm, and manage swarm behavior.
Docker Swarm是最新提出的,所以还不是很完善,但是如上他的介绍,可以定性的理解为Mesos之类的集群管理器。

这里写图片描述

服务servers

服务Servers是可以自动修复的,当集群中某个Engine失败时,可以自动修复。

复用已有的Docker Compose

这里写图片描述

吐槽

特意早早的坐在计算机前面等《首届阿里巴巴在线技术分享》盛会,并且早就关注了阿里云资深专家的《云端基于Docker的微服务与持续交付实践》。终于2016年7月19号8点开始了。我是7点30分坐等的,于是,在6000-10000人浏览(是实时浏览还是访问次数,怀疑是访问次数)时,发生了悲剧
视频很卡,而且不能选择画质,啊喂!
这里写图片描述
弹幕出BUG,啊喂!
这里写图片描述
索性直播间就关闭了弹幕功能(是关闭还是崩溃了?),啊喂!
这里写图片描述
忍不住吐槽一下,7点30分直播间试图播放阿里宣传片,结果卡到一半关闭,两三次播放,同样结局。到8点整,抢红包功能未准时,直到8点20分(我都忘记其抢红包的事了,强制刷新我的屏幕,点进去,已抢完= =)
八点多点弹幕系统无法使用。。。一直卡啊,还有BUG啊。。。我们是来测试你在线直播抗压性的么?!我们是来学技术膜拜大神的~哼!
还有奇葩的短线!好多次!一断线我就怀疑是我网络问题,去斗鱼看了下。。如此顺畅,看来有大神还是不够的,需要经验的锤炼和打磨!
这里写图片描述
好了,我是总结技术的。

心情终于平静了呢。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/70610

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。