学海无涯

导航

系统架构模式

软件架构师和开发人员使用许多体系结构模式。 以下是一些模式(混合体系结构样式和体系结构模式)::

请注意,没有适用于所有情况的特定体系结构模式、样式或技术。 图 6-3 显示了一些可用于不同微服务的方法和技术(但不是按照特定顺序)。

 

图 6-3。 多体系结构模式和 polyglot 微服务体系

多体系结构模式和 polyglot 微服务意味着可以混合搭配语言和技术以满足每个微服务的需求,并且仍让它们彼此通信。

每个微服务可能具有不同体系结构模式,使用不同语言和数据库,具体取决于应用程序的本质、业务要求和优先级。 

例如,对于简单的 CRUD 维护应用程序,设计和实现 DDD 模式可能无意义。 但对于核心域或核心业务,可能需要应用更高级的模式,以应对不断变化的业务规则的业务复杂性。

尤其是处理由多个子系统构成的大型应用程序时,不应基于单个体系结构模式应用单个顶级体系结构。 例如,CQRS 不应作为整个应用程序的顶级体系结构,但可能适用于一组特定的服务。

没有在任何情况下都通用的体系结构模式。 不可能有“适合所有情况的体系结构模式”。必须根据每个微服务的优先级,为每个微服务选择不同方法

设计简单的 CRUD 微服务

从设计的角度来看,这种类型的容器化微服务是非常简单的。 这有可能是由于要解决的问题很简单,也可能是由于其实现只是一个概念证明。

 

 

图 6-4 。 简单 CRUD 微服务的内部设计

这种由数据驱动的简单服务的一个例子是 eShopOnContainers 示例应用程序的目录微服务。 此类型的服务在单个 ASP.NET Core Web API 项目中实现其全部功能,该项目包含用于其数据模型、业务逻辑和数据访问代码的类。

 

 

简单的数据驱动 CRUD 微服务设计

 

posted on 2022-10-08 16:57  宁静致远.  阅读(155)  评论(0编辑  收藏  举报