当前位置: 首页 > 科技观察

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

时间:2023-03-20 02:21:35 科技观察

前言随着近几年微服务的流行,Docker、Kubernetes等容器化技术的普及,开发部署方式发生了翻天覆地的变化,那么问题来了,该如何应对程序员调整以保持自己在技术趋势中?本文将介绍微服务架构的发展,后续章节将讨论如何从头构建微服务并将其部署到容器中。微服务简介微服务:一种全新的架构设计模型,将原来独立的单一系统拆分为多个服务,每个服务运行在自己独立的服务进程中,服务之间基于RESTfulAPI进行通信与协作。拆分出来的每一个小服务都是围绕着系统中一些高度耦合的业务功能构建的,每一个服务都维护着自己的数据存储、业务开发、自动化测试用例和独立的部署机制。由于轻量级的通信和协作基础,这些微服务可以用不同的语言编写。微服务的发展历程图1微服务的发展大体经历了五个过程(图1)。早期的架构有优点,但缺点也很明显。优点:易于开发、易于部署、易于测试、易于水平扩展。缺点:维护成本增加,交付周期长,新人培训周期长,技术选型成本长,故障范围大,影响大微服务的诞生。各种架构(图2)的优势迅速得到普及。所有工厂都开始(已经)将其固有系统转变为微服务架构。大工厂也有自己的一套微服务架构。本文及后续章节均基于SpringCloud官方微服务架构进行案例研究。微服务划分原则图三在划分微服务的过程中需要遵循的原则(图3)。微服务的组件构成图4微服务一般分为几大组件(图4):注册组件:服务发现、服务生命周期管理配置管理组件:统一管理不同环境的配置文件监控组件:基于UI的服务监控网关组件:微服务的服务分发、流控、权限管理等容器化流程图5从微服务构建完成到部署到容器端的流程(图5)。小结本章主要讨论微服务的发展历程和微服务容器化初探。后续章节将讨论微服务的构建以及如何将其部署在容器中。