1

头图.png

来源|阿里巴巴云原生公众号

Sentinel 是阿里巴巴开源的,面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统自适应保护等多个维度来帮助开发者保障微服务的稳定性。Sentinel 承接了阿里巴巴近 10 年的 双11 大促流量的核心场景,例如秒杀、冷启动、消息削峰填谷、集群流量控制、实时熔断下游不可用服务等,是保障微服务高可用的利器,原生支持 Java/Go/C++ 等多种语言,并且提供 Istio/Envoy 全局流控支持来为 Service Mesh 提供高可用防护的能力。

2020 年年初,Sentinel 社区宣布了 Sentinel Go 版本的发布,为 Go 语言的微服务和基础组件提供高可用防护和容错能力的原生支持,标志着 Sentinel 朝着多元化与云原生迈出了新的一步。在这半年的时间内,社区推出了近 10 个版本,逐步对齐了核心高可用防护和容错能力,同时也在不断扩充开源生态,与 dubbo-go、蚂蚁 MOSN 等开源社区进行共建。

11 月,Sentinel Go 1.0 GA 版本正式发布,标志着 Go 版本正式进入生产可用阶段。详情请看:阿里 双11 同款流控降级组件 Sentinel Go 正式 GA,助力云原生服务稳稳稳

Meet new Sentinel Go committers

可喜的是,社区在 11 月迎来了三位新 committer。接下来,我们一起来认识下这三位新 committer。

1.png

1. 是什么契机让你了解到 sentinel 的?

2.png

之前在阿里实习过,对 Sentinel 原本有过一些接触。工作中有一些流控需求,就深入调研过 Sentinel,慢慢的开始和Sentinel开源负责人宿何一起共创 Sentinel Go 这个项目。

3.png

工作项目中需要实现熔断限流相关的功能,就调研了许多相关的开源项目,最终发现基于 sentinel-golang 开发是最合适的。为了对 sentinel-golang 有更深的理解和更好的把控,就开始深度阅读 sentinel-golang 源码,并加入 sentinel 社区与小伙伴们进行深度交流。

4.png

在参与 nacos-sdk-go 项目开发时,了解到 sentienl-golang。另外有计划使用 Nacos 作为外部动态数据源,就参与进来贡献了。

2. 参与到 sentinel 的开源贡献是什么样的体验?

2.png

Sentinel 开源社区是一个非常开放,包容,活跃的社区。在这里可以认识很多的牛人,学习分布式系统高可用流量防护的大量实践经验。在这里任何想法和优秀的设计,都可以和社区核心成员一起讨论并且落地。

3.png

非常幸运能参与到 Sentinel 的开源贡献,在参与的过程中,收获很多。首先认识了很多牛人,获得了很多难得的交流机会;其次,在贡献代码的过程中,进一步加深了对 Sentinel 项目设计与实现的理解;还有就是利用业余时间参与贡献,让自己的业余时间更加充实。

4.png

首先觉得氛围很好,社区大佬 @宿何 和 @louyuting 等等都很热情会非常及时的解答每一个问题。其次觉得社区非常专业,可以和很多小伙伴进行深度交流,参与贡献的过程中会学习到很多知识,对 Sentinel 的设计理念有了更深层次的理解。

3. 支撑你持续贡献 Sentinel 最大的动力是什么?

2.png

Sentinel Go 这个项目我算是第一行代码的 Contributor,一路走过来慢慢跟随着项目的成长。整个过程能够看到项目不断的完善成长,也支持了社区里面一些公司的实际需求。对我而言,一方面是个人的成长,自己主导的 Sentinel Go 里面的一些核心设计能够落地,看到自己做的产品能够真正影响到一些人一些公司,产生实际的价值。另外与一些其余社区比如 dubbogo、mosn 社区,以及社区里面的一些公司合作,能够看到 Sentinel Go 能真正帮助他们解决微服务在高可用流量防护方面的一些痛点,非常有成就感。

3.png

最大的动力就是希望实现个人与 sentinel 的共同成长。每次自己的代码被合并,对自己是个很大的鼓舞,促使自己继续努力、继续提升自我。也希望通过个人微薄的贡献,能使 sentinel 发展地越来越好,能帮助到越来越多的人或项目。最让我有成就感的是自己主动挖掘到了项目中可改进和可优化的点,并且最终完成相应的代码贡献。我认为能够给在一个优秀的开源项目中发现问题并解决问题,是对个人能力一个很好的证明,所以会让我很有成就感。

4.png

最大的动力应该就是对于开源社区的热情吧,以及希望在贡献的过程中与 sentinel 一起成长。在 sentinel 这样的优秀产品中留下自己贡献代码的足迹是非常有意义的事情。从加入社区开始到 sentinel-golang 的 v1.0.0 发布,在这个过程中学习到很多,不断的挑战自己,看着 sentinel-golang 成长很有成就感。

4. 贡献中遇到最大的挑战是什么?

2.png

项目前期对一些高可用流量防护的实际场景理解的不够充分,一些核心设计上考虑的可能不够全面。不过整个社区都比较活跃,和一些社区核心成员沟通交流逐渐加深了对一些业务场景理解。

3.png

前期由于对整个项目熟悉度还不够,贡献代码时,可能仅考虑到一个表面的点,更深层次的东西可能考虑不到。不过,令人欣慰的是社区氛围比较好,在社区成员的帮助下,自己也逐步的对整个项目熟悉起来了。

4.png

最大的挑战也许就是第一次给 sentinel 提交 PR 的时候了。因为刚开始不太熟悉项目 PR 改了很多次。最后多亏 @louyuting 大神耐心指教。

5. 还有在参与 Spring Cloud Alibaba 全家桶中的其他开源项目的贡献吗?

2.png

主要会参与一些 Sentinel Go 与 Dubbo Go 融合的相关事情。

3.png

目前还没有参与其他的项目,后续有机会的话想参一下 Dubbo Go 项目。

4.png

目前也有参与 Nacos 项目。

How to contribute


阿里云云原生
1k 声望302 粉丝