随笔分类 -  微服务模式

架构模式: 子领域分解
摘要:架构模式: 子领域分解 上下文 您正在开发一个大型,复杂的应用程序,并希望使用微服务架构。微服务架构将应用程序构建为一组松散耦合的服务。微服务架构的目标是通过实现持续交付/部署来加速软件开发。 ​ 微服务架构以两种方式实现: 这些好处不会自动得到保证。相反,它们只能通过将应用程序细致地功能分解为服务 阅读全文

posted @ 2019-08-03 09:47 yaofengspark 阅读(413) 评论(0) 推荐(0)

架构模式: 根据业务能力拆分
摘要:架构模式: 根据业务能力拆分 上下文 您正在开发一个大型,复杂的应用程序,并希望使用微服务架构。微服务架构将应用程序构建为一组松散耦合的服务。微服务架构的目标是通过实现持续交付/部署来加速软件开发。 微服务架构以两种方式实现: 这些好处不会自动得到保证。相反,它们只能通过将应用程序细致地功能分解为服 阅读全文

posted @ 2019-08-03 09:38 yaofengspark 阅读(1027) 评论(0) 推荐(0)

微服务模式语言
摘要:微服务模式语言 下面总结了微服务架构的模式语言 应用架构模式 您应该为应用选择哪种架构? 单体模式 - 将应用程序构建为单个可部署单元 微服务架构 - 将应用程序构建为松散耦合的服务集合 分解 如何将应用程序分解为服务? 根据业务能力拆分 -定义与业务能力相对应的服务 根据领域的子域拆分 - 定义与 阅读全文

posted @ 2019-08-03 09:24 yaofengspark 阅读(686) 评论(0) 推荐(0)

架构 模式: 审计日志
摘要:架构 模式: 审计日志 上下文 您已应用微服务架构模式。 问题 如何理解用户和应用程序的行为以及解决问题? 要点 了解用户最近执行的操作非常有用:客户支持,合规性,安全性等。 解决方案 在数据库中记录用户活动。 例子 这种模式被广泛使用。 结果上线文 这种模式具有以下好处: 提供用户操作的记录 这种 阅读全文

posted @ 2019-08-03 09:20 yaofengspark 阅读(731) 评论(0) 推荐(0)

架构模式: 服务集成契约测试
摘要:架构模式: 服务集成契约测试 上下文 您已应用微服务架构模式。该应用程序包含许多服务。服务通常会调用其他服务。您必须编写自动化测试,以验证服务是否正常运行。 问题 如何轻松测试服务是否提供了客户期望的API? 要点 端到端测试(即启动多个服务的测试)是困难,缓慢,脆弱和昂贵的。 结论 服务的测试套件 阅读全文

posted @ 2019-08-03 09:11 yaofengspark 阅读(294) 评论(1) 推荐(0)

架构模式: 轮询发布者
摘要:架构模式: 轮询发布者 上下文 你已经采用事务发件箱模式 问题 如何将消息/事件发布到数据库中的发件箱中以发送给消息代理? 要点 结论 通过轮询数据库的发件箱表来发布消息。 结果上下文 这种模式具有以下好处: 适用于任何SQL数据库 这种模式有以下缺点: 不能保证按顺序发布事件 并非所有NoSQL数 阅读全文

posted @ 2019-08-03 09:06 yaofengspark 阅读(388) 评论(0) 推荐(0)

架构模式: 事务日志跟踪
摘要:架构模式: 事务日志跟踪 上下文 你已经采用系统事件发布 问题 如何将消息/事件发布到数据库中的发件箱中以发送给消息代理? 要点 结论 跟踪数据库事务日志并将插入发件箱的每个消息/事件发布到消息代理。 尾随事务日志的机制取决于数据库: MySQL binlog Postgres WAL AWS Dy 阅读全文

posted @ 2019-08-03 09:02 yaofengspark 阅读(341) 评论(0) 推荐(0)

架构模式: 事务发件箱
摘要:架构模式: 事务发件箱 同时被称作 Application events(系统事件) 上下文 服务命令通常需要更新数据库并发送消息/事件。例如,参与saga的服务需要以原子方式更新数据库并发送消息/事件。同样,发布域事件的服务必须以原子方式更新聚合并发布事件。数据库更新和发送消息必须是原子的,以避免 阅读全文

posted @ 2019-08-03 08:56 yaofengspark 阅读(1328) 评论(0) 推荐(0)

架构模式: 领域事件
摘要:架构模式: 领域事件 来自领域驱动设计(DDD)。 上下文 服务通常需要在更新其数据时发布事件。例如,可能需要这些事件来更新CQRS视图。或者,该服务可能参与基于 choreography-based saga编排,并使用事件进行协调。 问题 服务在更新数据时如何发布事件? 解决方案 将服务的业务逻 阅读全文

posted @ 2019-08-03 08:50 yaofengspark 阅读(361) 评论(0) 推荐(0)

架构模式:API组合
摘要:架构模式: API组合 上下文 您已应用微服务架构模式和每服务数据库模式。因此,实现从多个服务连接数据的查询不再是直截了当的。 问题 如何在微服务架构中实现查询? 结论 通过定义API Composer来实现查询,该API Composer调用拥有数据的服务并执行结果的内存中连接。​ 例子 API网 阅读全文

posted @ 2019-08-03 08:46 yaofengspark 阅读(723) 评论(0) 推荐(0)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

导航