谈谈服务管理平台的设计与实践

299 阅读2分钟

定义

  • 服务管理平台

    • 服务管理平台可以抽象出服务的特征,对服务进行管理,对服务的提供方和服务的调用方分别进行可视化管理。
    • 服务发布需要进行注册,服务节点节点上线需要在服务管理平台确认
    • 调用服务必须经过工单申请,经过服务提供方同意,按需申请,按需调用。
  • 功能

    • 管理
      • 双方平台注册,在线管理、平台发布管控指令、配置管理、服务熔断/降级、调用关系控制。
    • 度量
      • 服务质量、健康指数、问题追逐
    • 监控
      • 多维度流量数据、实时准确、告警、流量控制

为什么需要?

  • 服务增加了一台节点,调用方手动修改配置重启
  • 服务响应时间多少
  • 服务调用来源有哪些
  • 服务出现问题,负责人不能知晓
  • 服务出现问题的原因分析

所以需要一个服务管理平台。

本质

服务的可视化治理

生态环境

  • 服务生态环境
    • 服务运行环境 上游及下游,RPC客户端和RPC服务端 服务端分别于三个模块进行通信。
    • 服务管理平台运行环境 三个模块

服务管理平台运行的工作机制

服务方、调用方都是异步上报采集到的数据

1.上报服务注册(写入mysql)

2.拉去监控数据维度(mysql中取出)

3.拉去服务节点(通过web,mysql)

4.拉去监控数据维度(web,mysql)

5.调用注册服务

6.上报数据(使用udp的方式,netty)

7.推送数据收集维度

8.推送屏蔽调用方

总体架构

质量与监控是一个使用UDP的方式传输,就是收集中心,管理平台是一个web程序,其中的数据缓存在codis,MQ暂时是没有使用的,服务运行集群包含RPC客户端和服务端。控制中心是一个使用Gossip协议的tcp程序。

image.png

收集数据的存储方案

需求:

根据服务名、函数名、调用方查询耗时情况以及调用次数情况

如何选择呢?一般做分布式预计算、集中统计结果落地、MySQL+redis

业务无感知,系统高弹性

保证高可用