《微服务架构设计模式》读书笔记 | 第9章 微服务架构中的测试策略(上)

(第9章 微服务架构中的测试策略(上)) 前言 传统测试在微服务架构中有两大缺点:手动测试效率极低、在交付流程中才进行测试为时已晚;应该采取新的测试策略提高微服务架构的可测试性; 进行自动化测试是缩短交付周期的唯一方法; 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。以下对一些符号做些 ... »

《微服务架构设计模式》读书笔记 | 第8章 外部API模式

(第8章 外部API模式) 前言 不同客户端通常需要不同数据;不同客户端通过不同类型的网络访问服务,拥有单一、适合所有客户端的API通常没有意义; 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。下面对一些符号做些说明: ()为补充,一般是书本里的内容; []符号为笔者笔注; 1. 外部 ... »

《微服务架构设计模式》读书笔记 | 第7章 在微服务架构中实现查询

(第7章 在微服务架构中实现查询) 前言 在微服务架构中编写查询具有挑战性。查询通常需要检索分散在多个服务所拥有的数据库中的数据,使用传统的分布式查询处理机制虽然在技术上可行,但会打破服务之间的隔离与封装; 在微服务架构中实现查询操作有两种不同的模式: API组合模式:这是最简单的方法,应尽可能使用 ... »

《微服务架构设计模式》读书笔记 | 第6章 使用事件溯源开发业务逻辑

(第6章 使用事件溯源开发业务逻辑) 前言 事件溯源是一种以事件为中心的编写业务逻辑和持久化领域对象的方法。事件溯源可以消除一些可能的编程错误,因为这项技术可以保证在创建或更新聚合时一定会发布事件。 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。下面对一些符号做些说明: ()为补充,一 ... »

一种简易但设计全面的ID生成器思考

分布式系统中,全局唯一 ID 的生成是一个老生常谈但是非常重要的话题。随着技术的不断成熟,大家的分布式全局唯一 ID 设计与生成方案趋向于趋势递增的 ID,这篇文章将结合我们系统中的 ID 针对实际业务场景以及性能存储和可读性的考量以及优缺点取舍,进行深入分析。本文并不是为了分析出最好的 ID 生成 ... »

《微服务架构设计模式》读书笔记 | 第4章 使用Saga管理事务

(第4章 使用Saga管理事务) 前言 传统的分布式事务管理方法对于现代应用程序来说不是一个好的选择,跨服务的操作必须使用所谓的Saga(一种消息驱动的本地事务序列)来维护数据一致性,而不是ACID事务(原子性、一致性、隔离性和持久性)。 Saga的一个挑战在于只满足ACD(原子性、一致性和持久性) ... »

《微服务架构设计模式》读书笔记 | 第3章 微服务架构中的进程间通信

(第3章 微服务架构中的进程间通信) 前言 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。首先对一些符号做些说明: ()为补充,一般是书本里的内容; []符号为笔者笔注; 微服务架构将应用程序构建为一组服务,这些服务必须经常协作才能处理各种外部请求。而服务的实例通常是在多台机器上运行的 ... »

《微服务架构设计模式》读书笔记 | 第2章 服务的拆分策略

(第2章 服务的拆分策略) 前言 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。首先对一些符号做些说明: ()为补充,一般是书本里的内容; []符号为笔者笔注; 1. 微服务架构到底是什么 1.1 软件架构的4+1视图 1.2 应用程序的两个层面需求 功能性需求; 非功能性需求,又称质 ... »

《微服务架构设计模式》读书笔记 | 第1章 逃离单体地狱

(第1章 逃离单体地狱) 前言 这是一本关于微服务架构设计方面的书,这是本人阅读的学习笔记。首先对一些符号做些说明: ()为补充,一般是书本里的内容; []符号为笔者笔注; 1. 迈向单体地狱的漫长旅程 在书中,作者以Food to Go(下简称FTGO)业务分析单体应用程序的优缺点。 1.1 FT ... »

[翻译]微服务设计模式 - 1. 单体应用模式

原文地址:https://microservices.io/patterns/monolithic.html 场景描述 假设你正在开发一个大型服务端企业应用,有如下需求: 必须支持多种客户端,包括:WEB 端浏览器、WAP 端浏览器以及原生移动 APP。 对外暴露公共 API 用于调用 处理 HTT ... »

庐山真面目之四微服务架构Consul集群和Nginx版本实现

庐山真面目之四微服务架构Consul集群和Nginx版本实现 一、简介 在上一篇文章《庐山真面目之三微服务架构Consul版本实现》中,我们已经探讨了如何搭建基于单节点Consul的微服务架构。没错,那个版本也有它自己的问题,每篇文章都会解决一个问题,这样大家就会更能理解每篇文章的技术点。如果我们把 ... »