草庐IT

《Go 语言并发之道》读书笔记(五)

今天这篇笔记我们来记录Channel和Select,Go语言并发中Channel是goroutine传递数据的桥梁,是非常重要的一个工具。定义Channel双向Channel要定义一个channel很简单,只需要在类型前面加上chan就可以了,stringStream:=make(chanstring)这样就是定义和实例化了一个string类型的双向channel,先来看一个HelloWorld的例子funcmain(){ stringStream:=make(chanstring) gofunc(){ stringStream运行代码控制台打印出“Hellochannels”,这个简单的例

《Go 语言并发之道》读书笔记(五)

今天这篇笔记我们来记录Channel和Select,Go语言并发中Channel是goroutine传递数据的桥梁,是非常重要的一个工具。定义Channel双向Channel要定义一个channel很简单,只需要在类型前面加上chan就可以了,stringStream:=make(chanstring)这样就是定义和实例化了一个string类型的双向channel,先来看一个HelloWorld的例子funcmain(){ stringStream:=make(chanstring) gofunc(){ stringStream运行代码控制台打印出“Hellochannels”,这个简单的例

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

目录前言1.使用事件溯源开发业务逻辑概述1.1传统持久化技术的问题1.2事件溯源通过事件来持久化聚合1.3事件溯源对领域事件提出的新需求1.4事件代表状态的改变1.5聚合方法都和事件相关;1.6创建与更新聚合的步骤1.7基于事件溯源的Order聚合1.8使用乐观锁处理并发更新1.9事件溯源和发布事件1.10使用快照提升性能1.11幂等方式的消息处理1.12领域事件的演化1.13事件溯源的好处与弊端2.实现事件存储库2.1EventuateLocal事件存储库的工作原理2.2针对Java语言的EventuateClient框架提供的主要类和接口3.同时使用Saga和事件溯源3.1使用事件溯源实现

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

目录前言1.使用事件溯源开发业务逻辑概述1.1传统持久化技术的问题1.2事件溯源通过事件来持久化聚合1.3事件溯源对领域事件提出的新需求1.4事件代表状态的改变1.5聚合方法都和事件相关;1.6创建与更新聚合的步骤1.7基于事件溯源的Order聚合1.8使用乐观锁处理并发更新1.9事件溯源和发布事件1.10使用快照提升性能1.11幂等方式的消息处理1.12领域事件的演化1.13事件溯源的好处与弊端2.实现事件存储库2.1EventuateLocal事件存储库的工作原理2.2针对Java语言的EventuateClient框架提供的主要类和接口3.同时使用Saga和事件溯源3.1使用事件溯源实现

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

目录前言1.微服务架构下的事务管理1.1分布式事务的挑战1.2一个Saga的示例1.3Saga使用补偿事务来回滚所作出的改变2.Saga的协调模式2.1两种Saga协调模式2.2实现协同式的CreateOrderSaga2.3协同式Sage服务间通信相关的问题2.4协同式Sage的优缺点2.5实现编排式的CreateOrderSaga2.6把Saga编排器视为一个状态机2.7编排式Saga的优缺点3.解决隔离问题3.1Saga只满足ACD3.2缺乏隔离导致的问题3.3Saga的结构模型术语3.4解决隔离问题的对策4.OrderService和CreateOrderSaga的设计4.1Order

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

目录前言1.微服务架构下的事务管理1.1分布式事务的挑战1.2一个Saga的示例1.3Saga使用补偿事务来回滚所作出的改变2.Saga的协调模式2.1两种Saga协调模式2.2实现协同式的CreateOrderSaga2.3协同式Sage服务间通信相关的问题2.4协同式Sage的优缺点2.5实现编排式的CreateOrderSaga2.6把Saga编排器视为一个状态机2.7编排式Saga的优缺点3.解决隔离问题3.1Saga只满足ACD3.2缺乏隔离导致的问题3.3Saga的结构模型术语3.4解决隔离问题的对策4.OrderService和CreateOrderSaga的设计4.1Order

《微服务架构设计模式》读书笔记 | 第5章 微服务架构中的业务逻辑设计

目录前言1.业务逻辑组织模式1.1一个典型的服务架构1.2使用事务脚本模式设计业务逻辑1.3使用领域模型模式设计业务逻辑1.4关于领域驱动设计2.使用聚合模式设计领域模型2.1聚合拥有明确的边界2.2聚合规则2.3聚合的颗粒度2.4使用聚合设计业务2.5OrderService基于聚合设计的业务逻辑3.发布领域事件3.1领域事件的应用场景3.2领域事件的特点3.3事件增强3.4识别领域事件3.5生成领域事件3.6发布领域事件3.7消费领域事件4.KichenService的业务逻辑4.1KichenService的设计4.2Ticket类的结构4.3Ticket聚合的行为4.4KitchenS

《微服务架构设计模式》读书笔记 | 第5章 微服务架构中的业务逻辑设计

目录前言1.业务逻辑组织模式1.1一个典型的服务架构1.2使用事务脚本模式设计业务逻辑1.3使用领域模型模式设计业务逻辑1.4关于领域驱动设计2.使用聚合模式设计领域模型2.1聚合拥有明确的边界2.2聚合规则2.3聚合的颗粒度2.4使用聚合设计业务2.5OrderService基于聚合设计的业务逻辑3.发布领域事件3.1领域事件的应用场景3.2领域事件的特点3.3事件增强3.4识别领域事件3.5生成领域事件3.6发布领域事件3.7消费领域事件4.KichenService的业务逻辑4.1KichenService的设计4.2Ticket类的结构4.3Ticket聚合的行为4.4KitchenS

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

目录前言1.微服务架构到底是什么1.1软件架构的4+1视图1.2应用程序的两个层面需求1.3分层式架构风格1.4关于架构风格的六边形1.5什么是服务1.6微服务架构的架构风格2为应用程序定义微服务架构2.1定义应用程序架构的三步式流程2.2第一步:识别系统操作2.2.1识别系统操作的步骤与一些事项:2.3第二步:定义服务2.3.1根据业务能力进行服务拆分2.3.2根据子域进行服务拆分2.3.3拆分的指导原则2.3.4拆分单体应用为服务的难点2.3.5上帝类阻碍了拆分2.4第三步:定义服务API2.4.1定义服务API的步骤与事项3.本章小结最后前言这是一本关于微服务架构设计方面的书,这是本人阅

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

目录前言1.微服务架构到底是什么1.1软件架构的4+1视图1.2应用程序的两个层面需求1.3分层式架构风格1.4关于架构风格的六边形1.5什么是服务1.6微服务架构的架构风格2为应用程序定义微服务架构2.1定义应用程序架构的三步式流程2.2第一步:识别系统操作2.2.1识别系统操作的步骤与一些事项:2.3第二步:定义服务2.3.1根据业务能力进行服务拆分2.3.2根据子域进行服务拆分2.3.3拆分的指导原则2.3.4拆分单体应用为服务的难点2.3.5上帝类阻碍了拆分2.4第三步:定义服务API2.4.1定义服务API的步骤与事项3.本章小结最后前言这是一本关于微服务架构设计方面的书,这是本人阅