《后端程序员 · Nacos 常见配置 · 第一弹》

📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数,欢迎多多交流。👍

文章目录

    • 写在前面的话
    • server
    • spring.datasource
    • spring.redis
    • spring.cloud
    • spring.jackson
    • logging
    • spring.others
    • feign
    • ribbon
    • mybatis
    • springmvc
    • management
    • 总结陈词

CSDN.gif

写在前面的话

博主所在公司,采用Nacos作为注册中心和配置中心,在作为配置中心的过程中,总结了一些常见问题点,提供给各部门研发人员查阅。
此篇文章就介绍一下,Nacos 关于常见配置的,先整理了一部分,其实严格来说,算是SpringBoot的配置。

Tips:天街小雨润如酥,草色遥看近却无。最是一年春好处,绝胜烟柳满皇都。


server

描述:Spring Boot 中的 server 配置是用于配置应用程序的服务器相关设置的属性集合,这些属性通常用于定义应用程序的服务器行为和特性。

Tips:开发一般接触比较多的,只是port端口设定,但其实还有很多作用。

【端口配置】
server.port=8080

【上下文路径】
server.servlet.context-path=/myapp

【Tomcat 配置】

在 Spring Boot 中,默认使用的是 Tomcat 作为内嵌的 Servlet 容器。你可以通过在配置文件中添加以 server.tomcat 开头的配置来配置 Tomcat。

最大连接数:
server.tomcat.max-connections=10000最大线程数:
server.tomcat.max-threads=200最小空闲线程数:
server.tomcat.min-spare-threads=10最大请求队列长度,超过将拒绝连接
server.tomcat.accept-count=100连接超时时间:
server.tomcat.connection-timeout=20000
单位是毫秒,默认值是 -1,表示无限制,即不会发生连接超时。HTTP 头部最大大小:
server.tomcat.max-http-header-size=8KB最大可接收请求内容大小
server.tomcat.max-swallow-size=2MBURI 编码:
server.tomcat.uri-encoding=UTF-8==================补充知识:max-connections 和 max-threads 的区别
两者都是用于调整 Tomcat 连接池的参数,但它们调整的是不同的资源。
max-connections:
max-connections 控制的是 Tomcat 连接池中的最大连接数。它指定了 Tomcat 服务器可以同时处理的最大连接数,即客户端与服务器的连接数上限。
当达到 max-connections 设置的值时,新的连接请求将被拒绝,直到有现有连接关闭释放资源。
增大 max-connections 可以提高服务器的并发能力,但同时也会增加服务器的资源消耗,特别是内存消耗。
max-threads:
max-threads 控制的是 Tomcat 连接池中的最大线程数。它指定了 Tomcat 服务器可以同时处理的最大线程数,即服务器能够同时处理的最大请求数。
当达到 max-threads 设置的值时,新的请求会被放入等待队列中,直到有空闲线程可用来处理请求。
增大 max-threads 可以提高服务器同时处理请求的能力,但同时也会增加 CPU 和内存等资源的消耗。
总的来说,max-connections 控制的是服务器与客户端之间的连接数,而 max-threads 控制的是服务器处理请求的线程数。调整这两个参数可以根据服务器的硬件配置和应用程序的负载情况来优化服务器的性能和并发能力。

【框架默认设定】

server:# 配置应用程序关闭的行为,如优雅关闭shutdown: gracefultomcat:mbeanregistry:enabled: true

spring.datasource

描述:spring.datasource 是 Spring Boot 中用于配置数据源(DataSource)的属性集合。数据源是应用程序与数据库之间的桥梁,它提供了数据库连接和连接池管理等功能,使得应用程序能够与数据库进行交互。可以配置的信息,包含但不限于连接信息、连接池大小、连接超时等。

