1.3 部署SaaS系统
1.3.1 初始化数据
执行“资料”下的 “huiminpay_saas.sql” 脚本导入SaaS系统数据库。
1.3.2 部署服务
- 复制huiminpay-gateway、huiminpay-uaa、huiminpay-user到huiminpay父工程
- 添加上述三个Module
- 完成后,整体目录结构如下:
1.3.3 完善配置
1.3.3.1 网关服务
- 在Nacos上添加jwt.yaml配置,Group: COMMON_GROUP,如下图所示
siging‐key:
huimin123
2.将授课资料中的gateway-service.yaml配置添加到Nacos上,Group:huiminpay_GROUP
#路由规则
zuul:
retryable: true
add-host-header: true
ignoredServices: "*"
sensitiveHeaders: "*"
routes:
operation-application:
path: /operation/**
stripPrefix: false
merchant-application:
path: /merchant/**
stripPrefix: false
uaa-service:
path: /uaa/**
stripPrefix: false
feign:
hystrix:
enabled: true
compression:
request:
enabled: true # 配置请求GZIP压缩
mime-types: ["text/xml","application/xml","application/json"] # 配置压缩支持的MIME TYPE
min-request-size: 2048 # 配置压缩数据大小的下限
response:
enabled: true # 配置响应GZIP压缩
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 93000 # 设置熔断超时时间 default 1000
timeout:
enabled: true # 打开超时熔断功能 default true
ribbon:
nacos:
enabled: true # 不知道是否生效
ConnectTimeout: 3000 # 设置连接超时时间 default 2000
ReadTimeout: 20000 # 设置读取超时时间 default 5000
OkToRetryOnAllOperations: false # 对所有操作请求都进行重试 default false
MaxAutoRetriesNextServer: 1 # 切换实例的重试次数 default 1
MaxAutoRetries: 1 # 对当前实例的重试次数 default 0
配置内容参考“资料”文件夹。
- 修改huiminpay-gateway-service工程下的bootstrap.yml中namespace为自己Nacos中的namespace id
server:
port: 56010 #启动端口 命令行注入
max-http-header-size: 100KB
nacos:
server:
addr: 127.0.0.1:8848
spring:
application:
name: gateway-service
main:
allow-bean-definition-overriding: true # Spring Boot 2.1 需要设定
cloud:
nacos:
discovery:
server-addr: ${nacos.server.addr}
namespace: fd0c7c10-738e-4118-831a-882185e09518
cluster-name: DEFAULT
config:
server-addr: ${nacos.server.addr} # 配置中心地址
file-extension: yaml
namespace: fd0c7c10-738e-4118-831a-882185e09518
group: huiminpay_GROUP # 聚合支付业务组
extension-configs[0]:
refresh: true
data-id: jwt.yaml # jwt配置
group: DEFAULT_GROUP # 通用配置组
logging:
config: classpath:log4j2.xml
1.3.3.2 UAA服务
- 在Nacos中添加uaa-service.yaml配置,Group:huiminpay_GROUP
server:
servlet:
context-path: /uaa
# 覆盖spring‐boot‐starter‐druid.yaml的项目
spring:
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/huiminpay_uaa?useUnicode=true&characterEncoding=utf8&serverTimeznotallow=Asia/Shanghai&useSSL=false
username: root
password: 123456
- 修改huiminpay-uaa-service工程下的bootstrap.yml中namespace为自己Nacos中的namespace id
server:
port: 56020 #启动端口 命令行注入
max-http-header-size: 100KB
nacos:
server:
addr: 127.0.0.1:8848
spring:
application:
name: uaa-service
main:
allow-bean-definition-overriding: true # Spring Boot 2.1 需要设定
cloud:
nacos:
discovery:
server-addr: ${nacos.server.addr}
namespace: fd0c7c10-738e-4118-831a-882185e09518
cluster-name: DEFAULT
config:
server-addr: ${nacos.server.addr} # 配置中心地址
file-extension: yaml
namespace: fd0c7c10-738e-4118-831a-882185e09518
group: huiminPAY_GROUP # 聚合支付业务组
extension-configs[0]:
refresh: true
data-id: spring-boot-http.yaml # spring boot http配置
group: DEFAULT_GROUP # 通用配置组
extension-configs[1]:
refresh: true
data-id: spring-boot-starter-druid.yaml # spring boot starter druid配置
group: DEFAULT_GROUP # 通用配置组
extension-configs[2]:
refresh: true
data-id: jwt.yaml # jwt配置
group: DEFAULT_GROUP # 通用配置组
dubbo:
scan:
# dubbo 服务扫描基准包
base-packages: com.huiminpay
protocol:
# dubbo 协议
name: dubbo
port: 20881
registry:
address: nacos://127.0.0.1:8848
application:
qos:
port: 22220 # dubbo qos端口配置 命令行注入
consumer:
check: false
timeout: 3000
retries: -1
logging:
config: classpath:log4j2.xml
1.3.3.3 统一账户服务
- 在Nacos中添加user-service.yaml配置,Group:huiminpay_GROUP
server:
servlet:
context-path: /user
# 覆盖spring‐boot‐starter‐druid.yaml的项目
spring:
datasource:
druid:
url: jdbc:mysql://127.0.0.1:3306/huiminpay_user?useUnicode=true&characterEncoding=utf8&serverTimeznotallow=Asia/Shanghai&useSSL=false
username: root
password: 123456
mybatis-plus:
type-aliases-package: com.huiminpay.user.entity
mapper-locations: classpath:com/huiminpay/*/mapper/xml/*.xml
sms:
url: "http://localhost:56085/sailing"
effectiveTime: 6000
- 修改huiminpay-user-service工程下的bootstrap.yml中namespace为自己Nacos中的namespace id
server:
port: 56030 #启动端口 命令行注入
nacos:
server:
addr: 127.0.0.1:8848
spring:
application:
name: user-service
main:
allow-bean-definition-overriding: true # Spring Boot 2.1 需要设定
cloud:
nacos:
discovery:
server-addr: ${nacos.server.addr}
namespace: fd0c7c10-738e-4118-831a-882185e09518
cluster-name: DEFAULT
config:
server-addr: ${nacos.server.addr} # 配置中心地址
file-extension: yaml
namespace: fd0c7c10-738e-4118-831a-882185e09518 # 默认开发环境
group: huiminPAY_GROUP # 聚合支付业务组
extension-configs[0]:
refresh: true
data-id: spring-boot-http.yaml # spring boot http配置
group: DEFAULT_GROUP # 通用配置组
extension-configs[1]:
refresh: true
data-id: spring-boot-starter-druid.yaml # spring boot starter druid配置
group: DEFAULT_GROUP # 通用配置组
extension-configs[2]:
refresh: true
data-id: spring-boot-mybatis-plus.yaml # spring boot mybatisplus配置
group: DEFAULT_GROUP # 通用配置组
dubbo:
scan:
# dubbo 服务扫描基准包
base-packages: com.huiminpay
protocol:
# dubbo 协议
name: dubbo
port: 20880
registry:
address: nacos://127.0.0.1:8848
application:
qos:
port: 22230 # dubbo qos端口配置 命令行注入
consumer:
check: false
timeout: 3000
retries: -1
logging:
config: classpath:log4j2.xml
如果出现classNotFound......
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>