黑马打车

2024-09-19

33
0

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       # 连接池中保持的最小空闲连接数
  • hostport 属性定义了Redis服务器的位置。

  • timeout 属性设置了连接Redis的超时时间。

  • jedis.pool 下的属性定义了Jedis连接池的配置,包括最大活跃连接数、最大等待时间、最大空闲连接数和最小空闲连接数。

百度API密钥配置

baidu:
  apikey: 1bWiPw7AkKT09OhslQMRFf0S  # 百度API的公钥
  secretkey: 0muaHpO6Lp5FIppMP5MZwqAIN7i7IaXo  # 百度API的私钥
  • apikey 是百度API的公钥,用于标识应用程序。

  • secretkey 是百度API的私钥,用于验证应用程序的身份。

注意事项

  1. @redis.host@@redis.port@ 是占位符,需要在实际部署时替换为具体的Redis服务器地址和端口。

  2. API密钥和私钥是敏感信息,应该妥善保管,避免泄露。

  3. 这些配置通常放在Spring Boot项目的application.ymlapplication.properties文件中。

  4. 如果使用的是Spring Cloud Config或其他配置中心,这些属性可能会从外部配置服务器获取。

在实际应用中,你需要根据你的环境和需求调整这些配置值。例如,如果你的Redis服务器运行在本地,host可能是localhostport可能是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作为缓存或会话存储。