
微服务
文章平均质量分 66
软件架构
这个作者很懒,什么都没留下…
展开
-
RedisInsight :Redis 官方可视化工具使用入门
RedisInsight是Redis官方出品的可视化管理工具,可用于设计、开发、优化你的Redis应用。支持深色和浅色两种主题,界面非常炫酷。可支持String、Hash、Set、List、JSON等多种数据类型的管理,同时支持远程使用CLI 功能,功能非常强大。...原创 2022-08-29 08:21:49 · 18491 阅读 · 5 评论 -
阿里DDD项目最佳实践-COLA 架构总览
DDD分层架构、六边形架构、洋葱圈架构、以及 COLA 架构的核心职责就是要做核心业务逻辑和技术细节的分离和解耦。在架构思想上,COLA 主张像六边形架构那样,使用端口-适配器去解耦技术细节;主张像洋葱圈架构那样,以领域为核心,并通过依赖倒置反转领域层的依赖方向。最终形成如下图所示的组件关系。换一个视角,从 COLA 应用处理响应一个请求的过程来看。COLA 使用了 CQRS 来分离命令和查询的职责,使用扩展点和元数据来提升应用的扩展性。整个处理流程如下图所示:《COLA 4..原创 2021-09-21 15:16:57 · 4066 阅读 · 0 评论 -
领域模型的核心本质是什么?
在指导软件设计时,我们需要对业务知识进行提炼和精简,建立一个所谓的模型来指导设计开发。而 DDD 的真正价值就是在描述该如何建立这个能够指导开发的 "领域模型"。Domain-Driven Design 其实是一种简称,其真正想表达的是 Domain Model Driven Design,即领域模型驱动设计。领域模型并不是某个模型图,而是这种图所要传达的思想。也就是说,领域模型并不拘泥于形式,重要的是它能够传递经过提炼后的业务知识的抽象与精炼。它可以是一幅图,也可以是一段代码,甚至可以是一句.原创 2021-09-11 10:20:19 · 305 阅读 · 0 评论 -
基于阿里开源的COLA架构和DDD领域驱动设计构建货物运输系统
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。COLA既是框架,也是架构。COLA架构融合了常见的DDD代码模型,可以帮助开发人员快速实践并落地DDD领域建模的应用项目。货物运输系统(Cargo Tracker Application)是领域驱动设计(DDD)的经典示例。Eric Evans(DDD之父)在他的书中引入了货物运输系原创 2021-09-10 13:23:21 · 2597 阅读 · 0 评论 -
Axon框架快速入门和DDD项目实践
Axon 框架是基于JVM平台的开源产品,由Allard Buijze于2009年创立。2017年7月,成立了一家独立公司AxonIQ,专门与Axon产品合作。Axon 框架的程序遵循基于领域驱动设计(DDD)思想、命令查询职责分离 (CQRS)、事件驱动架构(Event Driven Architecture,EDA)的架构模式。这些原则的结合,使基于Axon的应用程序更加健壮、适应性更强。本专栏基于Axon开源框架、DDD领域驱动设计思想、CQRS读写分离和事件溯源(Event Sourcing原创 2021-08-19 21:28:10 · 2792 阅读 · 0 评论 -
基于DDD领域建模思想、COLA架构和CQRS模式快速实现装卸微服务应用
我们已经基于COLA架构创建了装卸服务(handlingms)的骨架代码,然后创建好了领域模型和数据模型。本文将按照数据流的顺序,分别在各个模块的包结构中,实现业务逻辑和代码落地。一、二方库client模块二方库client模块不是功能独立的层,client模块包含的代码应该是常见的服务接口Facade和DTO数据传输对象,如API、DTO、领域事件(Domain Event)、Command和Query对象等等。如上图所示,HandlingActivityRegist.原创 2021-08-14 11:32:05 · 1469 阅读 · 0 评论 -
为什么说开源的COLA既是架构也是框架?
COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”,是来自阿里技术专家的开源项目。目前COLA已经发展到COLA 4.0。COLA既是架构,也是框架。COLA框架继承了DDD的设计思想。COLA 开源地址:https://github.com/alibaba/COLA一、为什么说COLA是架构?在架构设计上,COLA主张像六边形架构那样,使用端口-适配器去解耦技术细节;主张像洋葱架构那样,以领域.原创 2021-08-11 23:20:33 · 1115 阅读 · 0 评论 -
基于DDD领域建模思想、COLA开源架构和CQRS模式设计和构建货物运输系统
2003年,DDD(领域驱动设计)这一软件开发的方法与愿景经由建模专家 Eric Evans 的经典著作Domain-Driven Design: Tackling Complexity in the Heart of Software 正式面世,当即获得了广泛关注和高度评价。18 年间,网上越来越多关于 DDD的文章和讨论。为什么我们现在还不停地讨论 DDD?为什么DDD仍然如此重要?领域驱动设计常以战略设计与战术设计来将整个领域展现得淋漓尽致,其作用范围既面向业务也面向技术。从战略角度去规划系统原创 2021-08-07 15:43:16 · 1377 阅读 · 0 评论 -
领域驱动设计DDD和CQRS架构模式落地实践
在领域驱动架构中,通常会将查询和命令操作分开,我们称之为CQRS(命令查询职责分离Command Query Responsibility Segregation)。这张图是来自Martin Fowler大师的文章CQRS(https://www.martinfowler.com/bliki/CQRS.html)。上图中读模块Query Model和写模块Command Model只是逻辑分离,物理层面还是使用了同一个数据库。我们可以进一步将数据库改成读库和写库做到物理分离,这时候就需要同步读写库。原创 2021-08-01 13:16:09 · 649 阅读 · 0 评论 -
DDD开源COLA应用架构-实现分离业务逻辑和技术细节
COLA(Clean Object-oriented & Layered Architecture)架构是阿里团队自主研发的应用架构,目前已经开源( https://github.com/alibaba/COLA )。在COLA的设计中,充分汲取了经典架构的优秀思想。除此之外,阿里补充了规范设计和扩展设计,并且使用Archetype的方式,将架构固化下来,以便可以快速地在开发中使用。分层设计(Layered Architecture)COLA的分层是一种改良了的.原创 2021-07-27 20:18:56 · 2424 阅读 · 0 评论 -
Spring Boot中通过SpringContextUtil工具类获取容器中Bean对象
在项目中有时需要根据需要在自己new一个对象,或者在某些util方法或属性中获取Spring Bean对象,从而完成某些工作,但是由于自己new的对象和util方法并不是受Spring所管理的,如果直接在所依赖的属性上使用@Autowired就会报无法注入的错误,或者是没报错,但是使用的时候会报空指针异常。总而言之由于其是不受Spring IoC容器所管理的,因而无法注入。Spring的核心是ApplicationContext,它负责管理 beans 的完整生命周期。我们可以从applicatio原创 2021-07-23 21:28:15 · 8551 阅读 · 1 评论 -
Spring Cloud Alibaba微服务实战
Spring Cloud Alibaba微服务实战技术专栏,从项目实践出发,包括Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Log日志、分布式全局唯一ID、DDD领域驱动设计等等技术内容,可帮助你对Spring Cloud 微服务技术栈有更加全面和直观的了解。相信你通过本专栏的练习和实践,能够学以致用,提升微服务应用的开发能力。技术专栏中具体章节内容如下所示:1. Spring Cloud和Spring Cloud Alibaba微服务框架的关系.原创 2021-07-21 22:44:39 · 1540 阅读 · 4 评论