
微服务架构设计模式
文章平均质量分 93
奔跑码农
操作失败,请重试
展开
-
微服务架构设计模式笔记--第九章 微服务架构中的测试策略(上)
微服务架构设计模式笔记--第九章 微服务架构中的测试策略(上)1. 微服务架构中的测试策略概述1.1 什么是测试1.2 微服务架构中的测试挑战1.3 部署流水线为服务编写单元测试传统的测试方法通常都在开发完成后执行,开发人员将他们的代码扔给隔壁的QA团队,QA团队验证软件是否按预期工作。更糟糕的是,他们的大多数测试都是手动执行的。这种测试方法现在不管用了,原因有两个:手动测试效率极低:你永远不应该让人类去做一台机器可以做得更好的事情。与机器相比,手动测试执行的速度很慢,不能全天候工作。如果依赖手动测试原创 2021-03-07 22:14:17 · 436 阅读 · 3 评论 -
微服务架构设计模式笔记--第八章 外部API模式
1. 外部API设计难题设计应用程序外部API的任务因其客户端的多样性而变得更具挑战性。不同客户端通常需要不同的数据。通常,基于桌面浏览器的用户界面显示的信息远远多于移动应用程序。此外,不同的客户端通过不同类型的网络访问服务。防火墙内的客户端使用高性能局域网,防火墙外的客户端使用性能较低的互联网或移动网络。因此,你会发现,拥有单一、适合所有客户端的API通常没有意义。存在的问题:多次客户端请求导致用户体验不佳缺乏封装导致前端开发做出的代码修改影响后端服务可能选用对客户端不友好的进程间通信机制.原创 2021-03-03 20:01:49 · 522 阅读 · 1 评论 -
微服务架构设计模式笔记--第七章 在微服务架构中实现查询
微服务架构设计模式笔记--第七章 在微服务架构中实现查询本章导读1. 使用API组合模式进行查询1.1 什么是API组合模式1.2 API组合模式的设计缺陷由谁来担任API组合器的角色1.3 弊端2. 使用CQRS模式2.1 什么是CQRS2.2 CQRS的好处2.3 CQRS 的弊端3. 设计CQRS视图3.1 可供选择的查询端视图存储库3.2 设计数据访问模块3.3 添加和更新CQRS视图本章导读在微服务架构中查询数据的挑战何时以及如何使用APl组合模式实现查询何时以及如何使用CQRS模式实现原创 2021-02-19 22:17:48 · 438 阅读 · 1 评论 -
微服务架构设计模式笔记--第六章 使用事件溯源开发业务逻辑
微服务架构设计模式笔记--第六章 使用事件溯源开发业务逻辑1. 使用事件溯源开发业务逻辑概述1.1 传统持久化技术的问题1.2 什么是事件溯源事件溯源通过事件来持久化聚合事件代表状态的改变聚合方法都和事件相关1.3 使用乐观锁处理并发更新1.4 事件溯源和发布事件1.5 使用快照提升性能1.6 幂等方式的消息处理1.7 领域事件的演化1.8 事件溯源的好处和弊端2 实现事件存储库2.1 Eventuate Local 事件存储库的工作原理2.2 Eventuate 的 Java 客户端框架3 同时使用Sag原创 2021-02-19 00:00:16 · 673 阅读 · 0 评论 -
微服务架构设计模式笔记--第五章 微服务架构中的业务逻辑设计
微服务架构设计模式笔记--第四章 微服务架构中的业务逻辑设计1. 业务逻辑的组织模式1.1 使用事务脚本模式设计业务逻辑1.2 使用领域模型模式设计业务逻辑1.3 关于领域驱动设计2. 使用聚合模式设计领域模型2.1 模糊边界所带来的问题2.2 拥有明确的边界2.3 聚合的规则2.4 聚合的颗粒度2.5 使用聚合设计业务逻辑3. 发布领域事件3.1 为什么需要发布变更事件3.2 什么是领域事件3.3 事件增强3.4 识别领域事件3.5 生成和发布领域事件如何可靠地发布领域事件3.6 消费领域事件企业应用程原创 2021-02-17 23:33:13 · 831 阅读 · 3 评论 -
微服务架构设计模式笔记--第四章 使用Saga管理事务
微服务架构设计模式笔记--第四章 使用Saga管理事务1. 微服务架构下的事务管理1.1 微服务架构对分布式事务的需求1.2. 传统解决办法存在的问题1.3. 使用Saga模式维护数据一致性示例Saga: Create Order SagaSaga使用补偿事务来回滚所做出的改变2. Saga的协调模式2.1 协同式Saga可靠的事件通信协同式Saga的好处和弊端2.2 编排式Saga实现编排式的 Create order saga把Saga编排器视为一个状态机编排式Saga的好处和弊端3. 解决隔离问题3.原创 2021-02-14 20:53:50 · 863 阅读 · 2 评论 -
微服务架构设计模式笔记--第三章 微服务架构中的进程间通信
第二章 微服务架构中的进程间通信1. 微服务架构中的进程间通信概述1.1 交互方式一对一的交互方式一对多的交互方式1.2 在微服务架构中定义API1.3 API的演化1.4 消息的格式2. 基于同步远程过程调用模式的通信2.1 使用REST2.2 使用gRPC2.3 使用断路器模式处理局部故障2.4 使用服务发现应用层服务发现模式平台层服务发现模式3. 基于异步消息模式的通信3.1 什么是消息传递3.2 使用消息机制实现交互方式3.3 为基于消息机制的服务API创建API规范记录异步操作记录事件发布3.4原创 2021-02-12 01:23:32 · 2379 阅读 · 11 评论 -
微服务架构设计模式笔记--第二章 服务的拆分策略
1. 微服务架构到底是什么第1章描述了微服务架构的关键思想是如何进行功能分解。你可以将应用程序构建为组服务,而不是开发一个大型的单体应用程序。一方面,将微服务架构描述为一种功能分解是有用的。但另一方面,它留下了几个未解决的问题,包括:微服务架构如何与更广泛的软件架构概念相结合?什么是服务?服务的规模有多重要?为了回答这些问题?我们需要退后一步,看看软件架构的含义。软件的架构是一种抽象的结构,它由软件的各个组成部分和这些部分之间的依赖关系构成。正如你将在本节中看到的,软件的架构是多维的,因此有多种方法可以原创 2021-02-10 23:14:59 · 834 阅读 · 5 评论 -
微服务架构设计模式笔记--第一章 逃离单体地狱
第一章 逃离单体地域迈向单体地狱的漫长旅途拯救之道:微服务架构1. 扩展立方体和服务2. 微服务架构作为模块化的一种形式3. 每个服务都拥有自己的数据库4. FTGO的微服务架构微服务架构的好处和弊端1. 微服务架构的好处2. 微服务架构的弊端微服务架构的模式语言微服务之上:流程和组织1. 进行软件开发和交付的组织2. 进行软件开发和交付的流程迈向单体地狱的漫长旅途单体架构存在着巨大的局限性,渴求成功的应用程序,往往都不断地在单体架构的基础之上扩展。每一次开发冲刺(Sprint),开发团队就会实现更多的原创 2021-02-08 22:19:54 · 1613 阅读 · 6 评论