【具体项目设定】
可以看到数据源的大部分属性,采用引用的方式,即读取global-config.yml内的推荐配置,而不是直接采用线上default.yml限定值。说明框架是允许开发人员针对具体项目情况对参数进行针对性的调整。

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourceusername: ${global.database.zoemdb.username}password: ${global.database.zoemdb.password}driver-class-name: ${global.database.zoemdb.driverClassName}url: ${global.database.zoemdb.url}druid:filter:# sql防火墙wall:enabled: falseconfig:enabled: trueconnect-properties:config.decrypt: true# public-keyconfig.decrypt.key: ${global.database.zoemdb.decryptKey}# 最大连接池数量max-active: ${global.database.pool.default.max-active:50}# 从连接池获取连接等待超时的时间max-wait: ${global.database.pool.default.max-wait:5000}# 最小连接池数量min-idle: ${global.database.pool.default.min-idel:1}# 配置一个连接在池中最大空闲时间,单位是毫秒min-evictable-idle-time-millis: ${global.database.pool.default.min-evictable-idle-time-millis:300000}# 连接泄露检查,打开removeAbandoned功能 , 连接从连接池借出后,长时间不归还,将触发强制回连接。回收周期随timeBetweenEvictionRunsMillis进行,# 如果连接为从连接池借出状态,并且未执行任何sql,并且从借出时间起已超过removeAbandonedTimeout时间,则强制归还连接到连接池中。remove-abandoned: ${global.database.pool.default.remove-abandoned:false}# 回收超时时间remove-abandoned-timeout-millis: ${global.database.pool.default.remove-abandoned-timeout-millis:80000}# 打开后,增强timeBetweenEvictionRunsMillis的周期性连接检查,# minIdle内的空闲连接,每次检查强制验证连接有效性. 参考:https://github.com/alibaba/druid/wiki/KeepAlive_cnkeep-alive: ${global.database.pool.default.keep-alive:true}# 打开PSCachepool-prepared-statements: ${global.database.pool.default.pool-prepared-statements:true}# 指定每个连接上PSCache的大小,Oracle等支持游标的数据库,打开此开关,会以数量级提升性能,具体查阅PSCache相关资料max-pool-prepared-statement-per-connection-size: ${global.database.pool.default.max-pool-prepared-statement-per-connection-size:20}

spring.redis

描述:spring.redis 是 Spring Boot 中用于配置 Redis 连接的属性集合。Redis 是一种基于内存的数据存储服务,常用于缓存、消息队列等场景。通过配置 spring.redis 属性,你可以配置应用程序与 Redis 的连接信息、连接池配置、Redis Sentinel 配置等。

【具体项目设定】
项目的yml文件,仅指定了port和password,其他信息都是在default.yml限定死了。

【框架默认设定】

spring:cache:redis:# 缓存默认过期时间time-to-live: 90dredis:# 集群模式下该host无需配置# host: ${global.redis.host}password: ${global.redis.password}# 超时时间timeout: 2slettuce:cluster:refresh:# 开启Redis集群拓扑自动刷新adaptive: true# 集群拓扑刷新周期period: 30scluster:# 最大重定向次数max-redirects: 3# 集群节点列表nodes: ${global.redis.cluster.nodes}

spring.cloud

【spring.cloud.loadbalancer.retry】
在 Spring Cloud 中,spring.cloud.loadbalancer.retry 属性用于配置负载均衡器在发生请求失败时的重试行为。该属性指定了负载均衡器应该在发生连接故障或请求处理超时时进行的重试次数。

spring:cloud:loadbalancer:retry:enabled: truemax-attempts: 3backoff:enabled: truedelay: 1000max-delay: 3000multiplier: 2.0

解释每个配置项的含义:
enabled:是否启用负载均衡器的重试功能。默认为 true。
max-attempts:最大重试次数。默认为 3。
backoff:定义了重试的退避策略。
enabled:是否启用退避策略。默认为 true。
delay:初始延迟时间(毫秒)。默认为 1000。
max-delay:最大延迟时间(毫秒)。默认为 3000。
multiplier:延迟时间的增长倍数。默认为 2.0。
通过配置 spring.cloud.loadbalancer.retry 属性,你可以控制负载均衡器在发生请求失败时的重试行为,以提高系统的可靠性和稳定性。

