「第二部:容器和微服务架构」(1) 基于容器应用架构设计原则

简介: 「第二部:容器和微服务架构」(1) 基于容器应用架构设计原则

微服务提供了巨大的好处,但也带来了巨大的新挑战。微服务架构模式是创建基于微服务的应用程序时的基本支柱。

在本指南的前面,您学习了容器和Docker的基本概念。这是开始使用容器所需的最少信息。尽管,即使容器是使能器并且非常适合微服务,它们也不是微服务体系结构的强制要求,而且此体系结构部分中的许多体系结构概念也可以在没有容器的情况下应用。然而,由于已经引入了容器的重要性,本指南将重点放在两者的交叉点上。

企业应用程序可能很复杂,通常由多个服务组成,而不是由单个基于服务的应用程序组成。对于这些情况,您需要了解其他体系结构方法,例如微服务和某些域驱动设计模式以及容器编排概念。注意,本章不仅描述容器上的微服务,还描述任何容器化应用程序。


容器架构

容器设计原则

在容器模型中,容器映像实例表示单个进程。通过将容器镜像定义为进程边界,可以创建用于缩放进程或批处理进程的基元。

设计容器映像时,您将在Dockerfile中看到入口点定义。这定义了其生存期控制容器生存期的进程。当进程完成时,容器生命周期结束。容器可以表示长时间运行的进程,如web服务器,但也可以表示短时间运行的进程,如批处理作业。

如果进程失败,则容器结束,编排器接管。如果编排器配置为使五个实例保持运行,而一个实例失败,则编排器将创建另一个容器实例来替换失败的进程。在批处理作业中,使用参数启动进程。当过程完成时,工作就完成了。本指南

稍后将深入讲解编排器。

您可能会发现需要在单个容器中运行多个进程的场景。对于这种情况,因为每个容器只能有一个入口点,所以可以在容器中运行脚本,根据需要启动任意多个程序。例如,可以使用监督人工具或类似的工具在单个容器中启动多个进程。然而,即使您可以找到每个容器包含多个进程的体系结构,这种方法也不是很常见。

最佳实践

建议优先使用容器部署应用程序

以下情况以允许使用虚拟机进行部署:

  • 应用程序需要更多的控制(例如需要调整操作系统内核参数)
  • 应用程序需要大量内存
  • 应用程序是CPU密集型的
  • 应用程序是IO密集型的
  • 无法使用容器.
相关文章
|
10月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1310 108
|
11月前
|
人工智能 自然语言处理 开发工具
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
本文介绍统一多模态 Transformer(UMT)在跨模态表示学习中的应用与优化,涵盖模型架构、实现细节与实验效果,探讨其在图文检索、图像生成等任务中的卓越性能。
统一多模态 Transformer 架构在跨模态表示学习中的应用与优化
|
10月前
|
运维 监控 数据可视化
小白也能部署应用,3个免费的容器化部署工具测评
本文对比了三款容器化部署工具:Docker Compose、Portainer 和 Websoft9。Docker Compose 适合开发者编排多容器应用,Portainer 提供图形化管理界面,而 Websoft9 则面向中小企业和非技术人员,提供一键部署与全流程运维支持,真正实现“开箱即用”。三款工具各有定位,Websoft9 更贴近大众用户需求。
小白也能部署应用,3个免费的容器化部署工具测评
|
10月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1438 3
|
8月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
805 51
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
12月前
|
存储 编解码 Serverless
Serverless架构下的OSS应用:函数计算FC自动处理图片/视频转码(演示水印添加+缩略图生成流水线)
本文介绍基于阿里云函数计算(FC)和对象存储(OSS)构建Serverless媒体处理流水线,解决传统方案资源利用率低、运维复杂、成本高等问题。通过事件驱动机制实现图片水印添加、多规格缩略图生成及视频转码优化,支持毫秒级弹性伸缩与精确计费,提升处理效率并降低成本,适用于高并发媒体处理场景。
1476 0
|
8月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
683 6
|
11月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
637 59
|
9月前
|
人工智能 Cloud Native 中间件
划重点|云栖大会「AI 原生应用架构论坛」看点梳理
本场论坛将系统性阐述 AI 原生应用架构的新范式、演进趋势与技术突破,并分享来自真实生产环境下的一线实践经验与思考。
|
9月前
|
机器学习/深度学习 人工智能 vr&ar
H4H:面向AR/VR应用的NPU-CIM异构系统混合卷积-Transformer架构搜索——论文阅读
H4H是一种面向AR/VR应用的混合卷积-Transformer架构,基于NPU-CIM异构系统,通过神经架构搜索实现高效模型设计。该架构结合卷积神经网络(CNN)的局部特征提取与视觉Transformer(ViT)的全局信息处理能力,提升模型性能与效率。通过两阶段增量训练策略,缓解混合模型训练中的梯度冲突问题,并利用异构计算资源优化推理延迟与能耗。实验表明,H4H在相同准确率下显著降低延迟和功耗,为AR/VR设备上的边缘AI推理提供了高效解决方案。
1494 0