90 后少年,开源传奇!

共 2067字,需浏览 5分钟

 ·

2021-05-11 12:44

大家好,我是小林。

今天给大家分享下小林一位朋友的大喜事。

先来介绍下这位朋友,他是位热爱开源的 90 后小伙,同时也是爱猫咪的程序员,因此大家都称他为喵大人。

喵大人一个人创办了 Dromara 开源社区,自己一人也开源了很多分布式事务框架,后面他的开源社区吸引了很多志同道合的朋友,社区也在逐渐扩大。

最近就发生了一个喜事,喵大人开源的分布式网关框架 Soul,经过多位社区朋友的共同维护和努力,这个开源项目成功已经加入到了 Apache 基金会孵化阶段。


喵大人和他社区的朋友这股开源精神值得大家学习,期待未来他们的项目能成为顶级项目!

接下来,是「喵大人和他社区的朋友们」想说的。


北京时间 2021 年 5 月 3 日,Dromara 开源社区的 Soul 网关经过 Apache Incubator 的投票,正式步入 Apache 基金会孵化器。

根据投票结果,我们获得了10个约束性投票(binding votes)和 7 个无约束性投票(non-binding votes)的投票,全部持赞同意见,无弃权票和反对票,投票顺利通过。

随后,Soul网关项目将改名为 ShenYu

ShenYu 架构

ShenYu 结构图

功能特点

  • 提供了诸如限流、熔断、转发 、重写、重定向、和路由监控等插件;

  • 支持 HTTP、RESTFul、WebSocket、Dubbo、 GRPC、 Tars、 Spring Cloud 代理;

  • 支持热插拔,用户可以定制化开发;

  • 为了灵活的适配,选择器和规则可以动态的适配;

  • 支持集群部署;

  • 支持 A/B 测试和灰度发布。

模块

  • soul-admin : 插件和其他信息配置的管理后台

  • soul-bootstrap : 用于启动项目,用户可以参考

  • soul-client : 用户可以使用 Spring MVC,Dubbo,Spring Cloud 快速访问

  • soul-disruptor : 基于disruptor的封装

  • soul-register-center : 为soul-client提供各种rpc接入注册中心的支持

  • soul-common : 框架的通用类

  • soul-dist : 构建项目

  • soul-metrics : prometheus(普罗米修斯)实现的 metrics

  • soul-plugin : Soul 支持的插件集合

  • soul-spi : 定义 Soul spi

  • soul-spring-boot-starter : 支持 spring boot starter

  • soul-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步数据

  • soul-examples : RPC 示例项目

  • soul-web : 包括插件、请求路由和转发等的核心处理包

插件化设计

无论请求何时进入,Soul 会通过响应链执行所有已打开的插件。

插件是 Soul 的灵魂,并且插件也是可扩展和热插拔的。

不同的插件实现不同的功能。

当然,用户也可以定制化插件去满足他们自己的需求。

如果你有定制化插件的需求,请参看这里:https://dromara.org/zh/projects/soul/custom-plugin/

数据缓存 & 数据同步

所有的数据都被缓存在 JVM 的 ConcurrentHashMap 中,所以它非常快。

当用户在后台界面改变配置信息时,Soul 通过监听 ZooKeeper node,WebSocket push,HTTP longPull 来动态更新缓存。

为什么叫神禹

ShenYu (神禹)是我们古代君王夏禹的尊称(后世也尊称大禹),为造福百姓,成功治理黄河水患,留下了三过家门而不入的感人故事。其和尧舜并称为中国古代最伟大的三位君王

  • 首先,取名为ShenYu是弘扬我们中华文明的传统美德。

  • 其次,网关最最重要的是对流量的治理。

  • 最后,社区将会以公平,公正,公开,任人唯贤的做事方式,致敬神禹的同时也非常符合Apache Way。

感谢

我在 2018 年 3 月写下 soul 网关的第一行代码和创立 Dromara 开源社区的时候,并没有想到过,社区的力量是如此的强大,社区的同学会如此的热情,非常感谢每一位同学提交的代码,写下的每一篇源码解析的文章,参与的每一次分享活动以及每一个Issue。

感谢 Apache 基金会孵化器的每一位导师,他们耐心的布道,提供了建设性的意见,让孵化之路更加通畅。

在进入 Apache 基金会孵化器后,社区将谨遵 Apache Way,这是我们的新挑战,新启航!

最后,如果大家想了解 ShenYu 开源项目,可以点击「阅读原文」,跳转到 Github。

浏览 69
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报