【重试的优先级】
在 Spring Cloud 中,spring.cloud.loadbalancer.retry 用于配置负载均衡器的重试行为,而 Feign 也有自己的重试机制。当同时使用了 Spring Cloud 负载均衡器和 Feign 客户端时,它们的重试行为的优先级如下:
Feign 客户端的重试:
如果在 Feign 客户端中配置了重试机制(例如通过 Feign 的配置或者 Ribbon 的配置),那么 Feign 客户端的重试机制会优先生效。Feign 客户端的重试配置通常包括最大重试次数、重试间隔等参数。
Spring Cloud 负载均衡器的重试:
如果 Feign 客户端没有配置重试机制,但是 Spring Cloud 负载均衡器配置了重试行为(通过 spring.cloud.loadbalancer.retry 属性),那么负载均衡器的重试机制会生效。负载均衡器的重试配置包括最大重试次数、退避策略等参数。
因此,Feign 客户端的重试机制优先级高于 Spring Cloud 负载均衡器的重试机制。如果 Feign 客户端和 Spring Cloud 负载均衡器都配置了重试行为,那么 Feign 客户端的配置将覆盖负载均衡器的配置。

【feign默认重试】
Feign 默认情况下不会进行重试,即使发生了连接故障或请求处理超时等问题。如果你需要在 Feign 客户端中实现重试功能,你可以通过配置来启用 Feign 的重试机制。
在 Spring Cloud 中,你可以通过配置 feign.client.config.default.retryer 属性来启用 Feign 的重试功能。例如,你可以设置最大重试次数和重试间隔等参数。以下是一个示例配置:

feign:client:config:default:retryer: # 设置重试器maxAttempts: 3 # 最大重试次数backoff: # 退避策略delay: 1000 # 初始延迟时间(毫秒)maxDelay: 3000 # 最大延迟时间(毫秒)multiplier: 2.0 # 延迟时间的增长倍数

在上面的示例中,设置了最大重试次数为 3,初始延迟时间为 1000 毫秒,最大延迟时间为 3000 毫秒,延迟时间的增长倍数为 2.0。这意味着在发生连接故障或请求处理超时时,Feign 客户端会最多重试 3 次,并且每次重试的间隔会逐渐增加。


spring.jackson

spring.jackson 是 Spring Boot 中用于配置 Jackson JSON 序列化和反序列化的属性集合。Jackson 是一个用于处理 JSON 数据的 Java 库,Spring Boot 默认使用 Jackson 来处理 HTTP 请求和响应中的 JSON 数据。通过配置 spring.jackson 属性,你可以控制 JSON 数据的序列化和反序列化行为,包括日期格式化、属性命名策略、是否忽略 null 值等。

Spring Jackson 是 Spring 框架中集成的 JSON 处理库,它基于 Jackson 库实现了 JSON 和 Java 对象之间的转换。Jackson 是一个流行的 Java JSON 处理库,提供了高性能的 JSON 解析和生成功能。
通过配置下列属性,你可以定制 Jackson 在 Spring Boot 中的行为,以满足你的应用程序的需求。

日期格式化配置:
date-format:指定日期的格式。默认情况下,Jackson 使用 ISO-8601 格式。

spring:jackson:date-format: yyyy-MM-dd HH:mm:ss

时区配置:
time-zone:指定日期的时区。默认情况下,Jackson 使用系统默认时区。

spring:jackson:time-zone: Asia/Shanghai

时间戳配置:
serialization.write-dates-as-timestamps:指定是否将日期序列化为时间戳。
默认情况下,Jackson 使用 ISO-8601 格式,不过SpringBoot中,该属性的默认值为true。

spring:jackson:serialization:write-dates-as-timestamps: true

忽略未知属性:
serialization.fail-on-empty-beans:指定在序列化空对象时是否抛出异常。
默认情况下,Jackson 不会抛出异常。

spring:jackson:serialization:fail-on-empty-beans: false

自定义配置:
你还可以通过 spring.jackson.* 前缀配置任意的 Jackson ObjectMapper 属性。
例如,设置序列化的特性:

spring:jackson:property-naming-strategy: CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORESserialization:indent-output: true

logging

描述:在 Spring Boot 应用程序中,日志记录是通过 Spring Boot 提供的默认日志框架实现的,默认情况下使用的是 Logback。

# 设置日志级别为 DEBUG
logging.level.root=DEBUG# 设置日志输出格式为 JSON
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n

