微服务与Docker介绍

什么是微服务

微服务应用的一个最大的优势是,它们每每比传统的应用程序更有效地利用计算资源。这是由于它们经过扩展组件来处理功能瓶颈问题。这样一来,开发人员只须要为额外的组件部署计算资源,而不须要部署一个完整的应用程序的全新迭代。最终的结果是有更多的资源能够提供给其它任务。

• 一种软件架构模式
• 复杂应用解耦为小而众的服务
• 各服务精而专
• 服务间通讯经过API完成html

image

微服务应用程序的另外一个好处是,它们更快且更容易更新。当开发者对一个传统的单体应用程序进行变动时,他们必须作详细的QA测试,以确保变动不会影响其余特性或功能。但有了微服务,开发者能够更新应用程序的单个组件,而不会影响其余的部分。测试微服务应用程序仍然是必需的,但它更容易识别和隔离问题,从而加快开发速度并支持DevOps和持续应用程序开发。docker

第三个好处是,微服务架构有助于新兴的云服务,如事件驱动计算。相似AWS Lambda这样的功能让开发人员可以编写代码处于休眠状态,直到应用程序事件触发。事件处理时才须要使用计算资源,而企业只须要为每次事件,而不是固定数目的计算实例支付。json

扩展立方模型(Scale  Cube)

cube

Y轴 功能解耦 经过分解 不一样模块扩展
X轴 水平副本 经过副本扩展
Z轴 数据分区 经过分解 类似内容扩展服务器

Docker是什么

Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的 Linux 机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口(相似 iPhone 的 app)。几乎没有性能开销,能够很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。微信

image

Docker包含两方面技术

-镜像技术 
打破“代码即应用”的观念
从系统环境开始,自底至上打包应用 网络

image

image

微服务和Docker

Dev
开发简单有效的模块       
配置是一个运行时的限制    
再也不是异常复杂的应用   
new    WebServer().start(8080);
   
Ops
管理硬件设施
监控&反馈   
不是应用的执行细节     架构


结合扩展立方(Scale   Cube)app

image

Docker化实践

本质:进程隔离,资源管理框架

• App-Centric的体现
• Single-Process的真实含义 运维

image

Docker化实践——进程隔离

image

Dockerfile、Docker镜像与Docker容器

image

容器内技术栈:
1.单进程理念
2.不存在传统的init进程(全局PID=1)
——dockerinit与init进程的区别
3.缺乏基本的服务进程
——cron
——rsyslogd等
4.与内核进程通讯能力薄弱(ipc命名空间隔离)
 
致使遗留系统Docker化存在压力。 重构?非重构下的最佳实践?

Docker化实践——日志管理


原理:stdout&stderr

传统模式:
      -stdout&stderr   
      -磁盘日志文件
      -日志服务器
日志持久化磁盘的弊端
      -移植性
      -部署复杂度
日志Docker层面管理
      -json-file    
      -syslog(并不是应用调用syslog)
      -fluetd

image

以syslog为例
image

Docker化实践——日志管理

image

Docker化实践——配置管理

传统方式:配置文件
• Docker容器的无状态
• 配置文件的状态性
• Docker容器依赖配置文件
• 额外的配置管理需求
• 非自动化
• 非标准化

• 沿用传统模式——配置文件
——使用挂载volume的方式
——配置文件与宿主机耦合

• 采用环境变量方式
——打包配置进入Docker镜像
——打包配置进入Docker容器
——完美支持编排工具compose
 
• 环境变量与配置文件共存
——修改Docker镜像执行入口
——使用环境变量替换配置文件


今天先到这儿,但愿对您有参考做用, 您可能感兴趣的文章:
构建高效的研发与自动化运维
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变

若有想了解更多软件设计与架构,系统 IT,企业信息化 资讯,请关注个人微信订阅号:

MegadotnetMicroMsg_thumb1_thumb1_thu[2]


做者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。
该文章也同时发布在个人独立博客中-Petter Liu Blog

相关文章
相关标签/搜索