# elevator-cloud **Repository Path**: ssrtest/elevator-cloud ## Basic Information - **Project Name**: elevator-cloud - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 介绍 电梯分布式服务端 #### 软件架构 软件架构说明 springCloud Greenwich.SR1 版本 spring boot 2.1.5.RELEASE 版本 nacos 注册中心,配置中心 skywalking 链路跟踪 SpringCloud Gateway 网关 Hystrix 熔断 RedisRateLimit 基于redis的令牌桶限流 ribbon 负载 feign 微服务间调用(自带ribbon) mysql 数据库 mybatis orm redis 缓存 #### 目录 目录说明 baasp-gateway模块 是网关模块 baasp-backend模块 是后管模块(业务代码) #baasp-base模块 是基础模块,放公共方法/实体,以jar包形式被依赖,不可单独启动 #baasp-oauth模块 权限认证模块 #移动原来的token校验到gateway模块AuthFilter.java #移动原来的跨域配置到gateway模块CorsConfig.java #后台加入druid监控模块 localhost:8088/druid。用户密码admin,admin #移动原有解密模块到gateway模块ParamFilter.java #Ureport不能启动加载,否则注册不到注册中心上(待解决) #### 启动说明 backend、gateway 都能单独启动 如果想从网关访问业务模块,gateway必须启动,并且可以手动增加路由,(后面优化启动时候加载, 下面有动态路由说明) #### 安装教程 本地运行需要 1. 本地安装nacos 2. 本地安装redis ./redis-server redis.conf 上生产需要做集群 #### 使用说明 1. 动态路由 网关上的已有方法 新增路由 ```http request POST http://localhost:9090/route/add ``` 更新路由 ```http request POST http://localhost:9090/route/update ``` 删除路由 ```http request GET http://localhost:9090/route/delete/backend ``` 新增路由 请求参数 { "id": "backend", "predicates": [ { "name": "Path", "args": { "_genkey_0": "/api/baasp-backend/**" } } ], "filters": [ { "name": "StripPrefix", "args": { "_genkey_0": "2" } }, { "name": "RequestRateLimiter", "args": { "key-resolver": "#{@hostAddrKeyResolver}", "redis-rate-limiter.replenishRate": "1", "redis-rate-limiter.burstCapacity": "1" } }, { "name": "Hystrix", "args": { "name": "fallbackcmd", "fallbackUri": "forward:/fallback" } }, { "name": "Retry", "args": { "retries": "3", "statuses": "BAD_GATEWAY", "methods": "POST" } } ], "uri": "lb://baasp-backend", "order": 0 } { "id": "oauth", "predicates": [ { "name": "Path", "args": { "_genkey_0": "/api/baasp-oauth/**" } } ], "filters": [ { "name": "StripPrefix", "args": { "_genkey_0": "2" } }, { "name": "RequestRateLimiter", "args": { "key-resolver": "#{@hostAddrKeyResolver}", "redis-rate-limiter.replenishRate": "1", "redis-rate-limiter.burstCapacity": "1" } }, { "name": "Hystrix", "args": { "name": "fallbackcmd", "fallbackUri": "forward:/fallback" } }, { "name": "Retry", "args": { "retries": "3", "statuses": "BAD_GATEWAY", "methods": "POST" } } ], "uri": "lb://baasp-oauth", "order": 0 } 基于actuator的 刷新路由 ```http request GET http://localhost:9090/actuator/gateway/refresh ``` 查看所有路由 ```http request GET http://localhost:9090/actuator/gateway/routes ``` 查看单个路由 ```http request GET http://localhost:9090/actuator/gateway/routes/{id} ``` 2. nacos ```http request https://nacos.io/zh-cn/docs/quick-start.html ``` ```http request http://139.217.111.222:8848/nacos ``` 用户密码 nacos/nacos 注意不能用 tab 键 ,只能用空格移位。