【默认日志级别】
在 Spring Boot 中,默认的日志级别是 INFO。这意味着除非明确指定了其他日志级别,否则日志消息只会记录 INFO 级别及以上的消息。如果你没有显式地配置日志级别,Spring Boot 会将根日志记录器(Root Logger)的级别设置为 INFO。
像开发经常反馈MyBatis的日志无法打印输出,其实是由于其输出语句使用了debug模式,当前类的日志级别是INFO的话,这里是无法打印的。

Tips:线上如果要输出这类型日志,可以在logging.yml配置或SBA调整,但要慎重。

//BatchByJdbcInterceptor
if (log.isDebugEnabled()) {log.debug("[SQL] [BatchByJdbc] SQL: {} , Params: {}", sql, JSON.toJSONString(execParam));
}//MybatisSqlTraceLogInterceptor
if (log.isDebugEnabled() && !isPageCountSql) {log.debug("SQL返回行数:{} , SQL语法: \n{} \n{}", returnRows, sqlGrammar.replace("\n", " "), sqlParam);
}
logging:level:# Nacos 配置中心日志级别com.alibaba.cloud.nacos.client.NacosPropertySourceBuilder: debug# 全局异常处理器日志级别com.zoe.core.exception.handler.GlobalExceptionHandler: debug# 本地开发环境可以将日志级别设置为debug,线上请勿使用debug级别com.zoe.onelink.logging: debug# 输出Mybatis相关日志com.zoe.onelink.logging.trace.sql.mybatis: debugcom.zoe.onelink.business.mybatis.interceptor: debuglogging:level:com.zoe.onelink.logging.trace.sql.SqlTraceLogInterceptor: debugorg.springframework.context.support.PostProcessorRegistrationDelegate: warncom.alibaba.cloud.nacos.client.NacosPropertySourceBuilder: debugcom.zoe.core.exception.handler.GlobalExceptionHandler: debugcom.alibaba.nacos.client.naming: warnorg.apache.dubbo.registry.nacos.NacosRegistry: warncom.alibaba.nacos.common.remote.client: warncom.zoe.onelink.logging: debug

【项目级的日志配置】
大部分开发会将logging配置书写在application-dev.yml,但要注意需要添加如下配置才能生效。
spring.profiles.active=dev

Tips:该配置提交不会影响生产环境,具体值在发布的时候会覆盖。


spring.others

【一些重要配置】

spring.main.allow-bean-definition-overriding=true
# Spring 不允许覆盖已经存在的 Bean 定义,如果尝试注册一个与现有 Bean 名称相同的新的 Bean,则会抛出异常。
# 将此属性设置为 true 可以允许覆盖已注册的 Bean 定义,即使已经存在同名的 Bean,也不会抛出异常,这样做有时可能会用于测试或特殊情况下的调试目的。但在实际生产环境中,通常不建议开启此选项,以避免意外覆盖和错误的 Bean 定义。
# 默认情况下 allow-bean-definition-overriding 是关闭的,即默认值为 false。spring.jackson.serialization.write-dates-as-timestamps=true
# 这个配置告诉 Jackson 序列化器将日期对象转换为时间戳形式。
# 在将 Java 对象序列化为 JSON 字符串时,日期字段会以时间戳的形式表示。
# 请注意,这个配置仅影响序列化操作。在反序列化时,时间戳会被正确地解析为日期对象,无需额外配置。spring.sleuth、spring.zipkin
# 链路追踪相关配置,不继续展开spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB
spring.servlet.multipart.file-size-threshold=0
spring.servlet.multipart.location=/path/to/temp/dir
spring.servlet.multipart.resolve-lazily=true
# spring.servlet.multipart.max-file-size:
# 设置上传文件的最大大小限制。如果上传的文件大小超过了这个限制,
# 将会抛出 MaxUploadSizeExceededException 异常。默认值为 -1,表示不限制文件大小。
# spring.servlet.multipart.max-file-size:
# 设置每个请求的最大大小限制。如果请求的总大小(包括所有上传文件和其他请求参数)
# 超过了这个限制,将会抛出 MultipartException 异常。默认值为 -1,表示不限制请求大小。
# file-size-threshold:
# 设置文件大小阈值。上传文件大小超过了这个阈值时,文件会被写入磁盘;
# 否则,文件会保存在内存中。默认值为 0,表示所有文件都会保存在磁盘上。
# location:
# 设置临时文件存储位置。上传的文件在处理过程中会被保存为临时文件,默认情况下会保存在系统默认的临时目录中。你可以通过这个属性来指定其他的临时目录。
# resolve-lazily:
# 设置是否懒解析 multipart 请求。默认值为 false,表示在 Servlet 请求处理之前立即解析 multipart 请求。你可以将其设置为 true 来延迟解析 multipart 请求,以提高性能。

