2019年8月2日

架构模式: Saga

摘要: 架构模式: Saga 上下文 您已应用每服务数据库模式。每个服务都有自己的数据库。但是,某些业务事务跨越多个服务,因此您需要一种机制来确保服务之间的数据一致性。例如,假设您正在建立一个客户有信用额度的电子商务商店。申请必须确保新订单不会超过客户的信用额度。由于订单和客户位于不同的数据库中,因此应用程 阅读全文

posted @ 2019-08-02 18:45 yaofengspark 阅读(5790) 评论(0) 推荐(1) 编辑

架构模式: 客户端 UI 构建

摘要: 架构模式: 客户端 UI 构建 上下文 您已应用微服务架构模式。服务由业务能力/面向子域的团队开发,这些团队也负责用户体验。一些UI屏幕/页面显示来自多个服务的数据。例如,考虑亚马逊风格的产品详细信息页面,该页面显示大量数据项,包括: 有关该书的基本信息,如标题,作者,价格等。 您购买图书的历史记录 阅读全文

posted @ 2019-08-02 17:53 yaofengspark 阅读(395) 评论(0) 推荐(0) 编辑

架构模式: 服务器端页面碎片化元素构建

摘要: 架构模式: 服务器端页面碎片化元素构建 上下文 您已应用微服务架构模式。服务由业务能力/面向子域的团队开发,这些团队也负责用户体验。一些UI屏幕/页面显示来自多个服务的数据。例如,考虑亚马逊风格的产品详细信息页面,该页面显示大量数据项,包括: 有关该书的基本信息,如标题,作者,价格等。 您购买图书的 阅读全文

posted @ 2019-08-02 17:50 yaofengspark 阅读(275) 评论(0) 推荐(0) 编辑

架构模式: 记录部署和变更日志

摘要: 架构模式: 记录部署和变更日志 上下文 您已应用微服务架构模式。 问题 如何理解应用程序的行为并解决问题? 要点 查看何时发生部署和其他更改非常有用,因为问题通常会在更改后立即发生 结论 记录每个部署以及对(生产)环境的每个更改。 例子 例如,部署工具可以在部署新版本的服务时发布伪度量。然后,可以将 阅读全文

posted @ 2019-08-02 17:45 yaofengspark 阅读(239) 评论(0) 推荐(0) 编辑

架构模式: 健康检查API

摘要: 架构模式: 健康检查API 上下文 您已应用微服务架构模式。有时,服务实例可能无法处理仍在运行的请求。例如,它可能已用完数据库连接。发生这种情况时,监控系统应生成警报。此外,负载平衡器或服务注册表不应将请求路由到失败的服务实例。 问题 如何检测正在运行的服务实例无法处理请求? 关注点 服务实例失败时 阅读全文

posted @ 2019-08-02 17:40 yaofengspark 阅读(1189) 评论(0) 推荐(0) 编辑

架构模式: 异常追踪

摘要: 架构模式: 异常追踪 上下文 您已应用微服务架构模式。该应用程序包含在多台计算机上运行的多个服务和服务实例。处理请求时有时会出现错误。发生错误时,服务实例会引发异常,其中包含错误消息和堆栈跟踪。 问题 如何理解应用程序的行为并解决问题? 要点 开发人员必须对重复数据删除,记录,调查,并解决基本问题 阅读全文

posted @ 2019-08-02 17:36 yaofengspark 阅读(387) 评论(0) 推荐(0) 编辑

架构模式:分布式跟踪

