zoukankan      html  css  js  c++  java
  • application.yml中常用参数设置

    一、服务中的application.yml

    server:
      port: 9004
    spring:
      application:
        name: business
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://192.168.200.128:3306/changgou_business?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
        username: root
        password: root
      main:
        allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
      rabbitmq: #添加rabbit,连接到它的虚拟机
        host: 192.168.200.128
    eureka:
      client:
        service-url:
          defaultZone: http://127.0.0.1:6868/eureka
      instance:
        prefer-ip-address: true
    feign:
      hystrix:
        enabled: true
      client:
        config:
          default:   #配置全局的feign的调用超时时间  如果 有指定的服务配置 默认的配置不会生效
            connectTimeout: 60000 # 指定的是 消费者 连接服务提供者的连接超时时间 是否能连接  单位是毫秒
            readTimeout: 20000  # 指定的是调用服务提供者的 服务 的超时时间()  单位是毫秒
    #hystrix 配置
    hystrix:
      command:
        default:
          execution:
            timeout:
              #如果enabled设置为false,则请求超时交给ribbon控制
              enabled: true
            isolation:
              strategy: SEMAPHORE
              thread:
                # 熔断器超时时间,默认:1000/毫秒
                timeoutInMilliseconds: 20000

    1、Thread和Semaphore的区别?

    • Thread:这是比较常用的隔离策略,即根据配置把不同的命令分配到不同的线程池中,该策略的优点是隔离性好,并且可以配置断路,某个依赖被设置断路之后,系统不会再尝试新起线程运行它,而是直接提示失败,或返回fallback值;缺点是新起线程执行命令,在执行的时候必然涉及到上下文的切换,这会造成一定的性能消耗,但是Netflix做过实验,这种消耗对比其带来的价值是完全可以接受的。
    • Semaphore:开发者可以限制系统对某一个依赖的最高并发数。这个基本上就是一个限流的策略。每次调用依赖时都会检查一下是否到达信号量的限制值,

    二、Eureka中的application.yml

    server:
      port: 6868 # 微服务端口号
      eureka:
        client:
          register-with-eureka: false  #是否将自己注册到eureka中。自己不提供服务,不注册。若是集群,则注册。
      fetch-registry: false #是否从eureka中获取信息 
      service-url: defaultZone: http://127.0.0.1:${server.port}/eureka/ # EurekaServer的地址,自己的地址;如果是集群,需要写其它Server的地址。 

    三、gateway中的appliction.yml

     1 spring: #使用spring框架
     2   application:
     3     name: sysgateway
     4   cloud: #使用springcloud微服务框架
     5     gateway:
     6       globalcors: #全局配置
     7         cors-configurations:
     8           '[/**]': # 匹配所有请求
     9             allowedOrigins: "*" #跨域处理 允许所有的域
    10             allowedMethods: # 支持的方法
    11               - GET
    12               - POST
    13               - PUT
    14               - DELETE
    15       routes:
    16         # 路由id,可以随意写
    17         - id: goods  
    18           # 代理的服务地址
    19           uri: lb://goods
    20           # 路由断言,可以配置映射路径
    21           predicates:
    22             - Path=/goods/**
    23           # 过滤器
    24           filters:
    25             - StripPrefix= 1
    26             - name: RequestRateLimiter #请求数限流 名字不能随便写
    27               args:
    28                 key-resolver: "#{@ipKeyResolver}"
    29                 redis-rate-limiter.replenishRate: 1 #令牌桶每秒填充平均速率
    30                 redis-rate-limiter.burstCapacity: 1 #令牌桶总容量
    31         - id: system
    32           uri: lb://system
    33           predicates:
    34             - Path=/system/**
    35           filters:
    36             # 表示过滤1个路径,2表示两个路径,以此类推
    37             - StripPrefix= 1
    38   redis:
    39     host: 192.168.200.128
    40 server:
    41   port: 9101
    42 eureka:  # 在gateway中注册Eureka
    43   client:
    44     service-url:
    45       defaultZone: http://127.0.0.1:6868/eureka
    46   instance:
    47     prefer-ip-address: true
    spring:
      application:
        name: gateway-web
      cloud:
        gateway:
          globalcors:
            cors-configurations:
              '[/**]': # 匹配所有请求
                allowedOrigins: "*" #跨域处理 允许所有的域
                allowedMethods: # 支持的方法
                  - GET
                  - POST
                  - PUT
                  - DELETE
          routes:
            - id: changgou_goods_route
              uri: lb://goods
              predicates:
                - Path=/api/album/**,/api/brand/**,/api/cache/**,/api/categoryBrand/**,/api/category/**,/api/para/**,/api/pref/**,/api/sku/**,/api/spec/**,/api/spu/**,/api/stockBack/**,/api/template/**
              filters:
                #- PrefixPath=/brand
                - StripPrefix=1
              #用户微服务
            - id: changgou_user_route
              uri: lb://user
              predicates:
                - Path=/api/user/**,/api/address/**,/api/areas/**,/api/cities/**,/api/provinces/**
              filters:
                - StripPrefix=1
    
              #认证微服务
            - id: changgou_oauth_user
              uri: lb://user-auth
              predicates:
                - Path=/api/oauth/**
              filters:
                - StripPrefix=1
    
              #订单微服务
            - id: changgou_order_route
              uri: lb://order
              predicates:
                - Path=/api/cart/**,/api/categoryReport/**,/api/orderConfig/**,/api/order/**,/api/orderItem/**,/api/orderLog/**,/api/preferential/**,/api/returnCause/**,/api/returnOrder/**,/api/returnOrderItem/**
              filters:
                - StripPrefix=1
              #购物车订单渲染微服务
            - id: changgou_order_web_route
              uri: lb://order-web
              predicates:
                - Path=/api/wcart/**,/api/worder/**,/api/wxpay/**
              filters:
                - StripPrefix=1
            #秒杀渲染微服务
            - id: changgou_seckill_web_route
              uri: lb://seckill-web
              predicates:
                - Path=/api/wseckillgoods/**,/api/wseckillorder/**
              filters:
                - StripPrefix=1
      redis:
        host: 192.168.200.128
    server:
      port: 8001
    eureka:
      client:
        service-url:
          defaultZone: http://127.0.0.1:6868/eureka
      instance:
        prefer-ip-address: true
    management:
      endpoint:
        gateway:
          enabled: true
        web:
          exposure:
            include: true

    四、 Spring Cloud 体系技术综合应用概览 

     Spring Cloud 5大组件

    Eureka注册中心--------->管理微服务地址和状态信息

    Feign---------->微服务之间远程调用;(封装RestTemplate Ribbon)

    Gateway------->微服务统一入口。(路由+过滤器)

    Config-------->管理微服务配置文件

    Hystrix------->熔断器,防止系统雪崩

  • 相关阅读:
    【转】全国各地做生意十年的心得,忍不住上来感慨一下,诚信才是根基!
    pbootcms常用标签
    wordpress常用标签
    表格
    dedecms忘记后台密码
    新手建站基础步骤
    zblog常用插件及操作步骤
    织梦建站如何添加视频文件
    #Centos7.4#Shell中判断语句if中-z至-d的意思
    #Centos7.4#Linux虚拟机KVM配置网卡【Requested operation is not valid: network 'br0' is not active】
  • 原文地址:https://www.cnblogs.com/aaaazzzz/p/12458262.html
Copyright © 2011-2022 走看看