创投圈|阿里云中间件开源往事( 四 )


Nacos 只是阿里云众多中间件开源项目中的一员 , 随后还有更多的开源项目反哺给社区 , 形成生态 , 例如轻量级限流降级组件 Sentinel 。
影响生产环境的稳定性因素 , 从来源上看 , 我们通常可以归纳位两类 , 一类是版本发布过程中 , 引入的代码变更带来的风险 , 一类是外部不规则流量带来的风险 。 而 Sentinel 作为一款高可用范畴的开源项目 , 他要解决的就是外部流量导致的稳定性风险 。
中间件开发者 Meetup 深圳站
2018 年 7 月 , 中间件开发者 Meetup 深圳站现场 , 只能容纳 400 人的场地 , 来了近 700 位开发者 。 Sentinel 创始人子矜在现场宣布了轻量级限流降级组件 Sentinel 的开源 。 “Sentinel 经历了 10 多年双 11 的考验 , 覆盖了阿里的所有核心场景 , 也因此积累了大量的流量归整场景以及生产实践 。 Sentinel 以流量为切入点 , 从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性 。 ”
流量控制:某个服务的上限是 1 秒处理 3000 个 QPS , 但如果实际情况遇到高于3000的 QPS 该如何解决呢?Sentinel 通过流量统计的方式 , 当流量超过阈值 , 会帮助服务通过直接拒绝、冷启动、匀速器三种方式来应对 , 从而起流量控制的作用 。熔断降级:服务之间会有相互依赖关系 , 例如服务 A 1 秒可以处理上万个 QPS , 但服务 B 不具备这么高的处理能力 , 那么如何保证服务 A 在高频调用服务B时 , 服务 B 仍能正常工作呢?Sentinel 通过对并发线程数进行限制和响应时间上对资源进行降级 , 这两种手段来实现熔断或降级 , 从而保证服务 B 可以正常工作 。2019 年 , Sentinel 贡献的 spring-cloud-circuitbreaker-sentinel 模块正式被社区合并至 Spring Cloud Circuit Breaker , 由此 , Sentinel 也加入了 Spring Cloud Circuit Breaker 俱乐部 , 成为 Spring Cloud 官方的主流推荐选择之一 。 开源项目需要不断延展他的能力范畴才能保持持续的生命力 , Sentinel 不止于限流降级 , 他是否也可以帮助开发者解决新版本发布过程中的诸多稳定性风险 , 这是即将要发布的 Sentinel2.0 要回答的问题 。
Spring Cloud 官方推荐的微服务方案不止 Sentinel 一个 , 还有 Spring Cloud Alibaba.
2018 年 , 中国的 Java 圈发生了一件大事 。 Spring Cloud 联合创始人 Spencer Gibb 在 Spring 官网的博客页面宣布:阿里巴巴开源 Spring Cloud Alibaba , 并发布了首个预览版本 。 随后 , Spring Cloud 官方 Twitter 也发布了此消息 。
来自 Spring Cloud 官方 Twitter
Spring Cloud Alibaba 项目由两部分组成:阿里巴巴开源组件和阿里云产品组件 , 旨在为 Java 开发人员在使用阿里云产品的同时 , 通过利用 Spring 框架的设计模式和抽象能力 , 注入 Spring Boot 和 Spring Cloud 的优势 。
Spring Cloud 本身是一套微服务规范 , 并不是一个拿来即可用的框架 , 而 Spring Cloud Alibaba 的开源为开发者们提供了这套规范的实现方式 , 而这种实现方式对调用阿里云的资源和云产品能力十分友好 , 这对国内开发者、阿里云、Spring 三方来说 , 都是一个好消息 。
夏天过后 , 开源的热度仍在延续 效率的好处在于 , 我们可以把自己的注意力和时间聚焦在更需要创造力的事情上 , 做更有成就感的事情 。 对于工作在工程领域的开发者们而言 , 他们的效率意识更强 。
2018 年 9 月 , 阿里将内部广泛使用的 Java 线上诊断工具进行开源 , 取名 Arthas (阿尔萨斯) 。 也许是击中了开发者线上排查问题的痛点 , Arthas 在距离开源后的第一个 Release 版发布仅 147 天 , 就获得了超过 1w 的 star 数 , 并有 40 多位 Contributors 参与开源贡献 。