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

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. 是什么契机让你了解到 sentinel 的?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目前也有参与 Nacos 项目。

How to contribute

  • 欢迎各位开发者前往 sentinel go 社区和 committer 们直接交流:https://github.com/alibaba/sentinel-golang

  • 如果你也想成为 sentinel contributor,不妨从 good first issues 开始:https://github.com/alibaba/sentinel-golang/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22

  • How to contribute to Sentinel?:https://github.com/alibaba/sentinel-golang/blob/master/CONTRIBUTING.md

Meet new Sentinel Go committers!相关推荐

  1. Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:爱宝贝丶 my.oschina.net/zhangxufen ...

  2. Redis 单例、主从模式、sentinel 以及集群的配置方式及优缺点对比(转)

    摘要: redis作为一种NoSql数据库,其提供了一种高效的缓存方案,本文则主要对其单例,主从模式,sentinel以及集群的配置方式进行说明,对比其优缺点,阐述redis作为一种缓存框架的高可用性 ...

  3. c++ 单例模式_Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比

    redis作为一种高效的缓存框架,使用是非常广泛的,在数据存储上,在运行时其将数据存储在内存中,以实现数据的高效读写,并且根据定制的持久化规则不同,其会不定期的将数据持久化到硬盘中. 另外相较于其他的 ...

  4. Redis Sentinel 源码:Redis的高可用模型分析

    摘要:本文通过对Redis Sentinel源码的理解,详细说明Sentinel的代码实现方式. Redis Sentinel 是Redis提供的高可用模型解决方案.Sentinel可以自动监测一个或 ...

  5. Redis原理(Replication、Sentinel、Twemproxy、RedisCluster)

    Redis的主从复制 拷贝自http://blog.csdn.net/stubborn_cow/article/details/50442950 Redis复制工作原理: 1.如果设置了一个Slave ...

  6. 【redis源码分析】Redis Sentinel 是如何实际解决分布式共识问题的

    文章目录 开题 Sentinel 结构 Sentinel故障与安全模式:TITL模式 故障转移主逻辑 心跳监测 判断下线 及 投票表决 投票选举 leader哨兵 故障转移状态机 开题 前几篇都偏离了 ...

  7. 【转】Redis 分布式——可用性保证之 Sentinel(实战篇)

    前言 在上个篇章我们阐述了Sentinel的原理,可能大家还是云里雾里,需要来点实战性的东西,那这个篇章我们来个实战篇吧-话不多说,我们开始今天的吹牛皮- 正文 Sentinel 实战 Sentine ...

  8. Redis高可用方案:sentinel(哨兵模式)和集群

    一. redis高可用方案–sentinel(哨兵模式) 当我们搭建好redis主从复制方案后会发现一个问题,那就是当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力, ...

  9. Redis高可用解决方案:sentinel(哨兵模式)和集群

    一. redis高可用方案–sentinel(哨兵模式) 当我们搭建好redis主从复制方案后会发现一个问题,那就是当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力, ...

最新文章

  1. PHP自动搜索框post,php搜索框提示(自动完成)实例代码_PHP教程
  2. 开发日记-20190915 关键词 汇编语言王爽版 第十三章
  3. python hex 补0_Python保留前导零的二进制到十六进制转换
  4. Process 执行shell 脚本
  5. 什么是MircoPython?
  6. 天梯—是不是太胖了(C语言)
  7. PHP中的PDO详解
  8. python爬虫菜鸟教程-Python爬虫学习100练001
  9. 计算机网络领悟摩尔定,计算机网络等133信息技术展望P15-P17.PPT
  10. 双时隙的工作原理_双向可控硅的工作原理及原理图
  11. 关于笔记本WLAN无线上网
  12. python最新抢票脚本
  13. python包从一台电脑迁移拷贝到另一台电脑
  14. 网络舆情信息传播动态监测查询方法
  15. 单词拆分java与填表法_139. 单词拆分
  16. 收藏 年度大盘点 可信计算相关(国家、部委、省市)法律、法规、政策、规划汇总
  17. 如何做到企业数据安全恢复
  18. windows访问linux虚拟机文件
  19. 怎么把照片做成视频?教你一键成片的制作方法
  20. IMX6 GT9xx(GT911) 驱动移植(不包含 TSLIB 移植)

热门文章

  1. 160个Crackme010
  2. mysql 1045 登录失败
  3. 16、HTML密码框
  4. 2、(整数类型)INT、TINYINT、SMALLINT、MEDIUMINT、BIGINT
  5. 求最小生成树-Prim(普里姆算法)
  6. Codeforces Round #744 (Div. 3)【A-E1】
  7. 【PAT乙级】1061 判断题 (15 分)
  8. selenium2与python自动化2-元素定位
  9. Keepalived简介
  10. MySQL查看数据表