《后端程序员 · 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.mzph.cn/pingmian/46638.shtml

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

相关文章

C++ 类和对象(A)

一、类与对象的初步认识 1.类是对象的抽象,而对象是类的具体实例。 类是抽象的,不占用内存;而对象是具体的,占用存储空间。 2.面向过程与面向对象 C语言是面向过程的,关注的是过程中的数据与方法。 C是面向对象的&…

3D打印技巧

blender建模设置 避免破面 插件:3D打印 其中 错误连续边bad contig. edges指的是同一条线两侧法向不同,解决方案:shiftn 零面zero face指有两个面重叠,解决方案:按距离合并 非平面non flat face指四边形面的四个顶…

Django select_related()方法

select_related()的作用 select_related()是Django ORM(对象关系映射)中的一种查询优化方法,主要用于减少数据库查询次数,提高查询效率。当你在查询一个模型实例时,如果这个实例有ForeignKey关联到其他模型&#xff0…

【.NET全栈】ASP.NET开发web应用——ASP.NET中的样式、主题和母版页

文章目录 前言一、在ASP.NET中应用CSS样式1、创建CSS样式(1)内联样式(2)内部样式表(3)外部样式表 2、应用CSS样式(1)菜鸟教程-简单例子(2)菜鸟教程-用户界面&…

2024-07-12 Unity AI状态机1 —— 框架介绍

文章目录 1 有限状态机2 状态机实现框架2.1 StateMachine2.2 BaseState2.3 ...State2.4 IAIObject 3 框架类图 本文章参考 B 站唐老狮 2023 年直播内容。点击前往唐老狮 B 站主页。 1 有限状态机 ​ 有限状态机(Finite - State Machine,FSM&#xff09…

【Diffusion学习】【生成式AI】Diffusion Model 原理剖析 (2/4) (optional)【公式推导】

文章目录 影像生成模型本质上的共同目标【拟合分布】Maximum Likelihood Estimation VAE 影像生成模型本质上的共同目标【拟合分布】 Maximum Likelihood Estimation VAE

# Redis 入门到精通(四)-- linux 环境安装 redis

Redis 入门到精通(四)-- linux 环境安装 redis 一、linux 环境安装 redis – 基于 Linux 安装 redis 1、基于 Center 0S7 或者 unbunt-18.04 安装 Redis 1)下载安装包wget http://download.redis.io/releases/redis-?.?.?.tar.gz 如&…

夏令营入门组day4

一. 题目 二. 思路 (1)B要先去和A回合,因为B只能将红染成蓝,不能直接将白染成蓝,所以B必须走A走过的路才有效。 (2)答案分为两部分,去和A回合的最短距离 以回合点为根节点&#xf…

FPGA上板项目(二)——PLL测试

目录 实验内容实验原理实验步骤实验结果 实验内容 将差分时钟信号转化为 192MHz 时钟信号作为输出。 实验原理 PLL,即锁相环,一种反馈控制电路,具有时钟倍频、分频、相位偏移和可编程占空比的功能。 实验步骤 添加 clocking wizard IP核&…

Gitlab CI/CD --- use a sample CI/CD template

0 Preface/Foreword Pipeline, job, stage的关系如下描述: A pipeline is composed of independent jobs that run scripts, grouped into stages. Stages run in sequential order, but jobs within stages run in parallel. 关键信息: pipeline由独…

Ubuntu 磁盘扩容

1.下载工具 sudo apt-get install gparted 2.调整大小

IP风险画像 金融行业的安全盾牌

在当今数字化时代,金融行业面临着前所未有的安全挑战。随着在线交易和数字银行业务的迅猛发展,欺诈和网络攻击的威胁也在不断增加。金融机构需要高效、可靠的安全解决方案来保护客户的资产和个人信息,防止各种形式的欺诈行为。 IP风险画像是…

postman点code选http出现乱码?

最近在调OA接口新建流程,用postman调成功了,但是要换到数据库来的时候就不知道咋弄了,一开始还以为是出现了乱码,都不敢用http的code,但其实是参数被urlencoding了,所以写到Oracle数据库的时候,…

构建企业多层社会传播网络:以AI智能名片S2B2C商城小程序为例

摘要:在数字化转型的浪潮中,企业如何有效构建并优化其社会传播网络,已成为提升市场竞争力、深化用户关系及实现价值转化的关键。本文以AI智能名片S2B2C商城小程序为例,深入探讨如何通过一系列精细化的策略与技术创新,构…

[论文笔记]构建基于RAG聊天机器人的要素

引言 今天带来一篇构建RAG的论文笔记:FACTS About Building Retrieval Augmented Generation-based Chatbots。 基于生成式人工智能构建企业聊天机器人迅速成为行业中最受关注的应用之一,旨在提高员工生产力。 然而,构建成功的企业聊天机器…

深入解析Spring Cloud:构建分布式微服务架构的最佳实践

导语:随着互联网业务的快速发展,传统的单体应用已无法满足高并发、高可用、可扩展的需求。微服务架构以其轻量级、独立性、灵活性的特点,逐渐成为大型分布式系统的首选架构。Spring Cloud作为构建微服务架构的重要框架,为开发者提…

【边缘计算网关教程】6.松下 Mewtocol TCP 协议

前景回顾:【边缘计算网关教程】5.三菱FX3U编程口通讯-CSDN博客 松下 Mewtocol TCP 协议 适配PLC:松下FP0H 松下XHC60ET 1. 硬件连接 Mewtocol TCP协议采用网口通信的方式,因此,只需要保证网关的LAN口和松下PLC的IP在一个网段即…

MYSQL--第九次作业

MYSQL–第九次作业 1、安装redis,启动客户端、验证。 安装网址:Redis Released,找到适合自己电脑的redis版本后,下载并安装。 安装完后,打开cmd命令框: -- 启动客户端 C:\Windows\System32>redis-cl…

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

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

破解快消行业营销费用管理难题,引领财务费控数字化转型

众所周知,快消品行业消费群体较为广泛,涉及渠道复杂,产品周转期短、可替代性强,特别是面对竞争激烈的市场环境,大力投入营销、渠道费用对快消行业的企业来说十分普遍,而这其中,由于渠道多、业态…