项目代码全部开源,非阉割版,有
Spring Cloud
工作经验的 基本 无需购买付费文档一样可以玩转项目
开发文档
请看项目 开发文档
目录下的相关 md 文件,同时需要搞懂租户策略已经配置规则,暂时没有保姆级文档,如果有问题可以加作者微信反馈(错误截图,看到会回,项目怎么启动之类的请看粗略的文档,或者付费远程
),QQ群暂时不用了(MAC QQ太吃内存32G也扛不住)
付费功能
可以进微信群交流和提需求(提了不一定做,请理性付费)
赞赏 388 进微信交流群解答疑惑
- 敬请期待(微信: battcn2022)
平台账号 0000 账号 admin 密码 123456
租户账号 8888 账号 admin 密码 123456
技术交流Q群: 789517089
Vue、Spring Cloud Alibaba 2021.0.4.0、Spring Cloud 2021.0.4、Nacos、Sentinel、 Nepxion、Mybatis-Plus、多租户、灰度、Oauth2.0、Spring Security、Redis、Mysql、 ShardingJdbc、ShardingSphere
- 链路追踪:支持
skywalking
、zikpin
、pinpoint
等多种链路追踪(案例采用skywalking
) - 布局优雅:简洁、多套主题以及导览模式任意组合搭配
- 功能齐全:SAAS/多租户/RBAC权限控制全都具备,下载代码开箱即用
- 消息推送:内置基于WebSocket、Redis实现的分布式消息
- 服务治理:整合
Nepxion
框架可以快速实现蓝绿/灰度/服务治理 等强大功能 - 动态网关:支持页面配置(
Redis
)与Nacos
两种推送方式、动态开启关闭网关路由 - 网关管理:支持流量控制、拉黑名单等
- 消息总线:使用
RabbitMq
做总线用于支持动态数据
源消息广播 - 插拔组件:除去必要工程,可选的都在
options
按需使用 - 大道至简:代码优雅、简短、不管是开发前端还是后端,快就完事了,下面给出一个简单的示例
- 性能高效:集成链路追踪在2M网络环境下接口最慢不超过
300毫秒
普遍10-150 毫秒
之间 - 标准文档:集成标准的
SpringDoc => Swagger V3
功能更强大,UI更优美 - 分布式任务:整合
xxl-job
提供分布式调度任务功能 - 工作流:集成
camunda-bpm
工作流(暂未实现UI nepxion 已提供工作流案例)
Vue 开发只需要几行简短的代码即可完成单表的CRUD,大大提升开发效率
<template>
<fs-crud ref="crudRef" v-bind="crudBinding"/>
</template>
开源里面UI最好、最容易上手的、中台 、SAAS 、 多租户功能、最最少的代码实现功能
配套前端 配套的 UI
Nepxion-Discovery 蓝绿、灰度、流量保护
OpenAPi3 Swagger 标准版
Oauth2.0 OAuth2.0 知识点
wemirr-platform-bury
是一个用 shardingsphere
做分表分库收集日志的,常见埋点日志手段(存在不完善的地方,一般也用不上)
记录日志文件,EFK/ELK采集日志
日志量小的话可以写到库
日志量大可以分表分库记录埋点日志,定期清理
下载项目后请先本地 mvn install wemirr-platform-dependencies
和 mvn install wemirr-platform-framework
options 项目是本人用于测试一些中间件的工程、完全可以忽略
提供 docker-compose.yml
安装(文件在附件/docker/docker-compose.yml
)
一般安装 latest
版本即可,也可以自行指定版本 docker search
或者自己上 docker hub
看版本
如果 docker
运行开发环境,建议先创建一个网络 docker network create wemirr
后面容器都走统一网络
具体用法:
docker run --net wemirr --name xxx
必要环境
docker pull redis:latest
docker run -itd --name redis -p 6379:6379 redis
安装 Mysql
docker pull mysql:latest
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
安装 Nacos
docker pull nacos/nacos-server
docker run --name nacos -itd -p 8848:8848 -p 9848:9848 -p 9849:9849 --restart=always -e MODE=standalone nacos/nacos-server
安装 RabbitMQ
docker pull docker.io/macintoshplus/rabbitmq-management
docker run -d -p 5671:5671 -p 5672:5672 -p 15672:15672 -p 15671:15671 -p 25672:25672 rabbitmq_image_id
可选环境
## 非必须 => Sentinel 流量保护大部分公司是用不上的,如果为了技术而技术,当我没说
安装 Sentinel-Dashboard
docker pull bladex/sentinel-dashboard
docker run -i -t -d -p 8858:8858 -p 8719:8719 bladex/sentinel-dashboard
## 非必须 => 如果你没有过多的定时任务也没有对任务进行管理的要求, xxl-job 也是非必须品
安装 XXL-JOB-ADMIN(如果数据库也是docker 运行需要配置统一网络 例如: docker network create wemirr )
docker pull xuxueli/xxl-job-admin:2.3.0
docker run -e PARAMS="--spring.datasource.username=root --spring.datasource.password=123456 --spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver --spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wemirr-platform?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true" -p 9999:8080 -v /Users/battcn/Development:/data/applogs --name xxl-job-admin -d xuxueli/xxl-job-admin:2.3.0
##非必须 => 安装 skywalking(如果你公司没运维,那你大概率用不上 skywalking 如不需要使用那后面的命令都可以不用看了 )
# 8.7.0 启动有问题
docker pull elasticsearch:7.9.3
docker pull apache/skywalking-oap-server:8.5.0-es7
docker pull apache/skywalking-ui:8.5.0
# 如果要后台运行 请加 -d
docker network create wemirr
docker run --name elasticsearch --net wemirr -p 9200:9200 -p 9300:9300 -d -e "discovery.type=single-node" elasticsearch:7.9.3
docker run --name oap --net wemirr --restart always -p 1234:1234 -p 12800:12800 -p 11800:11800 -d -e SW_STORAGE=elasticsearch7 -e SW_STORAGE_ES_CLUSTER_NODES=elasticsearch:9200 apache/skywalking-oap-server:8.5.0-es7
docker run --name oap-ui --net wemirr --restart always -p 10086:8080 -d -e TZ=Asia/Shanghai -e SW_OAP_ADDRESS=oap:12800 apache/skywalking-ui:8.5.0
# IDEA 配置
VmOption -javaagent:/Users/battcn/Desktop/apache-skywalking-apm-bin/agent/skywalking-agent.jar
Environment variables SW_AGENT_NAME=wemirr-platform-gateway
Environment variables SW_AGENT_NAME=wemirr-platform-authority
# 启动命令
nohup java -javaagent:/opt/wemirr-platform/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=wemirr-platform-gateway -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar wemirr-platform-gateway.jar -d > logs/start_gateway.log &
nohup java -javaagent:/opt/wemirr-platform/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=wemirr-platform-authority -Dskywalking.collector.backend_service=127.0.0.1:11800 -jar wemirr-platform-authority.jar -d --spring.profiles.active=demo > logs/start_authority.log &