应用微服务架构模式语言
来源:互联网 发布:教务系统数据库设计 编辑:程序博客网 时间:2024/06/04 18:52
微服务架构模式语言包含了许多组模式。模式语言的值超出了它的各个模式的总和,因为它定义了模式之间的这些关系:
- Predecessor - Predecessor模式是一种激励自身模式需求的模式。例如,微服务架构模式是除了单体架构模式之外的模式语言中其余模式的predecessor。
- Successor - 解决由此模式引入的问题的模式。例如,如果您应用微服务架构模式,则必须应用许多successor模式,包括服务发现模式和断路器模式。
- Alternative - 提供这种模式的替代解决方案的模式。例如,单体架构模式和微服务架构模式是构建应用程序的可选方法。你选择一个或另一个。这些关系在使用模式语言时提供有价值的指导。应用一种模式会产生您必须通过应用successor模式来解决的问题。模式的选择不断递归,直到你达到没有successor的模式。如果两个或多个模式是替代方案,则通常只能选择一个。在许多方面,这与遍历图类似。
我们来看看如何应用微服务架构模式语言来构建你的应用程序。在这篇文章中,我们将看看你必须做出的3个关键决定。在后来的帖子中,我们将看看其他重要的,虽然不是那么重要的模式。
决策#1:单体架构或微服务架构?
您必须做出的第一个决定是使用单体架构模式还是使用微服务架构模式。如果您选择微服务架构模式,您必须选择许多其他模式来处理您所做决定带来的后果。
您可以看到,您还必须应用许多其他模式。让我们看看你必须做的几个选择。
决策#2:如何将应用程序分解成服务?
如果您决定使用微服务架构,您必须定义您的服务。有两个主要选择,
- 按业务能力进行分解 -定义与业务能力相对应的服务
- 通过子域分解 -定义与DDD子域相对应的服务
这种模式产生的结果:服务围绕业务概念而不是技术概念进行组织。
决策#3:如何维护数据一致性并执行查询?
微服务的一个关键特征是每个服务单独数据库模式。这是可选方案,共享数据库模式本质上是一种反模式,最好避免。每个服务单独数据库模式的数据库极大地改变了如何维护数据一致性并执行查询。您将需要使用Saga模式。您将经常需要使用命令查询责任分隔(CQRS)模式来实现查询。
To becontinued….
阅读全文
0 0
- 应用微服务架构模式语言
- 微服务架构模式简介
- 微服务架构模式简介
- 微服务架构模式简介
- 微服务架构模式简介
- 微服务架构模式简介
- 微服务:单体架构模式
- 微服务架构(三):微服务重构应用及IBM解决方案
- 微服务模式系列之二:微服务架构
- 微服务:微服务架构模式译文说明
- 微服务架构在云端的应用
- Kubernetes微服务架构应用实践
- Kubernetes微服务架构应用实践
- 微服务架构的云端应用
- Kubernetes微服务架构应用实践
- 微服务架构的设计模式
- 微服务架构的设计模式
- 基于微服务的软件架构模式
- HDU5102 Select 二分 思维
- Android编译错误:No rule to make target '/Android.mk'
- nginx反向代理用做域名转发
- 快捷的任务定义
- 用户点击回车键,模拟用户点击了登录按钮
- 应用微服务架构模式语言
- 详解ContextLoaderListener监听器的作用
- hdu Invade the Mars(侵入火星)
- 链表的回文结构
- HashTable-----202. Happy Number
- 使用第三方侧滑库出现的问题
- PHP检测文件编码格式
- 放大器,还是衰减器,或两者皆可?
- 在MVP模式下使用OkHttp3