文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

浅谈springcloud常用依赖和配置

2024-04-02 19:55

关注

spring cloud常用依赖和配置整理

在这里插入图片描述

常用依赖


// pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.roit</groupId>
    <artifactId>config</artifactId>
    <version>1.0.0</version>

    <!-- 微服务的包   -->
    <packaging>pom</packaging>

    <!-- spring-boot 父工程   -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!--    spring-cloud  依赖 https://spring.io/projects/spring-cloud     -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR7</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--     启动类长运行配置 @SpringBootApplication      -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>

            <!--    eureka 服务端  @EnableConfigServer  http://localhost:8761    -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>

            <!--    eureka 客户端  @EnableEurekaClient      -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-netflix-eureka-client</artifactId>
            </dependency>

            <!--    consul 注册  http://localhost:8500/ui/dc1/services    -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-consul-discovery</artifactId>
            </dependency>

            <!--    nacos 注册    http://localhost:8848/nacos    -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>

            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>nacos-client</artifactId>
            </dependency>

            <!--   feign  声明式服务调用 替代 RestTemplate @EnableFeignClients       -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-openfeign</artifactId>
            </dependency>

            <!--   hystrix 熔断器,服务降级   @EnableCircuitBreaker      -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            </dependency>

            <!--   hystrix 图形化监控,只能监控一个服务  @EnableHystrixDashboard  http://localhost:8769/hystrix   -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            </dependency>

            <!--  turbine 聚合监控   @EnableTurbine    http://localhost:8769/turbine.stream   -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
            </dependency>

            <!--   spring-boot 提供的监控         -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>

            <!--    网关  -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-gateway</artifactId>
            </dependency>

            <!--    git 配置类服务端   @EnableConfigServer  http://localhost/8888/master/config-dev.yml    -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
            </dependency>

            <!--    git 配置类客户端          -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>

            <!--    bus-rabbitmq 消息总线,做 config 自动刷新          -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-bus-amqp</artifactId>
            </dependency>

            <!--    stream-rabbitmq 发送消息          -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-stream-rabbit</artifactId>
            </dependency>

            <!--    sleuth + zipkin 服务链路追踪。需要 zipkin 的 jar包,图形化查看地址 http://localhost:9411        -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-zipkin</artifactId>
            </dependency>

        </dependencies>
    </dependencyManagement>

</project>


配置


// application.yml

# 设置端口
server:
  port: 8000

# 服务名
spring:
  application:
    name: eureka

# eureka 配置
eureka:
  instance:
    hostname: localhost
  client:
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
    # 是否需要将自己的路径注册到 eureka 服务端
    register-with-eureka: true
    # 是否需要从 eureka 服务端抓取路径
    fetch-registry: true

# consul
spring:
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        # 注册到 consul 的服务名
        service-name: ${spring.application.name}
        # 监控界面显示 ip
        prefer-ip-address: true

# nacos
spring:
  cloud:
    nacos:
      discovery:
        # 服务端地址
        server-addr: 127.0.0.1:8848

# ribben 负载均衡策略
provider:
  ribbon:
    NFloadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

# feign 超时配置, 集成了 ribbon
ribbon:
  # 连接超时时间  默认 1000ms
  ConnectTimeout: 1000
  # 逻辑处理超时时间 默认 1000ms
  ReadTimeout: 3000

#feign 集成了 hystrix,开启 hystrix
feign:
  hystrix:
    enabled: true

# feign 设置日志级别,只支持 debug, 请求响应的相关数据
logging:
  level:
    com.roit.controller: debug

# turbine 聚合监控
turbine:
  combine-host-port: true
  # 配置监控的服务名
  app-config: provider,consumer
  cluster-name-expression: "'default'"
  aggregator:
    cluster-config: default
  #instanceUrlSuffix: /actuator/hystrix.stream

# gateway 网关
spring:
  cloud:
    gateway:
      routes:
      - id: provider
        # provider 的静态访问路径
        # uri: http://localhost:8001/
        # 动态
        uri: lb://provider
        # 匹配规则
        predicates:
        - Path=/goods/**
        # 局部过滤器
        filters:
          - AddRequestParameter=username,zs
      discovery:
        locator:
          # 请求路径加上微服务名称,http://localhost/provider/goods/ 或 http://localhost/goods/ 都行
          enabled: true
          # 默认名称大写,改为允许小写
          lower-case-service-id: true

# config 服务端
spring:
  cloud:
    config:
      server:
        # 文件的仓库地址
        git:
          uri: https://gitee.com/config.git
          # username: zs
          # password: 123
      # 文件所在分支
      label: master


# config 客户端,bootstrap.yml
spring:
  cloud:
    config:
      # http://localhost:8888/master/config-dev.yml
      # config 服务端地址
      # uri: http://localhost:8888
      name: config
      profile: dev,redis
      label: master
      # 动态配置 config 服务端地址,先将config 服务端注册到 eureka
      discovery:
        enabled: true
        # config 服务端的名字,大写
        service-id: config-server

# config 客户端 单服务自动刷新
# 1. 加依赖 actuator
# 2. 获取数据的 controller 上加@RefreshScope
# 3. curl -X POST http://localhost:8001/actuator/refresh
management:
  endpoints:
    web:
      exposure:
        # * 暴露所有;refresh 暴露自动刷新,/actuator/refresh。
        include: '*'

# bus 自动刷新,先给 config-server 发消息,再由 server 去通知所有的 config-client
# bus-amqp 内部使用 rabbitmq 发消息
# config-server 需暴露 bus-refresh 和 配置 rabbitmq
# curl -X POST http://localhost:8888/actuator/bus-refresh
        include: 'bus-refresh'

# config-client 需配置 rabbitmq 和 在获取数据的 controller 上加 @RefreshScope
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    virtual-host: /

# stream-rabbit
spring:
  cloud:
    stream:
      binders:
        # 定义绑定器名称
        mybinder:
          type: rabbit
          # 指定 mq 的环境
          environment:
            spring:
              rabbitmq:
                host: localhost
                port: 5672
                username: guest
                password: guest
                virtual-host: /
      bindings:
        # 生产者 @EnableBinding(Source.class)
        output:
        # 消费者 @EnableBinding(Sink.class), @StreamListener(Sink.INPUT)
        # input:
          binder: mybinder
          # 绑定的交换机名称
          destination: myexchange


# sleuth + zipkin
spring:
  zipkin:
    # zipkin 服务端路径
    base-url: http://lacalhost:9411/
  sleuth:
    sampler:
      # 数据采集率 默认0.1
      probability: 0.1

到此这篇关于浅谈spring cloud常用依赖和配置的文章就介绍到这了,更多相关spring cloud依赖和配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