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 | v1.18 | v1.23 | |
Gin | v1.8.0 | v1.10.0 | |
Grpc-go | v1.44.0 | v1.65.1 | |
Kratos | v2.5.2 | v2.7.4 | |
Go-Zero | v1.5.0 | v1.7.0 | |
Sentinel-Golang | v1.0.0 | v1.4.0 |
治理能力
功能分类 | 功能 | 描述 | 限制说明 |
服务契约 | 查看应用的基本监控信息及各种 Top 数据列表。 | 无 | |
查看该应用所有接口的 QPS、异常请求、RT 和并发数据等。同时还可以为接口配置流量防护规则(企业版能力)。 | 无 | ||
查看应用下所有节点的情况,包括节点的基本信息及节点维度的 QPS 指标、操作系统指标,还可查看节点下接口的流量监控指标。 | 无 | ||
配置系统防护 | 系统防护提供了在不同场景下的系统维度的流量防护能力,以应对各种预期外的情况。例如,当未配置流量防护规则的接口遭遇流量突增时,系统防护能够提供兜底的流量防护,确保应用的稳定性。 | 无 | |
流量治理 | 流量控制是监控应用或服务流量的 QPS 指标,当达到设定的阈值时立即实施拦截,避免应用被瞬时的流量高峰冲垮,保障应用的高可用性。 | 无 | |
并发隔离是通过控制接口或依赖的并发线程数,来保证系统稳定性的一种手段。它适用于应用内部或下游依赖不稳定的场景,例如慢 SQL、下游应用响应时间变长等。 | 无 | ||
服务熔断可以监控应用内部或下游依赖的响应时间或异常比例,当达到指定阈值时,立即降低下游依赖的优先级。在指定时间内,系统不会调用该异常资源,避免应用的不稳定运行,从而保障应用高可用性。指定时间过后,系统会重新恢复对该资源的调用。 | 无 | ||
为应用配置热点规则后,可以通过分析统计热点参数(即请求过程中被调用次数较高的参数),对包含这些参数的资源调用按照热点规则进行限流,以保护系统稳定性。 | 只支持 RPC 请求。 | ||
全链路灰度 | Golang 应用治理支持全链路灰度能力,您无需修改业务代码,即可以实现端到端的全链路流量控制。 | 只支持基于 CoreDNS 的 K8s 服务发现方式,暂不支持三方注册配置中心。 |