【框架关于Spring的默认配置】

spring:cache:redis:# 缓存默认过期时间time-to-live: 90dredis:# 集群模式下该host无需配置# host: ${global.redis.host}password: ${global.redis.password}# 超时时间timeout: 2slettuce:cluster:refresh:# 开启Redis集群拓扑自动刷新adaptive: true# 集群拓扑刷新周期period: 30scluster:# 最大重定向次数max-redirects: 3# 集群节点列表nodes: ${global.redis.cluster.nodes}zipkin:sender:type: webbase-url: ${global.zipkin.baseUrl}compression:enabled: trueencoder: proto3sleuth:messaging:kafka:enabled: false  circuitbreaker:enabled: falsesampler:probability: 1redis:enabled: true# 配置文件上传大小限制servlet:multipart:max-file-size: 500MBmax-request-size: 500MB

【具体项目设定参考】

spring:zipkin:sender:type: slf4jbase-url: ${global.zipkin.baseUrl}sleuth:sampler:probability: 1elasticsearch:rest:username: ${global.es.username}password: ${global.es.password}uris:- ${global.es.host}:${global.es.port}

feign

在 Spring Cloud 应用中,Feign 是一个声明式的、模板化的 HTTP 客户端,它简化了与 RESTful 服务的交互。你可以通过在 application.properties 文件中配置 Feign 来定制其行为。

feign:httpclient:enabled: trueclient:config:default:connectTimeout: 5000readTimeout: 10000# 调用时常较长的接口emrIdesDocInfoTimeClient:connectTimeout: 5000readTimeout: 15000

【feign.httpclient.enabled】
在使用 Feign 时,默认情况下它使用的是 HttpURLConnection 来进行 HTTP 请求,但你也可以配置 Feign 来使用 Apache HttpClient 或 OkHttp 来替代默认的 HTTP 客户端。如果你想要使用 Apache HttpClient,你需要在项目中引入相关依赖,并在配置文件中进行相应的配置。
如果你使用的是 Spring Cloud,你可以直接在配置文件中配置 Feign 使用 Apache HttpClient,而无需创建额外的配置类(直接使用上面配置启用)。

【feign.client.config】
在使用 Feign 进行 HTTP 客户端调用时,你可以通过 feign.client.config 属性来配置 Feign 客户端的行为。这个属性允许你为每个 Feign 客户端指定特定的配置,以覆盖全局配置。
feign.client.config..connectTimeout=5000
feign.client.config..readTimeout=5000
请将 替换为你实际使用的 Feign 客户端的名称。这些配置选项可以帮助你定制每个 Feign 客户端的行为,以满足项目的需求。
如果你希望设置默认的 Feign 客户端配置,可以使用 feign.client.config.default 属性。这个属性允许你设置所有 Feign 客户端的默认配置,以覆盖全局配置。

# 连接超时和读取超时
feign.client.config.default.connectTimeout=5000
feign.client.config.default.readTimeout=5000
# 重试次数和间隔 
feign.client.config.default.retryer.maxAttempts=3
feign.client.config.default.retryer.backoffStrategy=org.springframework.cloud.openfeign.Retryer#DEFAULT
# 日志级别
feign.client.config.default.loggerLevel=full
# 自定义配置,你可以创建一个默认的 Feign 配置类,并将其作为默认配置。

