简介

开源里面UI较好、较容易上手的、中台 、SAAS 、 多租户功能、最最少的代码实现功能的快速开发平台。

特点

  • 链路追踪: 支持 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>

效果图

多租户saas架构的脚手架 saas多租户开源框架 php_开源

多租户saas架构的脚手架 saas多租户开源框架 php_开源_02

多租户saas架构的脚手架 saas多租户开源框架 php_多租户saas架构的脚手架_03

多租户saas架构的脚手架 saas多租户开源框架 php_开源_04

多租户saas架构的脚手架 saas多租户开源框架 php_多租户saas架构的脚手架_05

多租户saas架构的脚手架 saas多租户开源框架 php_开源_06

多租户saas架构的脚手架 saas多租户开源框架 php_多租户快速开发平台_07

多租户saas架构的脚手架 saas多租户开源框架 php_多租户saas架构的脚手架_08

多租户saas架构的脚手架 saas多租户开源框架 php_开源_09

安装

提供 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 &

开源地址