Giter VIP home page Giter VIP logo

best-cloud's Introduction

best-admin

介绍

该项目主要是一个用于开发的基础框架,以供给自己快速开发项目,也准备制作一般以Spring Cloud技术栈实现的

功能实现

实现功能 是否已实现
JWT验证登陆
RABC动态权限管理
动态分配菜单
Swagger2-api文档查看、导出
动态配置定时任务
动态定时任务增加第三方http接口的调用 -
加入 Oauth2 实现第三方登陆 -
多种方式授权 -
加入Spring Cloud 微服务化 -
加入Dockerfile直接打包部署到服务器

微服务组件选型

微服务组件的更新实在是太快了,短短半年时间Netflix对微服务的各种组件各种停更、定制维护,据说原因有团队的调整、微服务的服务方便有所改变。但是由于停更的原因我们也需要用其他组件时间在原来基础的功能甚至拓展这些功能。该项目的技术栈线主要使用Spring Cloud Alibaba

组件功能 组件
服务发现 Nacos
配置中心 Nacos
服务熔断 Sentinel
分布式事务 Seata
消息队列 RocketMQ

版本说明

Spring Cloud Alibaba 版本说明

相关技术

该项目使用的相关技术/工具主要有:

  • Spring Boot
  • Spring Security
  • JWT
  • Druid
  • Vue
  • Redis
  • Swagger2
  • Docker

建表语句

基础服务建表语句: 在sql文件夹下

oauth2授权信息持久化建表: https://github.com/spring-projects/spring-security-oauth/blob/master/spring-security-oauth2/src/test/resources/schema.sql

生成密钥库jwt.jks

keytool -genkey -alias best-cloud -keyalg RSA -keypass 123456 -storepass 123456 -keystore jwt.jks


-genkey 生成密钥

-alias 别名

-keyalg 密钥算法

-keypass 密钥口令

-keystore 生成密钥库的存储路径和名称

-storepass 密钥库口令

环境要求

执行指南

1. 启动 Nacos (详细文档)

  1. 下载/更新源码或下载发行包,详细点击查看

    1. 直接下载:Nacos Server 下载页
    2. 源码构建:进入 Nacos Github 项目页面 ,将代码 git clone 到本地自行编译打包,参考此文档
  2. 启动Nacos

Linux/Unix/Mac 启动命令(standalone代表着单机模式运行,非集群模式): sh startup.sh -m standalone

如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行: bash startup.sh -m standalone

Windows 启动命令(standalone代表着单机模式运行,非集群模式): startup.cmd -m standalone

  • Docker 启动
mkdir -p /home/nacos/logs/                      #新建logs目录
mkdir -p /home/nacos/init.d/
vim /home/nacos/init.d/custom.properties        #修改配置文件

git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

# 单机模式 Derby
docker-compose -f example/standalone-derby.yaml up

# 如果希望使用MySQL5.7
docker-compose -f example/standalone-mysql-5.7.yaml up

# 如果希望使用MySQL8
docker-compose -f example/standalone-mysql-8.yaml up

# 集群模式
docker-compose -f example/cluster-hostname.yaml up 

docker run \
  --name nacos-standalone \
  -e MODE=standalone -p 8848:8848 \
  -d nacos/nacos-server:latest
  • K8S
git clone https://github.com/nacos-group/nacos-k8s.git

2. 启动 Sentinel (详细文档)

  1. 首先需要获取 Sentinel 控制台,支持直接下载和源码构建两种方式。

    1. 直接下载:下载 Sentinel 控制台
    2. 源码构建:进入 Sentinel Github 项目页面 ,将代码 git clone 到本地自行编译打包,参考此文档
  2. 启动控制台,执行 Java 命令 java -jar sentinel-dashboard.jar完成 Sentinel 控制台的启动。 控制台默认的监听端口为 8080。Sentinel 控制台使用 Spring Boot 编程模型开发,如果需要指定其他端口,请使用 Spring Boot 容器配置的标准方式,详情请参考 Spring Boot 文档

  • Docker 启动

    Sentinel 没有官方的镜像,所以使用Dockerfile构建镜像(请看路径/middleware/sentinel)

    docker run \
      --name sentinel \
      -p 18080:18080 \
      -d sentinel-dashboard:1.8.0

RSA证书

# 生成RSA证书
# -genkey 生成密钥
# -alias 别名
# -keyalg 密钥算法
# -keypass 密钥口令
# -keystore 生成密钥库的存储路径和名称
# -storepass 密钥库口令

keytool -genkey -alias jwt -keyalg RSA -keystore jwt.jks

keytool -genkey -alias <alias> -keyalg RSA -keypass <keypass> -keystore <filename>.jks -storepass <storepass>

best-cloud's People

Contributors

shanzhaozhen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.