90 后少年,开源传奇!

小林coding

共 2067字,需浏览 5分钟

 · 2021-05-11

大家好,我是小林。

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

先来介绍下这位朋友,他是位热爱开源的 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。

浏览 55
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报