📄 更新README

This commit is contained in:
smallchill 2019-02-10 19:46:56 +08:00
parent 6aac38dc01
commit 761d322a03
10 changed files with 13 additions and 143 deletions

View File

@ -3,7 +3,7 @@
* SpringBlade 致力于创造新颖的开发模式,将开发中遇到的痛点、生产中所踩的坑整理归纳,并将解决方案都融合到框架中。
## 官网
官网地址: [https://bladex.vip](https://bladex.vip)
官网地址[https://bladex.vip](https://bladex.vip)
## 在线演示
演示地址:[https://sword.bladex.vip](https://sword.bladex.vip)
@ -12,9 +12,10 @@
* 采用前后端分离的模式,前端单独开源出一个框架:[Sword](https://gitee.com/smallc/Sword)主要选型技术为React、Ant Design、Umi、Dva
* 后端采用SpringCloud全家桶并同时对其基础组件做了高度的封装单独开源出一个框架[Blade-Tool](https://github.com/chillzhuang/blade-tool.git)
* [Blade-Tool](https://github.com/chillzhuang/blade-tool.git)已推送至Maven中央库直接引入即可减少了工程的臃肿也可更注重于业务开发
* 注册中心选型Consul
* 集成Sentinel从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
* 注册中心、配置中心选型Nacos为工程瘦身的同时加强各模块之间的联动。
* 使用Traefik进行反向代理监听后台变化自动化应用新的配置文件。
* 部署使用Docker或K8s + Jenkins
* 使用Traefik进行反向代理
* 踩了踩Kong的坑有个基本的使用方案但不深入因为涉及到OpenResty。
* 封装了简单的Secure模块采用JWT做Token认证可拓展集成Redis等细颗粒度控制方案
* 在2.0诞生之前已经稳定生产了近一年经历了从Camden -> Finchley的技术架构也经历了从fat jar -> docker -> k8s + jenkins的部署架构
@ -32,7 +33,6 @@ SpringBlade
├── blade-ops -- 运维中心
├ ├── blade-admin -- spring-cloud后台管理
├ ├── blade-codegen -- 代码生成
├ └── blade-config-server -- 配置中心
├── blade-service -- 业务模块
├ ├── blade-desk -- 工作台模块
├ ├── blade-log -- 日志模块
@ -72,14 +72,6 @@ Apache Licence也是对商业应用友好的许可。使用者也可以在需要
注意若禁止条款被发现有权追讨19999的授权费。
## 如何启动
* 安装Lombok Plugin、idea可选装MyBatisX
* [开启consul](https://gitee.com/smallc/SpringBlade/blob/master/doc/consul/consul.md)redismysql
* fork ([bladex-config](https://gitee.com/smallc/bladex-config))项目,修改数据库等相关链接
* 修改 `blade-config-server` 工程 `bootstrap.yml中config.server.git.uri` 的值为新fork项目的地址
* 先启动 `blade-config-server`
* 再依次启动其余模块
## 注
* SpringBlade前端UI项目地址[Sword](https://gitee.com/smallc/Sword)
* SpringBlade核心框架项目地址[Blade-Tool](https://github.com/chillzhuang/blade-tool.git)
@ -101,8 +93,8 @@ Apache Licence也是对商业应用友好的许可。使用者也可以在需要
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-traefik-health.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-consul.png"/></td>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-consul-nodes1.png"/></td>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-nacos.png"/></td>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-sentinel.png"/></td>
</tr>
<tr>
<td><img src="https://gitee.com/smallc/SpringBlade/raw/master/pic/springblade-admin1.png"/></td>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

BIN
pic/springblade-nacos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 145 KiB

View File

@ -1,14 +1,14 @@
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm|rmiNoneTag|services|health]"
echo "Usage: sh 执行脚本.sh [port|base|modules|stop|rm|rmiNoneTag]"
exit 1
}
#开启所需端口
port(){
firewall-cmd --add-port=88/tcp --permanent
firewall-cmd --add-port=8500/tcp --permanent
firewall-cmd --add-port=8848/tcp --permanent
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --add-port=3379/tcp --permanent
firewall-cmd --add-port=7002/tcp --permanent
@ -21,7 +21,7 @@ base(){
mkdir /docker/nginx
cp nginx.conf /docker/nginx/nginx.conf
fi
docker-compose up -d consul-server1 consul-server2 consul-server3 consul-node1 consul-node2 consul-nginx blade-redis blade-gateway1 blade-gateway2 blade-gateway3 blade-config-server blade-admin
docker-compose up -d blade-nginx blade-redis blade-gateway1 blade-gateway2 blade-gateway3 blade-admin
}
#启动程序模块
@ -29,18 +29,6 @@ modules(){
docker-compose up -d blade-auth blade-user blade-desk blade-system blade-log
}
#获取注册服务
services(){
RESULT=$(curl -s 127.0.0.1:8500/v1/catalog/services)
echo $RESULT
}
#获取检查健康
health(){
RESULT=$(curl -s 127.0.0.1:8500/v1/health/checks/blade-config-server)
echo $RESULT
}
#关闭所有模块
stop(){
docker-compose stop
@ -76,12 +64,6 @@ case "$1" in
"rmiNoneTag")
rmiNoneTag
;;
"services")
services
;;
"health")
health
;;
*)
usage
;;

View File

@ -1,71 +1,8 @@
version: '3'
services:
consul-server1:
image: consul:1.3.1
hostname: "consul-server1"
volumes:
- /docker/consul/data1:/consul/data
command: "agent -server -bootstrap-expect 3 -ui -disable-host-node-id -client 0.0.0.0"
privileged: true
restart: always
networks:
blade_net:
ipv4_address: 172.30.0.51
consul-server2:
image: consul:1.3.1
depends_on:
- consul-server1
hostname: "consul-server2"
volumes:
- /docker/consul/data2:/consul/data
command: "agent -server -ui -join consul-server1 -disable-host-node-id -client 0.0.0.0"
privileged: true
restart: always
networks:
blade_net:
ipv4_address: 172.30.0.52
consul-server3:
image: consul:1.3.1
depends_on:
- consul-server1
hostname: "consul-server3"
volumes:
- /docker/consul/data3:/consul/data
command: "agent -server -ui -join consul-server1 -disable-host-node-id -client 0.0.0.0"
privileged: true
restart: always
networks:
blade_net:
ipv4_address: 172.30.0.53
consul-node1:
image: consul:1.3.1
depends_on:
- consul-server1
hostname: "consul-node1"
command: "agent -join consul-server1 -disable-host-node-id"
privileged: true
restart: always
networks:
- blade_net
consul-node2:
image: consul:1.3.1
depends_on:
- consul-server1
hostname: "consul-node2"
command: "agent -join consul-server1 -disable-host-node-id"
privileged: true
restart: always
networks:
- blade_net
consul-nginx:
blade-nginx:
image: nginx:stable-alpine-perl
depends_on:
- consul-server1
hostname: "consul-nginx"
ports:
- 8500:8500
@ -90,19 +27,8 @@ services:
networks:
- blade_net
blade-config-server:
image: "${REGISTER}/blade-config-server:${TAG}"
depends_on:
- consul-server1
privileged: true
restart: always
networks:
- blade_net
blade-admin:
image: "${REGISTER}/blade-admin:${TAG}"
depends_on:
- blade-config-server
ports:
- 7002:7002
privileged: true
@ -112,8 +38,6 @@ services:
blade-gateway1:
image: "${REGISTER}/blade-gateway:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -122,8 +46,6 @@ services:
blade-gateway2:
image: "${REGISTER}/blade-gateway:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -132,8 +54,6 @@ services:
blade-gateway3:
image: "${REGISTER}/blade-gateway:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -142,8 +62,6 @@ services:
blade-auth:
image: "${REGISTER}/blade-auth:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -151,8 +69,6 @@ services:
blade-log:
image: "${REGISTER}/blade-log:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -160,8 +76,6 @@ services:
blade-desk:
image: "${REGISTER}/blade-desk:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -169,8 +83,6 @@ services:
blade-user:
image: "${REGISTER}/blade-user:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:
@ -178,8 +90,6 @@ services:
blade-system:
image: "${REGISTER}/blade-system:${TAG}"
depends_on:
- blade-config-server
privileged: true
restart: always
networks:

3
script/docker/nacos.md Normal file
View File

@ -0,0 +1,3 @@
* SpringBlade的注册中心
* 具体文档详见https://nacos.io/zh-cn/docs/quick-start.html
* docker部署详见https://github.com/nacos-group/nacos-docker

View File

@ -30,29 +30,12 @@ http {
#include /etc/nginx/conf.d/*.conf;
upstream consul {
server 172.30.0.51:8500;
server 172.30.0.52:8500;
server 172.30.0.53:8500;
}
upstream gateway {
server 172.30.0.81;
server 172.30.0.82;
server 172.30.0.83;
}
server {
listen 8500;
server_name consul;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
proxy_pass http://consul;
}
}
server {
listen 88;