【默认连接时间】
feign.client.config.default.connectTimeout 的默认值并不是直接在 Feign 或者 Spring Cloud 中指定的,它实际上是由底层 HTTP 客户端库(如 Apache HttpClient 或 OkHttp)所决定的,默认情况下它们可能有自己的默认连接超时时间。
在使用 Apache HttpClient 时,其默认连接超时时间通常是 0,表示无限等待。而在使用 OkHttp 时,默认连接超时时间可能是 10 秒。这些值是由具体的 HTTP 客户端库的实现决定的,并不是 Feign 或 Spring Cloud 所决定的。
同理,readTimeout 也类似,对于 Apache HttpClient,默认的读取超时时间通常是 -1,表示无限等待。而对于 OkHttp,默认的读取超时时间可能是 10 秒。这些值都是由具体的 HTTP 客户端库的实现决定的,而不是由 Feign 或 Spring Cloud 所决定的。

【Ribbon 和 Feign 超时时间优先级】
在 Spring Cloud 中,Feign 和 Ribbon 都是常用的用于服务间通信的组件,它们都有自己的超时配置。对于服务间的请求,如果同时使用了 Feign 和 Ribbon,两者的超时配置会有不同的优先级:
Feign 的优先级:
如果你使用了 Feign 来发送服务间的请求,并且在 Feign 客户端中设置了超时时间(例如 connectTimeout 和 readTimeout),那么 Feign 的超时配置会优先生效。这意味着 Feign 客户端会按照 Feign 的配置来设置连接超时和读取超时。
Ribbon 的优先级:
如果你没有在 Feign 客户端中设置超时时间,但是使用了 Ribbon 作为负载均衡器,那么 Ribbon 的超时配置会生效。Ribbon 也有自己的超时配置,例如 ribbon.ConnectTimeout 和 ribbon.ReadTimeout,它们会影响到底层的 HTTP 请求。
综上所述,Feign 的超时配置优先级高于 Ribbon。如果你同时使用了 Feign 和 Ribbon,并且在 Feign 客户端中设置了超时时间,那么 Feign 的超时配置会覆盖 Ribbon 的超时配置。

【框架默认配置】

feign:client:config:# 对象存储服务接口请求的超时时间。(业务组件统一设置)storage-service:readTimeout: 60000 #毫秒时间

ribbon

描述:ribbon的配置不展开介绍,下方是框架关于ribbon的默认配置。

ribbon:# 对当前节点的最大重试次数,不包括首次调用,默认值为0。MaxAutoRetries: 0# 下个节点数最大重试次数,不包括首个节点,默认值为1。不重试该值需要设置为-1 (0的话也不重试,但是会触发一次服务选举)MaxAutoRetriesNextServer: -1# 是否对所有请求进行失败重试, 设置为 false, 让feign只针对Get请求进行重试.OkToRetryOnAllOperations: false# true: 无论是接口请求超时、服务端处理失败、建立连接失败等,统一返回true,即可以重试okToRetryOnAllErrors: false# true: 只要是在跟服务端建立连接时出现错误,无论建立连接超时、建立连接失败等,统一返回true;false: 不重试okToRetryOnConnectErrors: false

mybatis

框架默认配置

mybatis-plus:configuration:# 使用空实现,防止正式环境多份日志log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl# 默认10分钟default-statement-timeout: 600

关闭一级缓存

#一级缓存修改为statement
mybatis-plus:configuration:local-cache-scope: statement

springmvc

Tips:部分属性前面已经介绍过,这里把相关的SpringMVC配置补充说明。

静态资源映射:
通过配置 spring.resources.static-locations 属性来指定静态资源的映射路径。默认情况下,Spring Boot 会将 /static、/public、/resources 和 /META-INF/resources 目录下的静态资源映射到根路径下。

Multipart 文件上传配置:
配置 spring.servlet.multipart 属性来设置文件上传的相关参数,如文件大小限制、临时文件存储位置等。

# 配置文件上传大小限制
spring:servlet:multipart:max-file-size: 500MBmax-request-size: 500MB

字符编码配置:
通过配置 spring.http.encoding 属性来设置字符编码相关的选项,如请求编码、响应编码等。

异常处理配置:
通过配置 server.error 属性来设置异常处理的相关选项,如是否显示异常堆栈信息、错误页面等。


management

Spring Boot Actuator 提供了一系列管理端点(management endpoints),可以用于监控和管理 Spring Boot 应用程序。这些端点可以通过 HTTP 请求访问,提供了关于应用程序运行状态、健康状况、性能指标等信息。

