Spring Cloud-Admin服务监控中心

简介

Spring Boot Admin可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍。

SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标开监控SpringBoot应用,然后通过图形化界面呈现出来。Spring Boot Admin不进可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应用。

Spring Boot Admin可以提供应用的以下监控信息:

  • 监控应用运行过程中的概览信息;
  • 度量指标信息,比如JVM、Tomcat及进程信息;
  • 环境变量信息,比如系统属性、系统环境变量以及应用配置信息;
  • 查看所有创建的Bean信息;
  • 查看应用中的所有配置信息;
  • 查看JVM信息;
  • 查看可以访问的Web端点;
  • 查看HTTP跟踪信息;

Spring Cloud-Gateway服务网关

简介

Spring Cloud Gateway 为SpringBoot应用提供了API网关支持,具有强大的智能路由与过滤器功能,本文将对其用法进行详细介绍。

Gateway旨在提供一种简单而有效的方式对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。

Spring Cloud Gateway具有如下特性:

  • 基于Spring Framework 5,Project Reactor和Spring Boot2.0进行构建;
  • 动态路由:能够匹配任何请求属性;
  • 可以对路由指定Predicate(断言)和Filter(过滤器);
  • 集成Hystrix的断路器功能;
  • 集成Spring Cloud服务发现功能;
  • 易于编写的Predicate(断言)和Filter(过滤器);
  • 请求限流功能;
  • 支持路径重写;

Spring Cloud-Consul服务注册发现与配置中心

简介

Spring Cloud Consul为SpringBoot应用提供了Consul的支持,Consul既可以作为注册中心使用,也可以作为配置中心使用,本文将对其用法进行详细介绍。

Consul是HashiCorp公司推出的开源软件,提供了微服务系统中的服务治理、配置中心、控制总线等功能。这些功能中的每一个都可以根据需要单独使用,也可以一起使用以构建全方位的服务网格。

Spring Cloud Consul具有如下特性:

  • 支持服务治理:Consul作为注册中心时,微服务中的应用可以向Consul注册自己,并且可以从Consul获取其他应用信息;
  • 支持客户端负载均衡:包括Ribbon和Spring Cloud LoadBalancer;
  • 支持Zuul:当Zuul作为网关时,可以从Consul中注册和发现应用;
  • 支持分布式配置管理:Consul作为配置中心时,使用键值对来存储配置信息;
  • 支持控制总线:可以在整个微服务系统中通过Control Bus分发事件消息;

Spring Cloud-Sleuth服务链路跟踪

简介

随着我们系统的庞大,各个服务间调用关系变得越来越复杂。当客户端发起一个请求时,这个请求经过多个服务后,最终返回了结果,中间经过的每个服务都有可能发生延迟或错误,从而导致请求失败。这个时候就需要请求链路跟踪工具来帮助我们,理清请求调用的服务链路,快速确定出问题点。

Spring Cloud Sleuth是分布式系统中跟踪服务间调用的工具,它可以直观地展示出一次请求的调用过程。

本文主要对其用法进行详细介绍。

Spring Cloud-Bus消息总线

简介

Spring Cloud Bus是Spring Cloud体系内的消息总线,用来连接分布式系统的所有节点。

Spring Cloud Bus将分布式的节点用轻量的消息代理(RibbitMQ、Kafka)连接起来。可以通过消息代理广播配置文件的更改,或服务之间的通讯,也可以用于监控。解决了微服务数据变更,及时同步的问题。

使用消息代理来构建一个主题,让所有微服务实例订阅,当该消息主题产生消息时会被所有微服务实例监听和消费。

下面我们以RabbitMQ为例来演示下使用Spring Cloud Bus动态刷新配置的功能。