Lottery抽奖项目学习第二章第一节:环境、配置、规范

Lottery抽奖项目学习第二章第一节:环境、配置、规范

环境、配置、规范

下面以DDD架构和设计模式落地实战的方式,进行讲解和实现分布式抽奖系统的代码开发,那么这里会涉及到很多DDD的设计思路和设计模式应用,以及互联网大厂开发中所应用到的技术,包括:SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter 等。在开始项目之前,仔细阅读如下介绍信息,方便更加快速的进入学习。

一、开发环境

  • JDK 1.8
  • SpringBoot 2.6.0
  • Dubbo 2.7.10
  • DB-ROUTER 自研分库分表组件,学习一起写SpringBoot Starter
  • vue开发H5大转盘抽奖
  • 微信公众号对接提供API,回复抽奖
  • Docker 本地/服务器均可

其他所需环境如下
Lottery抽奖项目学习第二章第一节:环境、配置、规范_第1张图片

  • 不只是DDD分布式项目开发,还可以学习到关于Docker的实践应用

二、环境配置

  • 技术栈项:JDK1.8,Maven3.6.3,MySQL5.7,SpringBoot、MyBatis、Dubbo随POM版本
  • 初始打包:需要在Lottery工程的Maven根上,点击install才能完整打包,否则Lottery-Test等不能正常引入jar包
  • 建表语句:doc/asserts/sql-建议随非分支内sql版本走,因为需求不断迭代升级优化,直接使用最新的会遇到在各个分支下的代码运行问题。
  • 下载依赖db-router-spring-boot-starter本项目依赖自研分库分表组件,需要用IDEA像打开一个项目一样打开,之后点击Maven install就可以把jar打包到本地仓库,Lottery就可以引入jar了。
  • 服务部署:本机直接安装Docker进行配置;

三、工程列表

  • 分布式核心功能服务系统:Lottery:提供抽奖业务领域功能,以分布式部署的方式提供RPC。
  • 网关API服务:Lottery-API:网关服务,提供H5页面抽奖、公众号开发回复消息抽奖。
  • C端用户系统:Lottery-front:开发中,vue H5 转盘抽奖lucky-canvas
  • B端运营系统:Lottery-ERP:满足运营人员对于活动的查询、配置、修改、审核等操作。
  • 分库分表路由组件:db-router-spring-boot-starter:本项目依赖自研分库分表组件,需要下载后构建开发一个基于HashMap核心设计原理,使用哈希三列+扰动函数的方式,把数据散列到多个库表中的组件,并验证使用。
  • 测试验证系统:Lottery-Test:用于测试验证RPC服务、系统功能调用的测试系统。

六、开发规范

分支命名:日期+id+功能单词,如:

230820_LBHQC_buildFramework
# 主要type
feat:     增加新功能
fix:      修复bug

# 特殊type
docs:     只改动了文档相关的内容
style:    不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
build:    构造工具的或者外部依赖的改动,例如webpack,npm
refactor: 代码重构时使用
revert:   执行git revert打印的message

# 暂不使用type
test:     添加测试或者修改现有测试
perf:     提高性能的改动
ci:       与CI(持续集成服务)有关的改动
chore:    不修改src或者test的其余修改,例如构建过程或辅助工具的变动

项目学习源自小傅哥的知识星球
处于版权考虑,后续章节内容将以仅个人可见的形式发布。

你可能感兴趣的:(java,后端开发,Lottery抽奖系统,学习,java,maven,spring,boot,dubbo,java-zookeeper,idea)