内容简介:Sentinel 是阿里巴巴开源的,面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统自适应保护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的...
Sentinel 是阿里巴巴开源的,面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统自适应保护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀、冷启动、消息削峰填谷、集群流量控制、实时熔断下游不可用服务等,是保障微服务高可用的利器,原生支持 Java/Go/C++ 等多种语言,并且提供 Envoy 全局流控支持来为 Service Mesh 提供高可用防护的能力。
近期,Sentinel Go 0.2.0 正式发布,完善易用性与开源生态,新增 gRPC、Gin、Dubbo-go 等框架的适配,新增动态文件数据源支持。在 0.2.0 版本中,用户只需要简单地对 Sentinel 进行初始化,并且为框架配置 Sentinel 的适配即可快速接入。比如针对 Gin Web 服务,我们只需要以下几步即可快速接入 Sentinel:
1、在服务启动的时候对 Sentinel 进行初始化:
import (
sentinel "github.com/alibaba/sentinel-golang/api"
)
func init() {
err := sentinel.InitDefault()
if err != nil {
log.Fatal(err)
}
}
2、在 Gin 的初始化代码中引入 SentinelMiddleware:
import (
sentinelPlugin "github.com/alibaba/sentinel-golang/adapter/gin"
"github.com/gin-gonic/gin"
)
r := gin.New()
// Sentinel 会对每个 API route 进行统计,资源名称类似于 GET:/foo/:id
// 默认的限流处理逻辑是返回 429 (Too Many Requests) 错误码,支持配置自定义的 fallback 逻辑
r.Use(sentinelPlugin.SentinelMiddleware())
3、配置流控规则。可以创建动态文件数据源,通过文件配置规则,或硬编码配置规则。
详细特性列表请参考 Release Notes,欢迎大家使用并提出建议。
同时,社区也在完善更多的特性和整合模块,如 etcd 数据源、熔断降级等。Sentinel Go 版本的演进离不开社区的贡献,我们非常欢迎大家持续参与贡献,一起来主导未来版本的演进。若您有意愿参与贡献,可以参考 贡献指南 来入门。积极参与贡献的开发者我们会重点关注,有机会被提名为 Committer。Now start hacking!
以上所述就是小编给大家介绍的《Sentinel Go 0.2.0 发布,完善易用性与开源生态》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 异步函数:提高 Promise 的易用性
- JPA 2.2改进了易用性
- SOA监控相关功能的易用性优化(2.18)
- 主攻简单和易用性 谷歌TensorFlow迎来2.0版本
- sorms 1.0.10 发布,易用性更新和 bug 修复
- SmartGit 19.2 Preview 1 发布,性能与易用性改进
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Cyberwar
Kathleen Hall Jamieson / Oxford University Press / 2018-10-3 / USD 16.96
The question of how Donald Trump won the 2016 election looms over his presidency. In particular, were the 78,000 voters who gave him an Electoral College victory affected by the Russian trolls and hac......一起来看看 《Cyberwar》 这本书的介绍吧!