# pattern
**Repository Path**: l_yongchang/pattern
## Basic Information
- **Project Name**: pattern
- **Description**: 为微服务快速开发平台,已完成鉴权,资源权限管理,网关api,国际化等基础处理
基于
-spring-cloud Hoxton.SR9
-alibaba-cloud 2.2.3.RELEASE
-spring-boot 2.2.5.RELEASE
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: spring-cloud
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-28
- **Last Updated**: 2021-04-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 介绍
项目为微服务快速开发平台,已完成鉴权,资源权限管理,网关api,国际化等基础处理
基于
-spring-cloud Hoxton.SR9
-alibaba-cloud 2.2.3.RELEASE
-spring-boot 2.2.5.RELEASE
中间件
-nacos 服务发现及配置管理
-sentinel 流量防卫兵 http://localhost:10005/
-redis jetCache缓存处理,distri
-elk app日志管理 http://localhost:22222
-gateway app网关 http://localhost:9527
-seata 微服务事务
-rocketmq 业务中mq消息管理 http://localhost:23001/
-xxl-job 任务调度管理 http://localhost:10002/
-file-online 文件加水印预览 http://localhost:11001/onlinePreview?url=
为work提供的服务
-springbootadmin app分析 http://localhost:18080
-socketserver webSocket中间件 http://localhost:9527/socketserver/
为work提供的插件
plugin 工作流,分布式锁,规则引擎,文件流处理,国际化,任务调度,orm,限流,消息推送,websocket,爬虫,sso,auth
-tools=>gen 代码生成
### work描述
work为业务服务
work对外api文档采用swagger,通过gateway聚合采用knife4j UI展现
### 依赖基础环境
jdk 15;mysql
在本地server下可直接启动:
nacos,redis,xxl-job,rocketMQ
### project介绍
|name|作用|端口|
| :----: | :----: | :----: |
|-------|----基础-----|--------|
|.init |初始脚本及配置| |
|config| 各个环境配置主入口||
|base| 工程相关基础定义常量||
|common| 公共工具类及jar引入||
|====server====|====第三方服务====||
|server/elk| 日志管理服务:(端口es:22220,logstash:4560,kibana:22222) ||
|server/file-online-preview| 文件预览服务|11001|
|server/nacos| 配置及服务发现服务/监控 |11000|
|server/redis| 缓存中间件|24000|
|server/rocketmq| rocketmq服务端 |23000|
|server/xxl-job |调度控制台|10002|
|server/springbootadmin |springboot应用监控|18080|
|server/socket-server| socket服务端|20000|
|====plugin====|====插件====||
|plugin/approval| 工作审批流||
|plugin/distributed-locking |基于redis分布式锁||
|plugin/drools |规则引擎||
|plugin/face |人脸识别||
|plugin/file| 生成文件及文件上传下载||
|plugin/i18n |国际化配置||
|plugin/jobhandler |job子例||
|plugin/mybatis-plus |orm||
|plugin/ratelimit-resid |限流||
|plugin/rocket-consumer |mq消费||
|plugin/rocket-producer |mq生产||
|plugin/socket |socket服务基类||
|plugin/spider |爬虫工具||
|plugin/web-session |菜单权限注解加载及会话鉴权,设置会话,集成第三方登陆||
|====gateway====|====网关====||
|gateway|对外网关|9527|
|====work====|====业务相关====||
|work/mainboot| 主空间业务|0|
|====tools====|====项目工具====||
|gen |基础代码生成||
### 快速开始
#### 注意
```
由于包含第三方服务文件较大,可下载zip包
第一次运行
--在mysql新建数据库pattern,nacos_config,xxl_job执行对应.init/db文件夹脚本
--在nacos控制台新建命名空间:pattern 导入最新配置压缩包nacos_config_export_*.zip
```
#### 运行顺序
``` text
首次执行 导入jar到maven
mvn install:install-file -DgroupId=com.arcsoft.face -DartifactId=arcsoft-sdk-face -Dversion=3.0.0.0 -Dpackaging=jar -Dfile=E:\pattern\pattern-plugin\pattern-face\lib\arcsoft-sdk-face-3.0.0.0.jar
```
```
1、|server/nacos启动服务
2、|server/sentinel.bat 流量防卫兵
|server/redis启动服务
|server/seata启动服务
|server/xxl-job/xxl-job-admin 启动任务控制台(可不启动)
|server/rocketmq 启动mq服务(没有涉及可不启动<控制台默认不启动>)
|server/file-online-preview (没有涉及可不启动)
|server/elk (没有涉及可不启动)
|socket-server socket服务,需先启动rocketmq(没有涉及可不启动)
3、work/serviceimplboot 通过nacos集群管理
4、work/mainboot
5、pattern-gateway
(ps:注意服务端口对应,运行前阅读对应README.MD)
```
Swagger访问
#### 待完结开发
https://arthas.aliyun.com/doc/install-detail.html#id1
私服搭建管理局域网jar包
新建一个基于Gradle编译架构的分支
编写好项目子工程的docker镜像脚本
```
│
├──base
│
├──common
│
├──config
│ ├──dev
│ ├──job-admin
│ └──uat
│
├──plugin
│ ├──approval-parent
│ │ ├──approval-controller
│ │ └──approval-service
│ ├──distributed-locking
│ ├──drools
│ ├──file
│ ├──i18n
│ ├──jobhandler
│ ├──mybatis-plus
│ ├──ratelimit-redis
│ ├──rocket-consumer
│ ├──rocket-producer
│ ├──socket
│ ├──spider
│ └──web-session
│
├──.init
│ ├──db
│ └──nacos
│ ├──config
│ └──i18n
│
├──server
│ ├──elk
│ ├──file-online-preview
│ ├──nacos
│ ├──redis
│ ├──rocketmq
│ ├──socketserver
│ ├──springbootadmin
│ └──xxl-job
│ ├──doc
│ ├──xxl-job-admin
│ ├──xxl-job-core
│ └──xxl-job-executor-samples
│
├──tools
│ ├──fileTemp
│ └────src
│ └──main
│ └──java
│ └──gen
│
└──work
├──data
├──service
└──mainboot
```
[comment]: <> (目录树生成)
[comment]: <> (npm install treer -g)
[comment]: <> (treer //查看目录树)
[comment]: <> (treer -d <指定路径>//查看指定路径的目录树)
[comment]: <> (treer -e <导出路径>//导出当前目录的目录树到特定路径下文件)
[comment]: <> (treer -i "/^regex$/"//忽略目录或文件)
[comment]: <> (windows:)
[comment]: <> (tree E:\pattern /f > E:\pattern.txt)