1.版本选择
1.官网查看springcloud与springboot版本对应关系: https://spring.io/projects/spring-cloud#overview
2.官网查看具体版本号约束:https://start.spring.io/actuator/info
image.png
springcloud选择
GA
的稳定版,并进入ReferenceDocimage.png
可以看到准确的版本号对应
image.png
springcloud组件停更与替换
image.png环境搭建
1.maven project
image.png
2.编码设置
image.png
3.注解支持生效
image.png
4.jdk版本
image.png
5.文件显示过滤
image.png
6.智能提示忽略大小写
image.png
7.下载lombok插件
image.png
8.自动生成序列化
image.png
9.热部署
1)父pom文件
<build>
<plugins>
<!--热部署-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
</configuration>
</plugin>
</plugins>
</build>
2)子module pom文件
<!--热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
3)settings设置
image.png
4)Ctrl+Shift+Alt+/ 快捷键,选择Registry,设置好后,重启idea
image.png
image.png
10.Run Dashboard多个子工程使用它开查看比较方便
在工程下的.idea>workspace.xml中修改这部分配置
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
这样在view>ToolWindow>RunDashboard中就可以找到了
项目搭建
1.Post请求controller中接收实体类时需要添加@RequestBody注解
2.重构引入自定义jar包时,注意包的引用,Mapper.xml中的也要注意更换(根据Copy Reference的值进行替换)。
注册中心对比
Eureka:
Zookeeper:
Consul:
Nacos:
FAQ
服务熔断?
微服务存在雪崩的问题,A调用BC,BC分别调用别的应用,在A的删除链路上,如果有的应用响应时间过长或不可用,那么对A的每一次调用都会造成更多的系统资源消耗,进而引起系统崩溃。
为了微服务的链路,一旦响应时间过长或者不可用,需要快速返回错误信息,进行服务降级,进而熔断。
当检测到服务调用正常后再恢复。
服务降级?
降级是指待遇下降了,访问一个伪装者而不是真实的数据。将服务分为不同的层级,降级时从外围非核心功能先降级。降级具有代码侵入性,和业务功能有关。熔断是框架层面每个微服务都需要有的机制。
服务限流?
缓存可以提升系统访问速度、增大系统处理能力;降级可以将非核心功能屏蔽掉,高峰后再开启;但是有些场景功能又要打开、处理能力又提不上去,那么就需要限流来保护系统。对请求进行限速,一旦超出就进行降级(没办法只能返回兜底数据)、拒绝服务、排队等待等。
网友评论