微服务治理与统计分析

开发 架构
微服务架构下,服务拆得越细,服务的粒度越小,可组装性就越好;与之相对的服务之间的调用关系就会变复杂,为了保证服务更好的运行,需要对这些服务进行监控和管理。本文大家介绍下EOS微服务平台如果对微服务进行日志查看、API调用统计、限流、熔断、负载均衡的管理。

引言:

微服务架构下,服务拆得越细,服务的粒度越小,可组装性就越好;与之相对的服务之间的调用关系就会变复杂,为了保证服务更好的运行,需要对这些服务进行监控和管理。本文大家介绍下EOS微服务平台如果对微服务进行日志查看、API调用统计、限流、熔断、负载均衡的管理。

[[277059]]

目录:

1.EOS微服务平台简介

2.微服务监控统计

3.微服务治理

1.EOS微服务平台简介

微服务治理与统计分析
微服务治理与统计分析

(1)域是平台中一组系统的统称,通常为一组系统定义成有业务含义的域,比如信贷域。一个域有多个系统,一个系统只能属于一个域。一个域下可以日志中心、注册中心、配置中心、APM监控中心已经断路器监控中心

(2)系统是平台中一组应用的统称,通常为一组应用定义成有业务含义的系统,比如信贷系统。一个系统有多个应用,一个应用只能属于一个系统。

(3)应用(微服务应用)是平台开发出的基本部署单元,一个应用只能属于一个系统,一个应用有1到多个应用实例组。

(4)应用实例组是平台中应用的实例分组,每个应用可以有1到多个应用实例分组,不同的应用实例组拥有独立的应用配置与管理能力,不同的应用实例组之间可以通过流控策略,实现应用的灰度发布能力。应用实例组下面有多个应用实例。

(5)应用实例是平台下实际部署应用的进程,应用实例属于某一个应用实例组。

2.微服务监控统计

(1)应用监控

微服务治理与统计分析

通过应用监控可以查看一个系统内应用之间的调用关系。单个应用的平均响应时间、平均吞吐以及慢的端点访问。

(2)实例监控

微服务治理与统计分析
微服务治理与统计分析

通过实例监控可以查看一个实例的运行情况包括:平均吞吐、平均响应时间、CPU、内存以及SQL的执行。

(3)请求监控

微服务治理与统计分析
微服务治理与统计分析

通过请求监控可以查看一个请求是成功还是错误,它的响应时间,以及它的调用链路:经过了几个微服务,在每个微服务内的耗时是什么情况。

(4)API调用统计

微服务治理与统计分析

API调用统计可以按照应用、实例组、实例、API来统计汇总请求信息,包括:响应状态码,请求数,最小响应时间,最大响应时间,平均响应时间以及响应时间总和。支持按应用、实例组、实例、API、时间段等条件进行查询以及按请求数和响应时间排序。

(5)应用日志查看


应用日志汇聚多个应用实例的日志,进行统一查看。查看时支持按实例以及时间段进行查询过滤,应用日志自带traceId, spanId这些请求追踪号。

3.微服务治理

(1)实例上下线

微服务治理与统计分析

通过设置实例的状态,使得实例不会被其他应用调用。这个是在客户端实现,客户端是通过ribbon做负载均衡,ribbon会过滤掉状态为OUT_OF_SERVICE的服务提供者实例。

(2)API上下线

微服务治理与统计分析

通过设置API的状态,使得API不会被其他应用调用。这个是在服务端实现,通过在服务端增加Filter拦截器,对已下线的API的请求访问,返回403的状态码。

(3)熔断

微服务治理与统计分析

 

微服务治理与统计分析

EOS的熔断实现使用的是Hystrix,通过在页面配置熔断对象以及触发条件来设置断路器。熔断对象对应的是Hystrix的CommandKey,触发条件包括:

  • 手工熔断(强制打开熔断器)
  • 取消熔断(强制关闭熔断器)
  • 自动熔断(规定时间内请求数超过阈值并且失败率达到阈值才会触发熔断, 熔断后指定时间内尝试取消熔断)

这个配置通过写入到配置中心及时下放到各个应用,实现动态配置能力。

(4)限流

微服务治理与统计分析

EOS现在的限流是对于每个应用实例独立计算,如设置每秒访问10次,一个应用有3个实例,则这3个实例每个都允许每秒访问10次。限流是通过在服务端的Filter里使用Guava的RateLimiter实现。

这个配置通过写入到配置中心及时下放到各个应用,实现动态配置能力。

(5)负载均衡

微服务治理与统计分析

EOS的负载均衡使用的是Ribbon实现,可以针对每个目标客户端设置规则类型,支持:随机、循环、自定义等;另外还支持容错,容错是指当对某个实例的调用超时后的补救措施:

  • 快速失败(Failfast):什么也不做,直接抛出异常
  • 失败自动切换(Failover):尝试访问新的实例,按指定次数尝试
  • 失败原地重试(Failback):尝试访问同一实例,按指定次数尝试

这个配置通过写入到配置中心及时下放到各个应用,实现动态配置能力。

以上向大家分享了普元EOS 8 微服务平台里治理与统计分析,希望对大家有所帮助。不足之处,也请多多指正。

 

责任编辑:华轩 来源: EAWorld
相关推荐

2015-08-19 09:40:51

统计分析

2022-02-18 12:58:35

go-monitor工具服务质量

2016-12-01 17:33:52

微信

2012-09-25 14:18:51

Linux桌面环境

2010-12-30 09:44:10

C#Attribute

2015-02-27 09:53:06

Countly

2024-11-07 11:10:34

Python脚本统计分析

2011-03-14 14:41:59

大数据数据中心

2009-06-29 15:25:21

SessionJSP

2015-01-05 17:28:02

JMP

2014-06-04 09:42:41

工业控制系统APT

2011-05-27 13:56:04

网站流量

2010-06-01 14:30:06

Mrtg教程

2013-09-10 14:50:12

数组面试题

2014-10-28 14:59:42

手游付费行为数据统计分析

2010-06-07 17:26:41

Mrtg教程

2021-06-10 09:53:04

数据统计统计分析数据

2011-05-27 14:03:22

网站流量

2023-10-25 09:39:46

2020-05-15 15:21:58

SPSS数据分析
点赞
收藏

51CTO技术栈公众号