程序员该如何应对微服务的容器化

栏目: IT技术 · 发布时间: 4年前

内容简介:近几年随着微服务的普及,Docker、Kubernetes等容器化技术的流行,开发及部署方式都发生了巨大的变化,那么问题来了,程序员们该如何调整才能让自己立于技术的潮流当中呢?本文将介绍微服务架构的发展,后续章节将探讨如何从零开始搭建微服务并部署到容器中。

前言

近几年随着微服务的普及,Docker、Kubernetes等容器化技术的流行,开发及部署方式都发生了巨大的变化,那么问题来了,程序员们该如何调整才能让自己立于技术的潮流当中呢?

本文将介绍微服务架构的发展,后续章节将探讨如何从零开始搭建微服务并部署到容器中。

微服务简介

程序员该如何应对微服务的容器化

微服务:一种新的架构设计模型,原本独立的单体系统被拆分成多个服务,每一个服务都运行在各自独立的服务进程中,服务之间基于RESTful API进行通信协作。被拆分的每一个小型服务都围绕着系统中一些耦合度较高的业务功能进行构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试案例以及独立部署机制。因为有了轻量级的通信协作基础,所以这些微服务可以使用不同的语言来编写。

微服务的发展历程

程序员该如何应对微服务的容器化

图一

微服务的发展大体经历了五个过程(图一)。早期的架构有优点,缺点也很明显。

优点:

  • 易于开发
  • 易于部署
  • 易于测试
  • 易于水平伸缩

缺点:

  • 维护成本增加
  • 交付周期长
  • 新人培养周期长
  • 技术选型成本高
  • 故障范围影响大

微服务的诞生

程序员该如何应对微服务的容器化

图二

鉴于以上单体架构的明显缺点,微服务吸收了各种架构的优点(图二),得以迅速普及,各厂都已开始(已经)将固有的系统改造为微服务的架构,大厂也都有自己的一套微服务的架构,本文及后续的章节内容是基于Spring Cloud的官方微服务架构进行的案例探讨。

微服务的划分原则

程序员该如何应对微服务的容器化

图三

单体架构在拆分到微服务的过程中需要遵循的几个原则(图三)。

微服务的组件构成

程序员该如何应对微服务的容器化

图四

微服务一般分为几大组件(图四):

  • 注册组件:服务发现、服务生命周期管理
  • 配置管理组件:不同环境配置文件的统一管理
  • 监控组件:服务的UI化监控
  • 网关组件:服务分发、流量控制、权限管理等

微服务的容器化过程

程序员该如何应对微服务的容器化

图五

微服务搭建完成到部署至容器端的过程(图五)。

总结

本章节主要讨论了微服务的发展历程,以及微服务容器化的初窥,后续章节将探讨微服务的搭建及如何部署到容器中。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

让云落地

让云落地

【美】Michael J. Kavis(迈克尔 J.凯维斯) 著 / 陈志伟、辛敏 / 电子工业出版社 / 2016-3 / 65.00元

云计算落地已成事实。从前几年的概念普及,到如今越来越多的企业将业务迁移至云上,云计算正在改变整个社会的信息资源使用观念和方式。云计算还在不断成长,技术细节也在不断变化之中。对于使用者而言,能够基于自身的业务、技术和组织需求等各方面情况,选择正确的云服务模式,是成功使用云计算最关键的技术决策之一。 《让云落地:云计算服务模式(SaaS、PaaS和IaaS)设计决策》共有 16 章,作者有意避开......一起来看看 《让云落地》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具