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

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

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

前言

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

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

微服务简介

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

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

微服务的发展历程

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

图一

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

优点:

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

缺点:

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

微服务的诞生

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

图二

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

微服务的划分原则

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

图三

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

微服务的组件构成

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

图四

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

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

微服务的容器化过程

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

图五

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

总结

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


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

查看所有标签

猜你喜欢:

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

数据库系统概念

数据库系统概念

(美)Abraham Silberschatz、(美)Henry F.Korth、(美)S.Sudarshan / 杨冬青、李红燕、唐世渭 / 机械工业出版社 / 2012-3 / 99.00元

【编辑推荐】 数据库领域的殿堂级作品 夯实数据库理论基础,增强数据库技术内功的必备之选 对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用! 【内容简介】 本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学......一起来看看 《数据库系统概念》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

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

HTML 编码/解码

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具