基础知识

微服务主旨就是将一个大型系统拆分为多个小型服务。

多个服务之间可以是异构的。单体服务在大型项目下很难维护。

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

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

微服务-SpringBoot的更多相关文章

  1. 微服务springboot视频最新SpringBoot2.0.3版本技术视频教程【免费学习】

    超火爆的springboot微服务技术怎么学,看这里,springboot超详细的教程↓↓↓↓↓↓https://ke.qq.com/course/179440?tuin=9b386640 01.sp ...

  2. 微服务-springboot+websocket在线聊天室

    一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  3. 微服务-springboot日志配置

    springboot 默认会加载classpath:logback-spring.xml文件. springProfile 中的name名字对应application-xx.properties 中的 ...

  4. 微服务-springboot多环境配置(开发生产测试环境切换)

    springboot根据spring.profiles.active会去寻找应该加载开发环境配置还是生产环境配置 application.properties #生产环境,开发环境,测试环境切换 pr ...

  5. Java微服务(Spring-boot+MyBatis+Maven)入门教程

    1,项目创建    新建maven项目,如下图: 选择路径,下一步 输入1和2的内容,点完成 项目创建完毕,结构如下图所示: 填写pom.xml里内容,为了用于打包,3必须选择jar,4和5按图上填写 ...

  6. 微服务SpringBoot总结

    什么是SpringBootSpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品官方介绍:Spring Boot makes i ...

  7. 微服务-springboot打包

    idea打包方式: 打包前确认项目可以正常运行 一.File->Project Structure->Artifacts->点击 + ->JAR->From module ...

  8. 微服务-springboot热部署

    spring为开发者提供了一个名为spring-boot-devtools的模块来使Spring Boot应用支持热部署,提高开发者的开发效率,无需手动重启Spring Boot应用. IDEA进行热 ...

  9. 微服务-Springboot+Redis缓存管理接口代码实现

    废话少说,上代码,结合代码讲解: 一.创建maven工程:导入依赖: <packaging>war</packaging><!--修改jdk的版本--><pr ...

  10. 微服务之分布式跟踪系统(springboot+pinpoint)

    这篇文章介绍一下在微服务(springboot开发)的项目中使用pintpoint监控的过程及效果展示. 背景 随着项目微服务的进行,微服务数量逐渐增加,服务间的调用也越来越复杂,我们急切需要一个AP ...

随机推荐

  1. MYSQL数据库设计1

    简单记录一下如何设计MySQL数据库 1.画出概念模型,概念模型是一个业务关系对照图,不需要定义字段类型什么的,仅仅是用于关系对照,指出对照关系 2.根据概念模型设计逻辑模型,逻辑模型需要包含字段的设 ...

  2. CSS – Grid

    前言 有一种布局方式叫 Layout Grid 网格布局. 在 Figma – Layout Grid 有介绍过. 在 RWD 概念篇 也有讲到过 要实现这种布局, 可以用 Flex 也可以用 Gri ...

  3. dfs 验证搜索二叉树——leetcode98

    代码来自leetcode官方 一开始我自己写这个代码时只注意当前节点是否会存在空指针,并没有注意到他的孩子节点也有可能为空,绕了我好久...... /** * Definition for a bin ...

  4. [Tkey] [IOI 2018] werewolf

    注意看,我耗时五个小时 AK 了 IOI 题意 给你一个图,每次给定若干询问 \((s,t,l,r)\),请你完成下述要求: 定义 \(S\) 为到 \(s\) 的最短路径不小于 \(l\) 的点构成 ...

  5. A Proof of Golden Section of Fibonacci Sequence

    Update on 2024/6/25 10:40 (UTF+8) : Add the Part Five and correct some words Hello, I'm glad to show ...

  6. c++中的读写锁

    读写锁是一种特殊的锁机制,允许多个线程同时读取共享数据,但在写入共享数据时,只有一个线程可以进行写操作,其他线程必须等待. 这种机制对于读多写少的场景非常有效,可以提高并发性能.以下是通过 share ...

  7. 数据库周刊57丨Oracle 2021年度安全警报;MySQL 8.0.23发布;MySQL索引优化导致的死锁案例;巨杉数据库跨引擎事务实践;MongoDB企业级能力解析;OceanBase OBCP 实验指导手册……

    摘要:墨天轮数据库周刊第57期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档. 热门资讯 1.Oracle 2021年度安全警报: Critical Patch Update 发布8个 ...

  8. webgl和canvas的区别

    webgl和canvas的区别 WebGL和Canvas的主要区别在于它们的渲染方式.功能复杂性.以及编程难度.12 渲染方式:Canvas使用2D渲染上下文来绘制图形和图像,基于像素的绘图系统, ...

  9. vue-template-admin 模板

    1. 替换登录页的样式 2. settings.js 3. layout 文件夹 4. store 文件夹 4.1 app.js

  10. ajax异步请求数据还没有返回,页面时空白的如何处理

    使用骨架屏,给用户一种正在解析数据的感觉 : element-ui的骨架屏 :https://element.eleme.cn/#/zh-CN/component/skeleton