框架默认配置

management:health:livenessstate:enabled: true# Spring Boot 2.4 以前版本readynessstate:enabled: true# Spring Boot 2.4 以后版本readinessstate:enabled: trueendpoints:web:exposure:# 暴露所有端口include: "*"endpoint:health:show-details: alwaysprobes:enabled: trueshutdown:enabled: truemetrics:tags:application: ${spring.application.name:unknown}

总结陈词

此篇文章介绍了Nacos 常见配置第一部分,仅供学习参考。
💗 近期在整理职场入职新人必读的N各系列,积极备战!

CSDN_END.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/377858.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

showdoc sqli to rce漏洞利用思考

漏洞版本 sqli <3.2.5 phar 反序列化 <3.2.4 漏洞分析 前台sqli 补丁 https://github.com/star7th/showdoc/commit/84fc28d07c5dfc894f5fbc6e8c42efd13c976fda 补丁对比发现&#xff0c;在server/Application/Api/Controller/ItemController.class.php中将$item_id变量…

海外ASO:iOS与谷歌优化的相同点和区别

海外ASO是针对iOS的App Store和谷歌的Google Play这两个主要海外应用商店进行的优化过程&#xff0c;两个不同的平台需要采取不同的优化策略&#xff0c;以下是对iOS优化和谷歌优化的详细解析&#xff1a; 一、iOS优化&#xff08;App Store&#xff09; 1、关键词覆盖 选择关…

服务器数据恢复—raid5阵列热备盘同步失败导致lun不可用的数据恢复案例

服务器存储数据恢复环境&#xff1a; 华为S5300存储中有一组由16块FC硬盘组建的RAID5磁盘阵列&#xff08;包含一块热备盘&#xff09;。 服务器存储故障&#xff1a; 该存储中的RAID5阵列1块硬盘由于未知原因离线&#xff0c;热备盘上线并开始同步数据&#xff0c;数据同步到…

starRocks搭建

公司要使用新的大数据架构&#xff0c;打算用国产代替国外的大数据平台。所以这里我就纠结用doris还是starrocks&#xff0c;如果用doris&#xff0c;因为是开源的&#xff0c;以后就可以直接用云厂商的。如果用starrocks就得自己搭建&#xff0c;但是以后肯定会商业化&#xf…

【linux】服务器ubuntu安装cuda11.0、cuDNN教程,简单易懂,包教包会

【linux】服务器ubuntu安装cuda11.0、cuDNN教程&#xff0c;简单易懂&#xff0c;包教包会 【创作不易&#xff0c;求点赞关注收藏】 文章目录 【linux】服务器ubuntu安装cuda11.0、cuDNN教程&#xff0c;简单易懂&#xff0c;包教包会一、版本情况介绍二、安装cuda1、到官网…

最新PHP自助商城源码,彩虹商城源码

演示效果图 后台效果图 运行环境&#xff1a; Nginx 1.22.1 Mysql5.7 PHP7.4 直接访问域名即可安装 彩虹自助下单系统二次开发 拥有供货商系统 多余模板删除 保留一套商城,两套发卡 源码无后门隐患 已知存在的BUG修复 彩虹商城源码&#xff1a;下载 密码:chsc 免责声明&…

「AI得贤招聘官」通过首批“AI产业创新场景应用案例”评估

近日&#xff0c;上海近屿智能科技有限公司的「AI得贤招聘官」&#xff0c;经过工业和信息化部工业文化发展中心数字科技中心的严格评估&#xff0c;荣获首批“AI产业创新场景应用案例”。 据官方介绍&#xff0c;为积极推进通用人工智能产业高质量发展&#xff0c;围绕人工智能…

浅析Kafka Streams消息流式处理流程及原理

以下结合案例&#xff1a;统计消息中单词出现次数&#xff0c;来测试并说明kafka消息流式处理的执行流程 Maven依赖 <dependencies><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId><exclusio…

kafka发送消息流程

