hitch-account的 application.yml文件
spring:
redis:
host: @redis.host@
port: @redis.port@
timeout: 1000
jedis:
pool:
max-active: 8
max-wait: 1000
max-idle: 500
min-idle: 0
baidu:
apikey: 1bWiPw7AkKT09OhslQMRFf0S
secretkey: 0muaHpO6Lp5FIppMP5MZwqAIN7i7IaXo
这段配置是Spring框架中用于配置Redis连接池和百度API密钥的属性文件。下面是对每个部分的详细解释:
Spring Redis 配置
spring:
redis:
host: @redis.host@ # Redis服务器的主机地址
port: @redis.port@ # Redis服务器的端口号
timeout: 1000 # 连接超时时间,单位为毫秒
jedis:
pool:
max-active: 8 # 连接池中最大活跃连接数
max-wait: 1000 # 当连接池耗尽时,获取连接的最大等待时间,单位为毫秒
max-idle: 500 # 连接池中允许的最大空闲连接数
min-idle: 0 # 连接池中保持的最小空闲连接数
host
和port
属性定义了Redis服务器的位置。timeout
属性设置了连接Redis的超时时间。jedis.pool
下的属性定义了Jedis连接池的配置,包括最大活跃连接数、最大等待时间、最大空闲连接数和最小空闲连接数。
百度API密钥配置
baidu:
apikey: 1bWiPw7AkKT09OhslQMRFf0S # 百度API的公钥
secretkey: 0muaHpO6Lp5FIppMP5MZwqAIN7i7IaXo # 百度API的私钥
apikey
是百度API的公钥,用于标识应用程序。secretkey
是百度API的私钥,用于验证应用程序的身份。
注意事项
@redis.host@
和@redis.port@
是占位符,需要在实际部署时替换为具体的Redis服务器地址和端口。API密钥和私钥是敏感信息,应该妥善保管,避免泄露。
这些配置通常放在Spring Boot项目的
application.yml
或application.properties
文件中。如果使用的是Spring Cloud Config或其他配置中心,这些属性可能会从外部配置服务器获取。
在实际应用中,你需要根据你的环境和需求调整这些配置值。例如,如果你的Redis服务器运行在本地,host
可能是localhost
,port
可能是6379
。
hitch-gateway的 application.yml文件
server:
port: @project.server.prot@
spring:
application:
name: @project.server.name@
cloud:
nacos:
server-addr: @nacos.addr@
gateway:
routes:
# 账户服务API代理
- id: hitch-account-server
uri: lb://hitch-account-server
predicates:
- Path=/account/**
# 库存服务API代理
- id: hitch-storage-server
uri: lb://hitch-storage-server
predicates:
- Path=/storage/**
# 行程服务
- id: hitch-stroke-server
uri: lb://hitch-stroke-server
predicates:
- Path=/stroke/**
# 订单服务
- id: hitch-order-server
uri: lb://hitch-order-server
predicates:
- Path=/order/**
# 支付管理
- id: hitch-payment-server
uri: lb://hitch-payment-server
predicates:
- Path=/payment/**
# 存储管理
- id: hitch-storage-server
uri: lb://hitch-storage-server
predicates:
- Path=/storage/**
# 通知服务
- id: hitch-notice-server
uri: lb://hitch-notice-server
predicates:
- Path=/notice/**
# 消息推送服务 websocket代理
- id: hitch-notice-service-ws
uri: lb:ws://hitch-notice-service
predicates:
- Path=/ws/**
default-filters:
- TokenAuth=/account/api/login;/account/api/register;/payment/api/nofify
redis:
host: @redis.host@
port: @redis.port@
timeout: 1000
这段配置是Spring Cloud Gateway的路由配置,它定义了如何将进入网关的请求路由到不同的微服务。以下是对配置中各部分的详细解释:
服务器端口和应用名称
server:
port: @project.server.prot@
spring:
application:
name: @project.server.name@
server.port
: 定义了网关服务监听的端口号。spring.application.name
: 定义了应用的名称,通常用于服务注册和发现。
Nacos配置
spring:
cloud:
nacos:
server-addr: @nacos.addr@
spring.cloud.nacos.server-addr
: 指定了Nacos服务器的地址,用于服务注册与发现。
网关路由配置
spring:
cloud:
gateway:
routes:
# ... (多个路由规则)
这部分定义了一系列的路由规则,每个规则包含以下属性:
id
: 路由的唯一标识。uri
: 目标服务的地址,使用lb://
前缀表示使用负载均衡。predicates
: 路由条件,例如Path=/account/**
表示匹配所有以/account/
开头的请求。对于WebSocket服务,使用了
lb:ws://
前缀来指定WebSocket协议。
默认过滤器
default-filters:
- TokenAuth=/account/api/login;/account/api/register;/payment/api/nofify
TokenAuth
: 自定义过滤器,用于对特定路径的请求进行Token认证。这里列出了不需要认证的路径。
Redis配置
spring:
redis:
host: @redis.host@
port: @redis.port@
timeout: 1000
spring.redis.host
: Redis服务器的主机地址。spring.redis.port
: Redis服务器的端口号。spring.redis.timeout
: 连接Redis的超时时间(毫秒)。
注意事项
所有的
@...@
占位符需要在部署时替换为实际的值。路由配置中的服务名称(如
hitch-account-server
)需要与实际注册到Nacos或其他服务注册中心的服务名称一致。如果有多个相同的路由ID(如两个
hitch-storage-server
),后面的配置会覆盖前面的。TokenAuth
过滤器需要自定义实现,这里只是示例路径,实际应用中应根据安全策略进行配置。
此配置文件展示了如何使用Spring Cloud Gateway来管理和路由微服务架构中的请求,以及如何集成Nacos进行服务发现和配置Redis作为缓存或会话存储。