「第二部:容器和微服务架构](15)基于微服务创建复合用户界面

简介: 「第二部:容器和微服务架构](15)基于微服务创建复合用户界面

微服务体系结构通常从服务器端处理数据和逻辑开始,但在许多情况下,用户界面仍然作为一个整体来处理。但是,一种更高级的方法,称为micro frontends(微前端),是基于microservices设计应用程序UI。这意味着有一个由微服务生成的复合UI,而不是在服务器上有微服务,而只是一个使用微服务的单一客户端应用程序。使用这种方法,您构建的微服务可以同时具有逻辑和可视化表示。


图20显示了从单一客户机应用程序使用微服务的简单方法。当然,在生成HTML和JavaScript之间可以有一个ASP.NET MVC服务。这个图是一个简化,它强调您有一个使用微服务的单一(单片)客户机UI,它只关注逻辑和数据,而不关注UI形状(HTML和JavaScript)。


图20 使用后端微服务的单片UI应用程序


相反,复合用户界面是由微服务本身精确生成和组合的。一些微服务驱动用户界面特定区域的视觉形状。关键的区别在于,您有基于模板的客户端UI组件(例如,TypeScript类),这些模板的数据整形UI视图模型来自每个微服务。


在客户机应用程序启动时,每个客户机UI组件(例如,TypeScript类)都向能够为给定场景提供视图模型的基础设施微服务注册自己。如果微服务改变了形状,用户界面也会改变。


图21显示了这种复合UI方法的一个版本。这是简化的,因为您可能有其他微服务正在聚合基于不同技术的细粒度部分。这取决于您是在构建传统的web方法(ASP.NET MVC)还是SPA(单页应用程序)。


图21 后端微服务形成的复合UI应用程序示例


这些UI组合微服务中的每一个都类似于一个小型API网关。但在这种情况下,每个用户负责一个小的UI区域。


由微服务驱动的复合UI方法可能更具挑战性,也可能更少,这取决于您使用的UI技术。例如,在构建传统的web应用程序时,您不会使用与构建SPA或本机移动应用程序相同的技术(就像在开发Xamarin应用程序时一样,这种方法可能更具挑战性)。


eShopOnContainers示例应用程序使用单片UI方法有多种原因。首先,它介绍了微服务和容器。复合UI更高级,但在设计和开发UI时也需要更高的复杂性。其次,eShopOnContainers还提供了一个基于Xamarin的本地移动应用程序,这将使其在客户端更加复杂。

后面有章节会专门介绍微前端和可组合的UI以及MAMSA(应用和服务啮合的架构) 架构.

相关文章
|
1天前
|
监控 Kubernetes 持续交付
探索微服务架构的实践与思考
【6月更文挑战第26天】微服务架构作为一种现代软件设计方法,其核心在于将复杂的单体应用拆分为一系列小型、独立的服务。本文从实践的角度出发,探讨了在构建微服务系统时面临的挑战、采取的设计策略以及实际案例分析,旨在为读者提供一套实用的微服务实施框架和经验分享。
|
1天前
|
存储 监控 负载均衡
深入理解微服务架构中的服务发现机制
【6月更文挑战第25天】在微服务架构中,服务发现是确保各独立服务组件能够高效、可靠通信的关键环节。本文将探讨服务发现的基本原理、核心组件以及在现代云原生应用中的最佳实践,旨在为读者提供一套系统化理解和实现服务发现机制的指导思路。
|
1天前
|
消息中间件 负载均衡 持续交付
探索后端开发:微服务架构的演进与实践
【6月更文挑战第25天】本文深入探讨了微服务架构的概念、发展以及在现代后端开发中的应用。我们将通过一个虚构案例,展示如何将传统的单体应用重构为基于微服务的架构,并讨论在此过程中遇到的挑战和解决方案。文章旨在为读者提供从理论到实践的全面指导,帮助理解微服务架构的优势及其在企业级系统中的应用。
|
1天前
|
Kubernetes 测试技术 持续交付
深入理解微服务架构及其在现代后端系统中的应用
本文将深入探讨微服务架构的核心概念、设计原则以及如何在现代后端系统中实现和优化它。我们将从微服务的定义开始,逐步展开讨论其优势、面临的挑战,以及如何克服这些挑战。同时,文章还会涉及微服务与容器化技术、持续集成/持续部署(CI/CD)的协同作用,以及微服务架构的未来发展趋势。读者将获得对微服务架构全面而深刻的理解,并能够识别在实施过程中可能遇到的陷阱和解决方案。
16 1
|
2天前
|
消息中间件 监控 Java
使用Java构建微服务架构的最佳实践
使用Java构建微服务架构的最佳实践
|
2天前
|
监控 Java 持续交付
构建Java微服务架构的CI/CD流程
构建Java微服务架构的CI/CD流程
|
3天前
|
缓存 运维 监控
探索微服务架构中的API网关模式
在微服务架构的海洋中,API网关是连接客户端与众多微服务群岛之间的桥梁。本文将深入探讨API网关的设计原则、核心功能以及在现代软件架构中的关键作用,同时分析其在实际应用中的效益和面临的挑战。
|
5天前
|
监控 Kubernetes API
探索微服务架构中的API网关模式
【6月更文挑战第22天】在微服务架构的海洋中,API网关是一艘引领航行的旗舰。它不仅是服务的守门人,更是流量的指挥官和信息的翻译官。本文将深入探讨API网关的核心作用、设计考量与实现策略,为构建高效、可靠的微服务系统提供航标。
|
3天前
|
存储 消息中间件 API
“论微服务架构及其应用”写作框架,软考高级,系统架构设计师
论微服务架构及其应用近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互联网时代对软件的要求。在这一背景下,微服务架构模式(MicroserviceArchitecturePattern)逐渐流行,它强调将单一业务功能开发成微服务的形式,每个微服务运行在一个进程中;采用HTTP等通用协议和轻量级API实现微服务之间的协作与通信。这些微服务可以使用不同的开发语言以及不同数据存储技术,能够通过自动化部署工具独立发布,并保持最低限制的集中式管理。
|
4天前
|
Kubernetes 监控 Cloud Native
云原生架构下的微服务治理实践
【6月更文挑战第23天】在云计算的浪潮中,云原生架构以其弹性、可扩展性和高效性成为企业数字化转型的重要推手。本文将深入探讨如何利用云原生技术实现微服务的治理与优化,确保系统的稳定性和高可用性。我们将从微服务的基本概念出发,通过具体案例分析,揭示云原生环境下微服务治理的关键策略,并分享实践经验,旨在为读者提供一套完整的微服务治理解决方案。