DDD之六边形架构(Hexagonal Architecture) 六边形架构(Hexagonal Architecture),也被称为端口和适配器架构(Ports and Adapters Architecture),是一种软件架构模式,用于构建可测试、可维护和灵活的应用程序。
DDD之上下文映射图(Context Mapping) 在DDD中,限界上下文与限界上下文之间需要相互集成,这种集成关系在DDD中称为上下文映射(Context Mapping),也就是子域与子域之间的集成关系。
DDD之领域(Domain)和子域(Subdomain) 子域在领域驱动设计中是对业务领域的逻辑划分,而微服务是一种实现架构上的解决方案,将系统拆分为独立的服务。子域可以指导微服务的划分,并帮助实现系统的松耦合、可扩展的微服务架构。
DDD之限界上下文(Bounded Context)和通用语言(Ubiquitous Language) 限界上下文定义了一个特定的领域范围,而通用语言是在这个上下文中被共享和理解的一种语言。每个限界上下文都有自己的通用语言,用于描述和解决特定上下文中的业务问题。
领域驱动设计(DDD)系列文章前言 我准备写关于领域驱动设计(DDD)的系列文章。当然,为了编写这些文章,我阅读了许多相关书籍,并结合自己的经验总结了一些方法。我还将提供具体的代码实现方法等内容。然而,请注意这些只是我个人的经验和学习记录,并不具有标准和规范的性质。领域驱动设计是一个非常庞大的主题,我只是略懂其中一些内容。
Docker的使用 本文提供了一个简要介绍关于Docker的概念、使用场景,并分析了它的优点和缺点。同时,还介绍了常用的Docker操作命令,以及如何通过Dockerfile来自定义镜像。通过这篇文章,读者可以初步了解Docker并开始使用它进行应用开发和部署。
VMware安装CentOS虚拟机 VMware 虚拟机是一种基于虚拟化技术的软件应用程序,它允许用户在一台物理计算机上模拟多个虚拟计算环境。虚拟机提供了一个可隔离且独立于物理硬件的虚拟环境,其中可以安装和运行操作系统和应用程序。
18. knife4j 接口文档 本文介绍了如何在Spring Boot应用中使用Knife4j这一API文档在线查看工具,并通过配置Gateway实现了API接口聚合。使用Knife4j可以方便地生成API接口文档,提高开发效率以及降低开发成本。而聚合接口可以使得我们可以统一管理不同服务的API文档,便于开发人员查阅和使用。
17. MinIO 分布式文件存储 通过Spring Boot集成Minio,我们可以在应用程序中方便地使用Minio的功能,Spring Boot集成Minio可以帮助我们更轻松地开发和管理云存储解决方案。
16. Seata 分布式事务 本文通过用户购买商品的案例来使用Seata分布式事务:创建订单、扣除余额、减少库存,可以看出通过Seata使用分布式事务非常的简单方便,只需要一个`@GlobalTransactional`注解。
15. RocketMQ 消息队列 本文介绍了使用Spring Boot集成RocketMQ的方法,创建了一个生产者服务`rocketmq-producer`和一个消费者服务`rocketmq-consumer`。生产者可以将数据发送到RocketMQ服务器中,消费者可以订阅主题并接收、处理数据。这种集成方式方便快捷,可以快速实现RocketMQ的生产和消费功能。
14. Redisson 分布式锁 Redisson分布式锁的基本原理是通过Redis的`setnx`命令实现的,在微服务的场景下,一个应用会部署多个实例,就需要保证多个实例的多个线程同时只能有一个线程来操作资源,那就需要分布式锁,
13. ShardingSphere-Proxy 数据库代理 ShardingSphere-Proxy是ShardingSphere分布式数据库中间件的一部分,它提供了**数据库代理**功能。通过引入ShardingSphere-Proxy,可以在无需改动应用程序代码的情况下,实现分库分表的数据库分片、读写分离、逻辑表达式分片等功能。ShardingSphere-Proxy独立运行于应用程序和数据库之间,充当数据库的代理,自动将请求路由至相应的数据库节点。
12. ShardingSphere-JDBC 分库分表 ShardingSphere-JDBC是一个基于JDBC协议的中间件,JDBC API是Java访问关系型数据库的标准API,因此ShardingSphere-JDBC适用于JDBC API连接的各种关系型数据库。它通过JDBC驱动程序来拦截应用程序发出的数据库访问请求,并根据事先配置的分片规则将请求路由到正确的数据库分片中。