配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class); public Map<String,Object> producerConfigs(){Map<String,Object> props new HashMap<>();props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers…

文件的顺序读写

文件读写函数介绍 文件顺序读写函数 函数名功能适用于fputc 字符输出函数 所有输出流 fgetc 字符输⼊函数 所有输⼊流 fputs ⽂本⾏输出函数 所有输出流fgets ⽂本⾏输⼊函数 所有输⼊流fprintf 格式化输出函数 所有输出流fscanf 格式化输⼊函数 所有输⼊流fwrite ⼆进制输出…

Spring源码中的模板方法模式

1. 什么是模板方法模式 模板方法模式&#xff08;Template Method Pattern&#xff09;是一种行为设计模式&#xff0c;它在操作中定义算法的框架&#xff0c;将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法模式的定义&…

被动的机器人非线性MPC控制

MPC是一种基于数学模型的控制策略&#xff0c;它通过预测系统在未来一段时间内的行为&#xff0c;并求解优化问题来确定当前的控制输入&#xff0c;以实现期望的控制目标。对于非线性系统&#xff0c;MPC可以采用非线性模型进行预测和优化&#xff0c;这种方法被称为非线性模型…

DBeaver导入脚本和导出数据

DBeaver导入脚本和导出数据 前言&#xff1a; 通常产品会要求&#xff0c;把xx表导出Excel&#xff0c;navicat一般公司不让用。讲解使用DBeaver 导入脚本 我们将sql脚本导入DBeaver 1&#xff0c;选择数据库&#xff0c;找到执行脚本 2&#xff0c;选用sql脚本&#xff0…

【Linux】权限管理与相关指令

文章目录 1.权限、文件权限、用户文件权限的理解以及对应八进制数值表示、设置目录为粘滞位文件类型 2.权限相关的常用指令susudochmodchownchgrpumaskwhoamifile 1.权限、文件权限、用户 通过一定条件&#xff0c;拦住一部分人&#xff0c;给另一部分权利来访问资源&#xff0…

IDEA实现SpringBoot项目的自打包自发布自部署

目录 前言 正文 操作背景 自发布 自部署 尾声 &#x1f52d; Hi,I’m Pleasure1234&#x1f331; I’m currently learning Vue.js,SpringBoot,Computer Security and so on.&#x1f46f; I’m studying in University of Nottingham Ningbo China&#x1f4eb; You can reach…

U盘坏了怎么把数据弄出来

在数字化时代&#xff0c;U盘作为一种便携式存储设备&#xff0c;为我们的数据保存和传输提供了很多便利。不过&#xff0c;我们在使用U盘过程中难免会遇到各种问题&#xff0c;比如常见的U盘损坏问题。U盘损坏会导致数据无法读取&#xff0c;给我们造成困扰。幸运的是&#xf…

Spring相关的面试题

1、spring中bean的生命周期 spring bean的生命周期主要分为三大类 &#xff0c;分别是创建-》使用-〉销毁。 在三大类下面又可以分为5个小类。分别是 实列化-〉初始化-》组册destruction回调-〉使用-〉销毁 这这其中 初始化也可以细分为 设置属性值&#xff0c;前置处理&#…

【学习笔记】无人机(UAV)在3GPP系统中的增强支持(七)-通过无人机实现无线接入的独立部署

引言 本文是3GPP TR 22.829 V17.1.0技术报告&#xff0c;专注于无人机&#xff08;UAV&#xff09;在3GPP系统中的增强支持。文章提出了多个无人机应用场景&#xff0c;分析了相应的能力要求&#xff0c;并建议了新的服务级别要求和关键性能指标&#xff08;KPIs&#xff09;。…

dhtmlx-gantt甘特图数据展示

官网文档&#xff1a;甘特图文档 实现效果&#xff1a; 首先需要下载 dhtmlx-gantt组件 npm i dhtmlx-gantt //我项目中使用的是"dhtmlx-gantt": "^8.0.6" 这个版本&#xff0c;不同的版本api或是文档中存在的方法稍有差异 界面引用 <template>&l…

什么是MOW,以bitget钱包为例

元描述&#xff1a;MOW凭借其富有创意的故事情节和广阔的潜力在Solana上脱颖而出。本文深入探讨了其独特的概念和光明的未来。 Mouse in a Cats World (MOW)是一个基于Solana区块链的创新meme项目&#xff0c;它重新构想了一个异想天开且赋予权力的故事。在这个奇幻的宇宙中&am…