摘要: 架构模式:分布式跟踪 上下文 您已应用微服务架构模式。 问题 如何理解应用程序的行为并解决问题? 结论 仪器服务,其代码为每个外部请求分配唯一标识符。外部请求ID将传递给处理请求并包含在日志聚合消息中的所有服务。记录关于在集中服务中处理外部请求时执行的工作(例如,服务请求)的信息(例如,开始时间,结 阅读全文

posted @ 2019-08-02 17:32 yaofengspark 阅读(213) 评论(0) 推荐(0) 编辑

架构模式: 应用指标

摘要: 架构模式: 应用指标 上下文 您已应用微服务架构模式。 问题 如何理解应用程序的行为并解决问题? 结论 检测服务代码以收集有关各个操作的统计信息。集中度量服务中的聚合度量标准,提供报告和警报。指标服务的交付指标有两种模型:指标可以推送到指标服务,也可以使用指标服务使用服务公开的API提取指标。 例子 阅读全文

posted @ 2019-08-02 17:30 yaofengspark 阅读(305) 评论(0) 推荐(0) 编辑

架构模式: 日志聚合

摘要: 架构模式: 日志聚合 上下文 您已应用微服务架构模式。 问题 如何理解应用程序的行为并解决问题? 结论 服务以标准格式将有关其正在执行的操作的信息写入日志文件。日志文件包含错误,警告,信息和调试消息。使用集中式日志记录服务,该服务聚合来自每个服务实例的日志并允许用户进行搜索。 关联的模式 分布式跟踪 阅读全文

posted @ 2019-08-02 17:28 yaofengspark 阅读(561) 评论(0) 推荐(0) 编辑

架构模式: 服务集成协议测试

摘要: 架构模式: 服务集成协议测试 问题 如何验证服务是否提供其客户期望的API 结论 服务的测试套件,由使用它的另一个服务的开发人员编写。测试套件验证服务是否满足消费者服务的期望。 相关模式 请参阅服务组件测试 See also 请参阅集成契约测试 阅读全文

posted @ 2019-08-02 17:26 yaofengspark 阅读(138) 评论(0) 推荐(0) 编辑

架构模式: 服务组件测试

摘要: 架构模式: 服务组件测试 问题 如何简化服务测试 结论 一个测试套件,它使用测试双精度对其调用的任何服务进行隔离测试。 相关模式 请参阅服务集成契约测试 其它 请参阅组件测试 阅读全文

posted @ 2019-08-02 17:24 yaofengspark 阅读(187) 评论(0) 推荐(0) 编辑

架构模式: 访问令牌

摘要: 架构模式: 访问令牌 问题 如何将请求者的身份传递给处理请求的服务? 解决方案 API网关对用户进行身份验证,并传递一个访问令牌(例如JSON Web令牌),该令牌在每个服务请求中安全地标识用户。 关联的模式 API网关使用此模式。 阅读全文

posted @ 2019-08-02 17:22 yaofengspark 阅读(485) 评论(0) 推荐(0) 编辑

架构模式: 命令查询职责分离 (CQRS)

摘要: 架构模式: 命令查询职责分离 (CQRS) 问题 如何在微服务架构中实现查询 结论 将应用程序拆分为两部分:命令端和查询端。命令端处理创建,更新和删除请求,并在数据更改时发出事件。查询端通过对一个或多个物化视图执行查询来处理查询,这些视图通过订阅数据更改时发出的事件流来保持最新。 关联模式 每个服务 阅读全文

posted @ 2019-08-02 17:21 yaofengspark 阅读(518) 评论(0) 推荐(0) 编辑

架构模式: 应用程序事件

摘要: 架构模式: 应用程序事件 问题 如何在状态发生变化时可靠地/原子地发布事件 结论 应用程序将事件作为本地事务的一部分插入EVENTS表。一个单独的进程轮询EVENTS表并将事件发布到消息代理。 关联模式 事件驱动的体系结构模式创建了对此模式的需求。 事件溯源是一种替代模式 阅读全文

posted @ 2019-08-02 17:19 yaofengspark 阅读(140) 评论(0) 推荐(0) 编辑

架构模式: 数据库触发器

摘要: 架构模式: 数据库触发器 问题 如何在状态发生变化时可靠地/原子地发布事件 结论 一个或多个数据库触发器将事件插入到EVENTS表中,该表由发布事件的单独进程轮询。 关联模式 事件驱动的体系结构模式创建了对此模式的需求。 事件溯源是一种替代模式 阅读全文

posted @ 2019-08-02 17:17 yaofengspark 阅读(243) 评论(0) 推荐(0) 编辑

架构模式: 事件溯源

摘要: 架构模式: 事件溯源 问题 您已应用事件驱动的体系结构模式。为了可靠,服务必须在状态发生变化时以原子方式发布事件。使用跨越数据库和消息代理的分布式事务是不可行的。如何在状态发生变化时可靠地/原子地发布事件? 解决方案 这个问题的一个很好的解决方案是使用事件源。事件采购将业务实体(例如订单或客户)的状 阅读全文

posted @ 2019-08-02 17:13 yaofengspark 阅读(2453) 评论(0) 推荐(0) 编辑

架构模式: 事件驱动模式

摘要: 架构模式: 事件驱动模式 问题 您已应用每服务数据库模式。每个服务都有自己的数据库。但是,某些业务事务跨越多个服务,因此您需要一种机制来确保服务之间的数据一致性。 例如,假设您正在建立一个客户有信用额度的电子商务商店。申请必须确保新订单不会超过客户的信用额度。由于订单和客户位于不同的数据库中,因此应 阅读全文

posted @ 2019-08-02 17:07 yaofengspark 阅读(1715) 评论(0) 推荐(0) 编辑

架构模式: 共享数据库

摘要: 架构模式: 共享数据库 上下文 让我们假设您正在使用微服务架构模式开发在线商店应用程序。大多数服务需要在某种数据库中保存数据。例如,订单服务存储有关订单的信息,而客户服务存储有关客户的信息。 问题 微服务应用程序中的数据库体系结构是什么? 要点 服务必须松散耦合,以便可以独立开发,部署和扩展 某些业 阅读全文

posted @ 2019-08-02 17:03 yaofengspark 阅读(1716) 评论(0) 推荐(0) 编辑

架构模式:每个服务独立的数据库

摘要: 架构模式:每个服务独立的数据库 上下文 让我们假设您正在使用微服务架构模式开发在线商店应用程序。大多数服务需要在某种数据库中保存数据。例如,订单服务存储有关订单的信息,而客户服务存储有关客户的信息。 问题 微服务应用程序中的数据库体系结构是什么? 要点 服务必须松散耦合,以便可以独立开发,部署和扩展 阅读全文

posted @ 2019-08-02 16:59 yaofengspark 阅读(799) 评论(0) 推荐(0) 编辑

架构模式:断路器

摘要: 架构模式:断路器 问题 如何防止网络或服务故障级联到其他服务? 方案 服务客户端应该通过代理来调用远程服务,该代理以与电路断路器类似的方式起作用。当连续故障的数量超过阈值时,断路器跳闸,并且在超时时间段内,所有调用远程服务的尝试都将立即失败。超时到期后,断路器允许有限数量的测试请求通过。如果这些请求 阅读全文

posted @ 2019-08-02 16:52 yaofengspark 阅读(197) 评论(0) 推荐(0) 编辑

导航