微服务-SpringBoot
基础知识
微服务主旨就是将一个大型系统拆分为多个小型服务。
多个服务之间可以是异构的。单体服务在大型项目下很难维护。
智能端点与哑管道:就是消息之间通信只传送消息,而不做校验。
SpringCloud
Eureka:注册中心
Hystrix:断路器
Ribbon: 负载均衡
feign:远程调用
SpringBoot
-
springboot宗旨并非是替代spring,而是通过自动化配置简化spring原有样板化配置。
-
只需要将springBoot项目打成Jar然后使用 java -jar运行就可以
-
spring.application.name 会注册为服务名
-
@Value('${port}'})
-
java -jar xxx.jar --server.port=8888
-
属性加载顺序
- 命令行传入的参数
- 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 中,属性的加载顺序如下:
-
命令行参数。可以使用命令行参数来覆盖应用程序中指定的任何属性。例如:
java -jar myapp.jar --server.port=8080
-
SPRING_APPLICATION_JSON
。该环境变量可以包含一组键值对,它们将被解析并添加到应用程序上下文的Environment
中。 -
Java 系统属性。例如:
-Dserver.port=8080
-
操作系统环境变量。例如:
export SERVER_PORT=8080
(Unix/Linux) -
随机属性(
random.*
)。如果您设置了任何以random.
开头的属性,则会在Environment
中自动生成一个值。这些属性通常用于创建随机的密码、加密密钥或其他随机值。 -
应用程序属性文件(application.properties 或 application.yml)。
-
应用程序配置文件(application-{profile}.properties 或 application-{profile}.yml)。
-
SpringApplication.setDefaultProperties
。使用SpringApplication.setDefaultProperties
方法设置的默认属性。
在属性加载期间,Spring Boot 将按照上述顺序检查每个位置,并使用找到的第一个属性的值作为最终结果。如果您需要更改属性的加载顺序,可以使用 spring.config.location
属性来指定应用程序配置文件所在的位置。例如:java -jar myapp.jar --spring.config.location=/path/to/myapp.properties
。这将强制 Spring Boot 首先加载此位置的配置文件。
- 监控与管理
spring-boot-starter-actuator
https://www.cnblogs.com/duanxz/p/11302110.html
本文来自博客园,作者:帅气的涛啊,转载请注明原文链接:https://www.cnblogs.com/handsometaoa/p/17389853.html