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 禁用自我保护模式。

最新文章

  1. opencv 之 icvCreateHidHaarClassifierCascade 分类器信息初始化函数部分详细代码注释。
  2. mysqldump: Got error: 1142: SELECT, LOCK TABLES command denied to user 'root'@'localhost' for table 'accounts' when using LOCK TABLES
  3. Git分支学习简记
  4. JS小游戏-蓝色拼图
  5. Nhiberate (一)
  6. LESS 学习记录(简单入门)
  7. 复利计算6.0—软件工程(web版本)
  8. JAVA责任链设计模式
  9. js自定义的简易滚动条
  10. CCF-201409-1-相邻数对
  11. ftp搭建 与http服务访问
  12. SQL SERVER 2012 AlwaysOn - 维护篇 03
  13. mysql的配置说明
  14. java面试题03
  15. html页面出现&amp;#65279,影响布局
  16. Topological Sorting拓扑排序
  17. 实用ExtJS教程100例-006:ExtJS中Window的用法示例
  18. 微信小程序获取用户手机号
  19. notepad++下载32位,安装插件管理
  20. 【Quartz】基本原理

热门文章

  1. 【洛谷5465】[PKUSC2018] 星际穿越(倍增)
  2. k8s发布文件记录
  3. HTML连载44-标准排版、浮动排版
  4. Mybatis关联查询之一
  5. Python ASCII码与字符相互转换
  6. ubuntu 18.04 安装mysql 遇到语言格式不兼容性问题解决
  7. springboot实践1
  8. yolov3和ssd的区别
  9. 前端之本地存储和jqueryUI
  10. Web前端—— JQuery迷你版实现以及使用