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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 云端基于Docker的微服务与持续交付实践笔记,是基于易立老师在阿里巴巴首届在线技术峰会上《云端基于Docker的微服务与持续交付实践》总结而出的。 本次主要讲了什么?Docker SwarmDocker Swarm mode微服务支持(Docker集群架构体系)Docker的发展趋势和前沿成果在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啊。。。我们是来测试你在线直播抗压性的么?!我们是来学技术膜拜大神的~哼!
还有奇葩的短线!好多次!一断线我就怀疑是我网络问题,去斗鱼看了下。。如此顺畅,看来有大神还是不够的,需要经验的锤炼和打磨!
这里写图片描述
好了,我是总结技术的。

心情终于平静了呢。

目录
相关文章
|
25天前
|
负载均衡 测试技术 持续交付
高效后端开发实践:构建可扩展的微服务架构
在当今快速发展的互联网时代,后端开发扮演着至关重要的角色。本文将重点探讨如何构建可扩展的微服务架构,以及在后端开发中提高效率的一些实践方法。通过合理的架构设计和技术选型,我们可以更好地应对日益复杂的业务需求,实现高效可靠的后端系统。
|
30天前
|
设计模式 API 数据库
构建高效微服务架构:从理论到实践
【2月更文挑战第29天】 在现代软件开发领域,微服务架构已经成为一种流行的设计模式,它通过将大型应用程序拆分成一系列小型、独立的服务来提高系统的可维护性、扩展性和敏捷性。本文将深入探讨微服务的核心概念、设计原则以及如何在实际项目中实现和优化微服务架构。我们将从微服务的定义出发,讨论其与传统单体架构的区别,并分析微服务的优势与挑战。接着,文章将提供一套实践指南,包括服务划分、通信机制、数据一致性问题以及安全性考虑等方面,以指导开发者构建和维护一个高效的微服务系统。
|
1月前
|
SQL 数据库 Docker
OBCP实践 - OceanBase Docker 体验
开发者和技术爱好者可以在无需复杂安装配置的情况下迅速搭建OceanBase数据库环境,从而方便地进行功能测试、性能评估或者开发调试等实践活动。同时,由于Docker的便捷性,此方法也支持跨平台部署,使得OceanBase数据库能够在不同的操作系统(如Linux、Windows、macOS)上轻松体验。
74 2
|
10天前
|
Kubernetes 安全 Java
构建高效微服务架构:从理论到实践
【4月更文挑战第9天】 在当今快速迭代与竞争激烈的软件市场中,微服务架构以其灵活性、可扩展性及容错性,成为众多企业转型的首选。本文将深入探讨如何从零开始构建一个高效的微服务系统,覆盖从概念理解、设计原则、技术选型到部署维护的各个阶段。通过实际案例分析与最佳实践分享,旨在为后端工程师提供一套全面的微服务构建指南,帮助读者在面对复杂系统设计时能够做出明智的决策,并提升系统的可靠性与维护效率。
|
26天前
|
消息中间件 敏捷开发 运维
构建高效可靠的微服务架构:策略与实践
随着现代软件开发的复杂性增加,微服务架构逐渐成为企业解决大型应用系统分解、敏捷开发和持续部署问题的有效手段。本文深入探讨了构建一个高效且可靠的微服务架构的关键策略,包括服务的合理划分、通信机制的选择、数据一致性保障以及容错处理。通过分析这些策略在具体案例中的应用,我们旨在为开发者提供一套可行的微服务设计及实施指南。
130 6
|
1月前
|
安全 数据管理 API
构建高效微服务架构:从理论到实践
【2月更文挑战第27天】 在数字化转型的浪潮中,微服务架构已成为企业追求敏捷、灵活与可扩展性的关键解决方案。本文将深入探讨微服务的设计原则、开发流程以及如何在实际项目中实现一个高性能的微服务系统。我们将通过分析微服务的核心优势,揭示其背后的技术挑战,并提供一系列切实可行的策略来优化微服务的性能和稳定性。文中不仅包含了丰富的理论依据,还结合了实际案例分析,为开发者和企业决策者提供了一套全面的微服务实施指南。
|
2天前
|
消息中间件 运维 监控
现代化软件开发中的微服务架构设计与实践
本文将深入探讨现代化软件开发中微服务架构的设计原则和实践经验。通过分析微服务架构的优势、挑战以及常见的设计模式,结合实际案例,帮助开发者更好地理解如何构建可靠、可扩展、高效的微服务系统。
|
2天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。
|
6天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
11 4
|
16天前
|
消息中间件 监控 API
构建高性能微服务架构:从理论到实践
【4月更文挑战第4天】 在当今互联网应用的快速迭代和高并发需求下,传统的单体应用架构已不足以满足市场的灵活性与扩展性要求。微服务架构以其独立部署、弹性伸缩、技术多样性等优势,成为众多企业转型升级的首选方案。本文将深入探讨如何构建一个高性能的微服务系统,涵盖关键组件的选择、系统设计的考量以及性能优化的策略,旨在为开发者和架构师提供一套实用的指导思路和具体实践步骤。