「第二部:容器和微服务架构」(6) 逻辑架构与物理架构

简介: 「第二部:容器和微服务架构」(6) 逻辑架构与物理架构

在这一点上,停止并讨论逻辑体系结构和物理体系结构之间的区别,以及这如何应用于基于微服务的应用程序的设计是很有用的。


首先,构建微服务不需要使用任何特定的技术。例如,Docker容器并不强制创建基于微服务的体系结构。这些微服务也可以作为普通进程运行。微服务是一种逻辑架构。


此外,即使微服务可以物理地实现为单个服务、进程或容器(为了简单起见,这是eShopOnContainers的初始版本中采用的方法),在构建大型由数十个甚至数百个服务组成的复杂应用程序。

这就是应用程序的逻辑架构和物理架构之间的区别。系统的逻辑架构和逻辑边界不一定将一对一映射到物理或部署架构。它可能发生,但通常不会。


尽管您可能已经确定了某些业务微服务或有界上下文,但这并不意味着实现它们的最佳方法总是为每个业务微服务创建单个服务(如ASP.NET Web API)或单个Docker容器。有一条规则说每个业务微服务都必须使用单个服务或容器实现,这太僵化了。因此,业务微服务或有界上下文是

一种逻辑体系结构,可能与物理体系结构重合(或不重合)。重要的一点是,业务微服务或有界上下文必须是自治的,允许代码和状态独立地进行版本控制、部署和扩展。


如图4-8所示,目录业务微服务可以由多个服务或流程组成。这些服务可以是多个ASP.NET Web API服务,也可以是使用HTTP或任何其他协议的任何其他类型的服务。更重要的是,这些服务可以共享相同的数据,只要这些服务对于同一个业务领域是一致的。


具有多个物理服务的业务微服务


示例中的服务共享相同的数据模型,因为Web API服务的目标是与搜索服务相同的数据。因此,在业务微服务的物理实现中,您将拆分该功能,以便可以根据需要放大或缩小每个内部服务。也许Web API服务通常需要比搜索服务更多的实例,反之亦然。

简而言之,微服务的逻辑体系结构并不总是与物理部署体系结构一致。在本指南中,每当我们提到微服务时,我们指的是可以映射到一个或多个(物理)服务的业务或逻辑微服务。在大多数情况下,这将是一个单一的服务,但可能更多。

相关文章
|
16天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
64 6
|
13天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
16天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
30 1
|
11天前
|
Cloud Native API 持续交付
云原生之旅:从容器到微服务的演进之路
【10月更文挑战第39天】在这篇文章中,我们将一起探索云原生技术的奥秘。通过浅显易懂的语言和生动的比喻,我们将了解云原生技术如何改变软件开发的世界。文章将带领读者从容器的基本概念出发,逐步深入到微服务架构的实践,揭示这些技术如何助力现代应用的快速迭代与可靠部署。准备好,让我们启程进入云原生的精彩世界吧!
|
13天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
13天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
13天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
14天前
|
存储 监控 Docker
探索微服务架构下的容器化部署
本文旨在深入探讨微服务架构下容器化部署的关键技术与实践,通过分析Docker容器技术如何促进微服务的灵活部署和高效管理,揭示其在现代软件开发中的重要性。文章将重点讨论容器化技术的优势、面临的挑战以及最佳实践策略,为读者提供一套完整的理论与实践相结合的指导方案。
|
14天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
13天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
下一篇
无影云桌面