SpringCloud琐碎内容
SpringCloud提供了很多监控端点,可以使用http://{ip}:{port}/{endpoint}得形式来访问这些端点,从而了解应用程序的运行状况。
Actuator提供的端点,如表3-2所示
端点 ,描述 HTTP方法
autoconfig 显示自动配置的信息 GET
beans 显示应用程序上下文所有的Springbean GET
configprops 显示所有@ConfigurationProperties的配置属性列表 GET
dump 显示线程活动的快照 GET
env 显示应用的环境变量 GET
health 显示应用的健康指标,这些值由HealthIndicator的实现类提供 GET
info 显示应用的信息,可使用info.*属性自定义info端点公开数据 GET
mappings 显示所有的URL路径 GET
metrics 显示应用的度量标准信息 GET
shutdown 关闭应用(默认情况下不启用, 如需启用,需设置endpoints.shutdown.enable=true) POST
trace 显示跟踪信息(默认情况下最近100个HTTP请求) GET
直接为项目添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
这样就整合好了Actuator了,
可以访问http://localhost:8000/health访问看看了。
硬编码问题
我们有一段代码
@GetMapping("/user/{id}")
public User findById(@PathVariable Long id){
return this.restTemplate.getForObject("http://localhost:8000/"+id,User.class)
}
这一段代码是把提供者的网络地址,硬编码在代码中的,也可以提取到配置文件中去,用@Value引用
但是这种硬编码方式存在很多问题。适用场景有限,无法动态伸缩。
Eureka自我保护模式
Eureka通过自我保护模式,来解决在一定时间内没有接受到某个微服务实例的心态,Eureka会注销该实例,但是当网络分区发生故障时,微服务与Eureka之间无法正常通信,
微服务本身是健康的,不应该在此时注销该实例的问题。一旦节点进入了自我保护模式,Eureka Server就会保护服务注册表中的信息,不再删除服务注册表中的数据,也就是不会
注销任何微服务,当网络故障恢复后,Eureka Server节点会自动退出自我保护模式,自我保护模式是一种应对网咯异常的安全保护措施,它的架构哲学是宁可同时保留所有微服务,包括健康的微服务和不健康的微服务,也不盲目的注销任何健康的微服务,使用自我保护模式,可以让Eureka集群更加的稳定,健壮。
在SpringCloud中,可以使用eureka.server.enable-self-preservation = false 禁用自我保护模式。
最新文章
- opencv 之 icvCreateHidHaarClassifierCascade 分类器信息初始化函数部分详细代码注释。
- mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES
- Git分支学习简记
- JS小游戏-蓝色拼图
- Nhiberate (一)
- LESS 学习记录(简单入门)
- 复利计算6.0—软件工程(web版本)
- JAVA责任链设计模式
- js自定义的简易滚动条
- CCF-201409-1-相邻数对
- ftp搭建 与http服务访问
- SQL SERVER 2012 AlwaysOn - 维护篇 03
- mysql的配置说明
- java面试题03
- html页面出现&;#65279,影响布局
- Topological Sorting拓扑排序
- 实用ExtJS教程100例-006:ExtJS中Window的用法示例
- 微信小程序获取用户手机号
- notepad++下载32位,安装插件管理
- 【Quartz】基本原理