作者:小傅哥


博客: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.md 中 mvn 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 组件项目等。

【发布】DDD 工程脚手架 + 一键安装分布式技术栈环境!的更多相关文章

  1. windows下使用xampp一键安装apache+php运行环境

    感谢浏览,欢迎交流=.= 想为我老爸开发一套库存管理系统,借此机会打算使用下ext+php+apache+linux环境尝尝鲜. 为了在windows搭建本地开发测试环境,官网下载xampp,一键安装 ...

  2. jdk1.8一键安装脚本(linux环境)

    1.下载jdk安装包和安装脚本 下载地址:https://pan.baidu.com/s/1bo6ADQ3 其中包括: jdk安装包:jdk-8u151-linux-x64.tar.gz jdk一键安 ...

  3. 【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)

    在线体验地址:http://vip.52tech.tech/ GIthub源码:https://github.com/xiugangzhang/vip.github.io 项目预览 主页面 登录页面 ...

  4. yum一键安装企业级lamp服务环境-技术流ken

    1.简介 LAMP 是Linux Apache MySQL PHP的简写,其实就是把Apache, MySQL以及PHP安装在Linux系统上,组成一个环境来运行动态的脚本文件. 2.系统环境 cen ...

  5. Python魔术世界 1 如何使用Visual Studio在WIN10中一键安装Python3入门编程环境并测试Django

    本文通过VS安装Python和Django的环境,创建了一个Web程序,前后5分钟的操作,让你快速入门Python的编程世界,各种Python和Django的概念会在实战中给你娓娓道来. Django ...

  6. [开源软件] 腾讯云Linux服务器一键安装LAMP/LNMP/LANMP环境 转

    本帖最后由 我本戏子 于 2015-8-13 22:00 编辑OneinStack是非常优秀的一键PHP/JAVA安装脚本,提供以下环境:lnmp(Linux + Nginx+ MySQL+ PHP) ...

  7. linux系统一键安装phpstudy的lnmp环境

    phpStudy for Linux 支持Apache/Nginx/Tengine/Lighttpd, 支持php5.2/5.3/5.4/5.5切换 已经在centos-6.5,debian-7.4. ...

  8. 分布式实时日志系统(一)环境搭建之 Jstorm 集群搭建过程/Jstorm集群一键安装部署

    最近公司业务数据量越来越大,以前的基于消息队列的日志系统越来越难以满足目前的业务量,表现为消息积压,日志延迟,日志存储日期过短,所以,我们开始着手要重新设计这块,业界已经有了比较成熟的流程,即基于流式 ...

  9. hadoop一键安装伪分布式

    hadoop伪分布式和hive在openSUSE中的安装 在git上的路径为:https://github.com/huabingood/hadoop--------/tree/master 各个文件 ...

  10. 【费元星原创】一键安装Hadoo2.7.6 集群完全分布式脚本-完美解决

    有Bug 欢迎反馈,我不烦:feiyuanxing@gmail.com 1 #!/bin/bash #@author:feiyuanxing [既然笨到家,就要努力到家] #@date:2017-01 ...

随机推荐

  1. 使用 virt-install 命令创建虚拟机

    实践 参考文档:官方手册 这个命令适用于创建第一个虚拟机,后面如果再增加,修改xml文件或者使用clone命令就可以了. centos.sh #!/bin/bash name='centos7' is ...

  2. 2021-7-29 MySql的简单使用

    创建表格   先判断users表是否存在,然后设置user_id为无符号(UNSIGNED)自动增长(AUTO_INCREMENT)的整型 并通过PRIMARY KEY设置user_id为主键 ENG ...

  3. 配置oracle DG

    主库名称:prod1 使用asm存储数据 11.2.03 同一机器备库名称:dg 使用file存储数据 11.2.03 配置备库的参数文件cd $ORACLE_HOME/dbsvi initdg.or ...

  4. Gin+Xterm.js实现远程Kubernetes Pod(一)

    Xterm.js简介 xterm.js (https://xtermjs.org/)是一个开源的 JavaScript 库,它模拟了一个终端接口,可以在网页中嵌入一个完全功能的终端.这个库非常灵活,并 ...

  5. 春秋云镜像-CVE-2022-0788

    准备: 攻击机:win10. 靶机:春秋云镜像-CVE-2022-0788. 写这个的时候在网上想查找下该漏洞的利用方式,没有找到相关的资料,因此记录下自己通过这个靶场的poc与exp. curl ' ...

  6. 领域驱动设计(DDD):从基础代码探讨高内聚低耦合的演进

    大家好,我是付威,一名已在编码第一线奋斗了十余年的程序员.在2019年我初次接触到领域驱动设计(Domain-Driven Design,简称DDD)的概念.在我的探索中,我发现许多有关DDD的教程过 ...

  7. 《深入理解Java虚拟机》读书笔记: 类加载器

                                                             类加载器   虚拟机设计团队把类加载阶段中的"通过一个类的全限定名来获取描述 ...

  8. typora使用教程&高级用法&Markdown

    typora使用教程&高级用法&Markdown typora介绍 哇啦哇啦哇啦哇,,,,,,,,,,,,, 提示:小白看不懂的话,建议哔哩哔哩搜索"遇见狂神说", ...

  9. Ubuntu Linux 更换国内源

    Ubuntu的官方源对于国内用户来说是比较慢的,可以将它的源换成国内的源,用起来就快很多了. # Ubuntu server 环境 ubuntu@ubuntu:~$ sudo su - [ sudo ...

  10. Maven安装与配置教程

    一.安装前检查 检查电脑上是否安装JDK,如果没有安装,请查看JDK安装教程:点我查看 如果电脑上已经安装JDK,按Win 和R键,输入cmd,然后点击确定 输入java -version,点击回车, ...