文档

Golang应用治理兼容性要求及功能说明

更新时间:

MSE 微服务治理支持 Golang 语言应用。本文将介绍 Golang 应用治理所支持的操作系统、语言版本、第三方组件以及完整治理能力列表。

操作系统

编译工具名

操作系统

架构

instgo_linux_amd64

Linux

amd64

instgo_linux_arm64

Linux

arm64

instgo_darwin_amd64

Darwin/macOS

amd64

instgo_darwin_arm64

Darwin/macOS

arm64

instgo_windows_amd64.exe

Windows

amd64

语言版本

支持 Golang 1.18 及以上版本。

第三方组件

组件

仓库地址

低版本

高版本

Net/HTTP

https://pkg.go.dev/net/http

v1.18

v1.23

Gin

https://github.com/gin-gonic/gin

v1.8.0

v1.10.0

Grpc-go

https://github.com/grpc/grpc-go

v1.44.0

v1.65.1

Kratos

https://github.com/go-kratos/kratos

v2.5.2

v2.7.4

Go-Zero

https://github.com/zeromicro/go-zero

v1.5.0

v1.7.0

Sentinel-Golang

https://github.com/alibaba/sentinel-golang

v1.0.0

v1.4.0

治理能力

功能分类

功能

描述

限制说明

服务契约

应用概览

查看应用的基本监控信息及各种 Top 数据列表。

接口详情

查看该应用所有接口的 QPS、异常请求、RT 和并发数据等。同时还可以为接口配置流量防护规则(企业版能力)。

节点详情

查看应用下所有节点的情况,包括节点的基本信息及节点维度的 QPS 指标、操作系统指标,还可查看节点下接口的流量监控指标。

配置系统防护

配置系统防护

系统防护提供了在不同场景下的系统维度的流量防护能力,以应对各种预期外的情况。例如,当未配置流量防护规则的接口遭遇流量突增时,系统防护能够提供兜底的流量防护,确保应用的稳定性。

流量治理

配置流控规则

流量控制是监控应用或服务流量的 QPS 指标,当达到设定的阈值时立即实施拦截,避免应用被瞬时的流量高峰冲垮,保障应用的高可用性。

配置隔离规则

并发隔离是通过控制接口或依赖的并发线程数,来保证系统稳定性的一种手段。它适用于应用内部或下游依赖不稳定的场景,例如慢 SQL、下游应用响应时间变长等。

配置熔断规则

服务熔断可以监控应用内部或下游依赖的响应时间或异常比例,当达到指定阈值时,立即降低下游依赖的优先级。在指定时间内,系统不会调用该异常资源,避免应用的不稳定运行,从而保障应用高可用性。指定时间过后,系统会重新恢复对该资源的调用。

配置热点参数防护规则(RPC 请求)

为应用配置热点规则后,可以通过分析统计热点参数(即请求过程中被调用次数较高的参数),对包含这些参数的资源调用按照热点规则进行限流,以保护系统稳定性。

只支持 RPC 请求。

全链路灰度

全链路灰度

Golang 应用治理支持全链路灰度能力,您无需修改业务代码,即可以实现端到端的全链路流量控制。

只支持基于 CoreDNS 的 K8s 服务发现方式,暂不支持三方注册配置中心。