【十】分布式微服务架构体系详解——架构设计理念

本文深入探讨了微服务架构的技术选型,包括Docker容器的持续集成部署、日志采集和安全技术。强调了Docker镜像仓库、代码仓库、项目构建和容器编排在微服务中的重要性,特别是Kubernetes作为容器编排工具的广泛应用。同时,文章提及了服务实例安全、网络安全和微服务架构的安全策略,以及架构要素分析,强调了适合的架构设计对于企业的重要性。
摘要由CSDN通过智能技术生成

前言

前面几章的内容从分布式架构的一些常见场景出发,介绍了分布式的各种问题和解决方案以及目前一些比较成熟的技术实现。在实施微服务架构时,我们更多的是使用这些成熟的技术。作为一个架构师或者想在技术架构领域深耕的开发人员,对于分布式系统相关的技术不仅仅要会用。在做技术选型及方案时,更需要对这些技术的实现思路、算法以及优点和限制进行了解。本节内容作为整个系列的收尾,会把微服务架构结合Docker的一些技术选型进行介绍,包括服务的持续集成、容器编排以及日志采集和安全技术做个简单的引申,希望能给各位读者一些参考。微服务架构的概念本身不是什么新颖或万能的技术,还是要在实践中不断深入了解和摸索尝试。
如果读者们读到这一篇,应该还记得本系列文章还有示例的代码工程 microservice_coffeeshop,以及gateway_coffeeshop

微服务架构的技术选型

05章 服务发现和服务通信 中介绍了基于Docker技术的一些服务发现方案。示例的工程是基于 Eureka 来做服务发现的。本篇主要围绕使用Docker容器实现微服务实例的构建、部署的相关技术选型介绍。

服务的持续集成部署

微服务本身和敏捷开发流程可以很好地融合。目前也有很多技术方案可以做微服务架构的 CI/CD (Continuous Integration/Continuous Delivery)。一个灵活高效的 CI/CD 也是符合DevOps 理念的。下面先简单介绍一些基础的技术设施,为需要搭建整个架构体系的DevOps提供一些方案和思路。

Docker镜像仓库

用 Docker 部署微服务,需要将运行着微服务实例的应用代码打包成Docker镜像,就如同部署在Web server的代码打包 war 文件一样。只不过Docker镜像运行在Docker容器中,并且Docker容器是相对隔离和独立的环境。对于企业服务来说,为了能统一管理打包以及分发(pull/push)镜像,一般需要搭建自己的镜像私库。或者使用一些云服务平台提供的CaaS(Containers as a Service)。
自己搭建私库只需依赖基础服务器,或者使用IaaS平台。一般负责镜像托管的一组服务器,需要先分别安装Docker环境,然后直接部署Dockerhub的镜像仓库 Registry2。目前最新的版本是V2。Dockerhub 的镜像资源,一般 pull 比较慢(服务分布在国外),在国内可以使用一些平台提供的镜像加速器。

代码仓库

代码托管也是项目持续集成的基础一环。企业的代码仓库的私库建立可以使用 SVN、Gitlab 等代码版本管理工具。

Gitlab 除了可以代码托管,还有轻量级的CI/CD 工具。通过[Git的Docker镜像](docker-hub gitlab)安装、部署操作也很便捷。具体安装步骤可以参考docker gitlab install。为了能快速构建、打包,也可将同一微服务的 Git 和 Registry 部署在同一台服务器,作为基础的SCM机器组。

如果代码托管基于Gitlab,那么Gitlab 的CI/CD 工具可以有效提升敏捷开发效率。Gitlab CI 工具的核心组件Pipelines包含了编译、测试、部署等步骤,只要在创建好 gitlab-ci.yml 文件,配置好Runner即可。并且Gitlab本身也有可视化的控制台可以管理集成的过程。除了Gitlab CI,Jenkins 也是一个被广泛使用的持续集成方案,Jenkins也有针对Docker的持续集成插件,但是还存在一些不完善。

项目构建

在Springboot项目中,构建工具可以用Maven,或者Gradle。Gradle相比Maven更加灵活。Springboot工程的整体风格也是去配置化的,用基于Groovy的Gradle会更加适合,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值