【发布】DDD 工程脚手架 + 一键安装分布式技术栈环境!

作者:小傅哥

博客:https://bugstack.cn

沉淀、分享、成长,让自己和他人都能有所收获!😄

大家好,我是技术UP主小傅哥。

写了那么多案例工程,开发了那么多技术项目。那小傅哥做的这些案例和项目是每一个都要手动创建一遍吗?🤔 如果不是一个个都手动创建,那么有什么提效工具吗?

不用,根本不用。因为小傅哥有一套神器

对于 DDD 项目的多模块化工程搭建,其实真的是一个挺耗时的工作,尤其是分布式工程的搭建更是耗时。不过工程模块的创建还不算太耗时,主要耗时在各个分布式组件的整合使用上,包括;MySQL、Redis、RocketMQ、Dubbo、shardingjdbc、XXL-JOB 等一堆技术框架。如果你做过这样的事情,一定会被他们的使用和各类版本的配合,折腾过服服帖帖。

一次工程和环境搭建,没有个6~8小时都搞不完!但今天我想你动动手指就搞定这些!

那么,接下来小傅哥就介绍下这套带有配套环境安装的工程脚手架,让小伙伴可以熟悉使用,快速搭建自己的学习工程。

文末有相关工程脚手架的获取地址,还有对应工程脚手架的学习项目。

一、效果展示

这是一套完整的工程级框架搭建标准,提供工程的脚手架搭建以及对应的完整环境初始化。可以让开发项目的伙伴,快速🔜完成基本工作,减少6~8小时的折腾。先来展示下整体教授的内容。

1. 工程框架

2. 环境展示

3. Redis 管理

4. MySql 管理

5. MQ 管理

6. JOB 管理

二、框架介绍

小傅哥这里提供了2套工程脚手架,一套轻量版的无任何分布式技术栈的使用,另外一套是标准版的全系使用分布式技术栈。因为很多小型项目并需要依赖太多的分布式技术栈,而且轻量化的设计开发更能有效的提高开发效率。所以,读者可以按需选择你需要的脚手架进行学习、验证和生产。

1. 轻量版

轻量版 DDD 框架,主要以提供 HTTP 服务为主。开发效率高,适合中小业务场景。

  • 缓存,使用 Guava。如果有特定场景的情况下,可以补充 Redis 使用。
  • 任务,使用 Quartz。
  • 消息,使用 Spring/Guava 替代。

2. 标准版

标准版 DDD 架构,以解决中大型场景业务开发为目的,综合使用分布式技术栈进行项目构建。

  • Dubbo 提供 RPC 接口,Nacos 作为注册中心使用。
  • Redis 提供缓存、加锁、数据处理服务。
  • SharedingJdbc 提供分库分表服务。
  • XXL-JOB 提供分布式任务调度服务。
  • RocketMQ 提供异步消息服务。

三、使用说明

这套脚手架使用了 maven-archetype-plugin 使用命令(archetype:create-from-project)进行工程的脚手架创建,创建后在进行一些内容的修改,最终完成脚手架的模板。

读者在使用这套脚手架的时候,可以在本地下载工程代码后,进入工程下的 scaffold-lite/std 模块执行 README.mdmvn clean install 脚本进行安装。安装后即可在使用 IntelliJ IDEA 创建工程时候,选择 Maven 创建,添加本地仓库地址使用。------ 下面👇🏻会介绍具体操作步骤。

1. 工程结构

如图,就是两套 DDD 脚手架工程,每一套工程下,都有一个 scaffold 模块。这部分是对当下对应工程的脚手架模块。另外 docs 下有 dev-ops 文件夹,是环境安装包,直接执行 docker-compose.yml 即可一次安装完全部环境。

读者,在使用的时候,也可以先不看 scaffold 模块。因为除了这个模块外,其他的就是整个 DDD 工程,作为你最开始熟悉使用。熟悉后在进入"黑圈" README.md 中执行 mvc clean install 这样就能在本地 maven 仓库安装上脚手架了。

2. 框架安装

2.1 安装

  • 进入工程脚手架模块下的 README.md 点击执行 mvn clean install

2.2 配置

  • 首先是点击创建工厂,之后进入 Maven Archetype 下。
  • 之后你需要自己配置好 maven 工程脚手架地址,有可能默认的路径地址,不生效。

2.3 使用

  • 进入 Maven Archetype 如图方式创建工程。

2.4 效果

  • 自动生成工程,之后你就可以通过 docs 文件件下的 docker-compose.yml 安装环境并使用了。注意本机已安装了 Docker

3. 环境安装

文件:docs/dev-ops/docker-compose.yml

四、项目学习

有了工程脚手架,最好再有一套对应的实战项目学习。这样加起来锻炼,看看各个项目的模块都是如何调度的,才能更好的学习这套工程。而小傅哥的 DDD:实战项目 就有这样目锻炼,包括:OpenAi 应用项目、Lottery 抽奖项目、Api网关项目、IM通信项目、SpringBoot Starter 组件项目等。

相关推荐
老肖相当外语大佬4 天前
懂了这个道理,人月神话不再是神话!
ddd·领域驱动设计·人月神话·交付效率
老肖相当外语大佬17 天前
解决DDD最大难题-如何划分领域
ddd·领域驱动设计·软件设计
小万编程18 天前
基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】
spring boot·后端·gpt·实战项目·项目源码·java毕业设计
MQLYES21 天前
01.如何用DDD重构老项目
重构·ddd
rolt21 天前
[pdf,epub]105页《分析模式》漫谈合集01
ddd·架构师·uml·领域驱动设计·分析模式
linmoo198622 天前
java脚手架系列13-IoT
java·mqtt·iot·emqx·脚手架
小万编程23 天前
【源码+文档】基于SSM的旅游网站系统【提供源码+答辩PPT+参考文档+项目部署】
java·spring boot·毕业设计·旅游·实战项目·java毕业设计
小万编程25 天前
【源码+文档】基于SSM小区物业管理系统【提供源码+答辩PPT+参考文档+项目部署】
java·实战项目·项目源码·1024程序员节·java毕业设计
重生之我在四川卖苕皮25 天前
QT项目-仿QQ聊天(带宠物系统)
c++·qt·宠物·实战项目·音乐·qq
rolt1 个月前
[答疑]是不是互联网更适合用DDD
ddd·领域驱动设计