微服务-SpringBoot

基础知识

微服务主旨就是将一个大型系统拆分为多个小型服务。
多个服务之间可以是异构的。单体服务在大型项目下很难维护。

智能端点与哑管道:就是消息之间通信只传送消息,而不做校验。

SpringCloud
Eureka:注册中心
Hystrix:断路器
Ribbon: 负载均衡
feign:远程调用

SpringBoot

  1. springboot宗旨并非是替代spring,而是通过自动化配置简化spring原有样板化配置。

  2. 只需要将springBoot项目打成Jar然后使用 java -jar运行就可以

  3. spring.application.name 会注册为服务名

  4. @Value('${port}'})

  5. java -jar xxx.jar --server.port=8888

  6. 属性加载顺序

  • 命令行传入的参数
  • SPRING_APPLICATION_JSON中的属性
    https://blog.51cto.com/u_15870611/5837520
  • java:com/env 中JNDI属性
  • java的系统属性,System.getProperties()
  • 操作系统环境变量
  • random.*随机属性
  • jar包之外dev、test的配置 【运维
  • jar包之内dev、test
  • 当前jar包之外 application.properties 【运维
  • 当前jar包之内 application.properties
  • @configuration @propertySource
  • 默认属性

在 Spring Boot 中,属性的加载顺序如下:

  1. 命令行参数。可以使用命令行参数来覆盖应用程序中指定的任何属性。例如:java -jar myapp.jar --server.port=8080

  2. SPRING_APPLICATION_JSON。该环境变量可以包含一组键值对,它们将被解析并添加到应用程序上下文的 Environment 中。

  3. Java 系统属性。例如:-Dserver.port=8080

  4. 操作系统环境变量。例如:export SERVER_PORT=8080 (Unix/Linux)

  5. 随机属性(random.*)。如果您设置了任何以 random. 开头的属性,则会在 Environment 中自动生成一个值。这些属性通常用于创建随机的密码、加密密钥或其他随机值。

  6. 应用程序属性文件(application.properties 或 application.yml)。

  7. 应用程序配置文件(application-{profile}.properties 或 application-{profile}.yml)。

  8. SpringApplication.setDefaultProperties。使用 SpringApplication.setDefaultProperties 方法设置的默认属性。

在属性加载期间,Spring Boot 将按照上述顺序检查每个位置,并使用找到的第一个属性的值作为最终结果。如果您需要更改属性的加载顺序,可以使用 spring.config.location 属性来指定应用程序配置文件所在的位置。例如:java -jar myapp.jar --spring.config.location=/path/to/myapp.properties。这将强制 Spring Boot 首先加载此位置的配置文件。

  1. 监控与管理
    spring-boot-starter-actuator
    https://www.cnblogs.com/duanxz/p/11302110.html
posted @ 2023-05-11 02:15  帅气的涛啊  阅读(17)  评论(0编辑  收藏  举报