feat(master): 整个工程完结

代码完成
master
土豆兄弟 3 days ago
parent 03aa1d6f03
commit 00c596e256

@ -19,9 +19,10 @@
- [dev-protocol-springcloud-project-service-config](dev-protocol-springcloud-project-service-config) 通用依赖
- [dev-protocol-springcloud-project-order-service](dev-protocol-springcloud-project-order-service) 应用服务举例
- 网关动态限流 - (SpringCloud Alibaba Sentinel)
- todo
- [dev-protocol-springcloud-sentinel](dev-protocol-springcloud-sentinel)
- [dev-protocol-springcloud-gateway](dev-protocol-springcloud-gateway)
- 微服务工程部署与整体可用性验证
- todo
- [prod-files](prod-files)
## 通用工程模块

@ -1,5 +1,5 @@
### 登录 -> 向网关发
POST 127.0.0.1:9001/dev-protocol-springcloud-gateway/e-commerce/login
POST 127.0.0.1:9001/dev-protocol-springcloud-gateway/dev-protocol-springcloud-gateway/login
Content-Type: application/json
{
@ -8,7 +8,7 @@ Content-Type: application/json
}
### 注册 -> 向网关发
POST 127.0.0.1:9001/dev-protocol-springcloud-gateway/e-commerce/register
POST 127.0.0.1:9001/dev-protocol-springcloud-gateway/dev-protocol-springcloud-gateway/register
Content-Type: application/json
{

@ -10,4 +10,4 @@ Accept: application/json
GET http://127.0.0.1:9001/imooc/dev-protocol-spring-cloud-nacos/sleuth/trace-info
Accept: application/json
e-commerce-user: eyJhbGciOiJSUzI1NiJ9.eyJlLWNvbW1lcmNlLXVzZXIiOiJ7XCJpZFwiOjE3LFwidXNlcm5hbWVcIjpcIkltb29jUWlueWlAaW1vb2MuY29tXCJ9IiwianRpIjoiMGIxNzQyYWItMWU3OC00OTZjLWIyNTAtMjNkZGQ1ZGEyZTU1IiwiZXhwIjoxNjI0MjA0ODAwfQ.QKGHzohSHdYDHzUVHpe9gNPUgzfkPwrSbB-WiMWYjLlt2tr9BufzZM8bSt-whb_bd0hKoC6rkYYO0WUVR67uSML-2yaTL1xMIn8GH9Flyig3rpO4vefL3Hp2TXIpwHHa7WlKsLzcUpNk9lxWs2B5k0ICdYCH_jD5Tx6N7CzfSUG9u4fOnVeM9UFE2nX_DURupUh_DKCc2oOoMeyCSR7Ma8-Ab4WQU3r-U0YivR8G1A0kmKOIoTeRhM3LcPuxUPh3rCbrjzMg--fexRGw0O38Qsby6pz-ku2IlTyFXY6_jNOG1BZR34-jBOnaIciP1TExw9bFumeuC2GcowTHJVH1Nw
token: imooc
token: q

@ -0,0 +1,18 @@
# 上线文档
## 3. 常用命令
- 打包命令
- mvn clean package -Dmaven.test.skip=true
- 执行运行脚本
- sh play.sh start
## 4. Nginx 配置
## 5. 对外服务接口 HTTP 脚本编写
## 6.

@ -0,0 +1,17 @@
### 登录 -> 产生 Token, 用于下面的测试
POST http://www.dev-protocol/dev-protocol-springcloud-gateway/dev-protocol-springcloud-gateway/login
Content-Type: application/json
{
"username": "q@by.com",
"password": "25d55ad283aa400af464c76d713c07ad"
}
### 查询服务 -> 传入一个 serviceId | 转发链路: Nginx -> Gateway -> MicroService
GET http://www.dev-protocol/dev-protocol-springcloud-gateway/dev-protocol-spring-cloud-nacos/nacos-client/service-instance?serviceId=[输入 serviceId]
Accept: application/json
e-commerce-user: [上面的Token]
token: q
###

@ -0,0 +1,139 @@
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
# access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
# dev-protocol-springcloud: backend Service - gateway
upstream dev-protocol-springcloud {
server 127.0.0.1:9001;
}
# dev-protocol-springcloud: SpringBoot Admin Service
upstream dev-protocol-springcloud-admin {
server 127.0.0.1:7001;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
# dev-protocol-springcloud: backend service - gateway
location /dev-protocol-springcloud-gateway {
proxy_pass http://dev-protocol-springcloud/dev-protocol-springcloud-gateway;
}
# dev-protocol-springcloud: SpringBoot Admin Service(need load css, js, png... static file)
location /dev-protocol-springcloud-admin {
proxy_pass http://dev-protocol-springcloud-admin/dev-protocol-springcloud-admin;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include servers/*;
}

@ -0,0 +1,123 @@
#!/bin/bash
# 指定本地 Java 路径
JDK_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java"
# 虚拟机的相关属性配置
## 内存大小
VM_OPTS="-Xms2048m -Xmx2048m"
# SpringBoot 的相关属性配置
SPB_OPTS="--spring.profiles.active=dev"
# 项目的绝对路径
APP_LOCATION="/home/app/web/dev-protocol-springcloud.jar"
# 显示的项目名称
APP_NAME="dev-protocol-springcloud"
# 获取进程ID
PID_CMD="ps -ef |grep $APP_NAME |grep -v grep |awk '{print \$2}'"
# 启动
start() {
echo "=============================start=============================="
PID=$(eval "$PID_CMD")
if [[ -n $PID ]]; then
echo "$APP_NAME is already running, PID is $PID"
else
# nohup $JDK_HOME "$VM_OPTS" -jar $APP_LOCATION $SPB_OPTS >/dev/null 2>\$1 &
nohup $JDK_HOME -jar $APP_LOCATION >/dev/null 2>\$1 &
echo "nohup $JDK_HOME -jar $APP_LOCATION >/dev/null 2>\$1 &"
PID=$(eval "$PID_CMD")
if [[ -n $PID ]]; then
echo "Start $APP_NAME successfully, PID is $PID"
else
echo "Failed to start $APP_NAME !!!"
fi
fi
echo "=============================start=============================="
}
# 停止
stop() {
echo "=============================stop=============================="
PID=$(eval "$PID_CMD")
if [[ -n $PID ]]; then
kill -15 "$PID"
sleep 2
PID=$(eval "$PID_CMD")
if [[ -n $PID ]]; then
echo "Stop $APP_NAME failed by kill -15 $PID, begin to kill -9 $PID"
kill -9 "$PID"
sleep 2
echo "Stop $APP_NAME successfully by kill -9 $PID"
else
echo "Stop $APP_NAME successfully by kill -15 $PID"
fi
else
echo "$APP_NAME is not running!!!"
fi
echo "=============================stop=============================="
}
# 重启
restart() {
echo "=============================restart=============================="
stop
start
echo "=============================restart=============================="
}
# 状态
status() {
echo "=============================status=============================="
PID=$(eval "$PID_CMD")
if [[ -n $PID ]]; then
echo "$APP_NAME is running, PID is $PID"
else
echo "$APP_NAME is not running!!!"
fi
echo "=============================status=============================="
}
# 输出当前工程中用的变量信息
info() {
echo "=============================info=============================="
echo "APP_LOCATION: $APP_LOCATION"
echo "APP_NAME: $APP_NAME"
echo "JDK_HOME: $JDK_HOME"
echo "VM_OPTS: $VM_OPTS"
echo "SPB_OPTS: $SPB_OPTS"
echo "=============================info=============================="
}
# 对脚本使用方式声明
help() {
echo "start: start server"
echo "stop: shutdown server"
echo "restart: restart server"
echo "status: display status of server"
echo "info: display info of server"
echo "help: help info"
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
status)
status
;;
info)
info
;;
help)
help
;;
*)
help
;;
esac
exit $?
Loading…
Cancel
Save