今天給大家分享下小林一位朋友的大喜事。
先來介紹下這位朋友,他是位熱愛開源的 90 后小伙,同時也是愛貓咪的程序員,因此大家都稱他為喵大人。
喵大人一個人創(chuàng)辦了 Dromara 開源社區(qū),自己一人也開源了很多分布式事務(wù)框架,后面他的開源社區(qū)吸引了很多志同道合的朋友,社區(qū)也在逐漸擴大。
最近就發(fā)生了一個喜事,喵大人開源的分布式網(wǎng)關(guān)框架 Soul,經(jīng)過多位社區(qū)朋友的共同維護和努力,這個開源項目成功已經(jīng)加入到了 Apache 基金會孵化階段。
喵大人和他社區(qū)的朋友們這股開源精神值得大家學習,期待未來他們的項目能成為頂級項目!
接下來,是「喵大人和他社區(qū)的朋友們」想說的。
北京時間 2021 年 5 月 3 日,Dromara 開源社區(qū)的 Soul 網(wǎng)關(guān)經(jīng)過 Apache Incubator 的投票,正式步入 Apache 基金會孵化器。
根據(jù)投票結(jié)果,我們獲得了10個約束性投票(binding votes)和 7 個無約束性投票(non-binding votes)的投票,全部持贊同意見,無棄權(quán)票和反對票,投票順利通過。
隨后,Soul網(wǎng)關(guān)項目將改名為 ShenYu。
功能特點
-
提供了諸如限流、熔斷、轉(zhuǎn)發(fā) 、重寫、重定向、和路由監(jiān)控等插件;
-
支持 HTTP、RESTFul、WebSocket、Dubbo、 GRPC、 Tars、 Spring Cloud 代理;
-
支持熱插拔,用戶可以定制化開發(fā);
-
為了靈活的適配,選擇器和規(guī)則可以動態(tài)的適配;
-
支持集群部署;
-
支持 A/B 測試和灰度發(fā)布。
模塊
-
soul-admin : 插件和其他信息配置的管理后臺
-
soul-bootstrap : 用于啟動項目,用戶可以參考
-
soul-client : 用戶可以使用 Spring MVC,Dubbo,Spring Cloud 快速訪問
-
soul-disruptor : 基于disruptor的封裝
-
soul-register-center : 為soul-client提供各種rpc接入注冊中心的支持
-
soul-common : 框架的通用類
-
soul-dist : 構(gòu)建項目
-
soul-metrics : prometheus(普羅米修斯)實現(xiàn)的 metrics
-
soul-plugin : Soul 支持的插件集合
-
soul-spi : 定義 Soul spi
-
soul-spring-boot-starter : 支持 spring boot starter
-
soul-sync-data-center : 提供 ZooKeeper,HTTP,WebSocket,Nacos 的方式同步數(shù)據(jù)
-
soul-examples : RPC 示例項目
-
soul-web : 包括插件、請求路由和轉(zhuǎn)發(fā)等的核心處理包
插件化設(shè)計
無論請求何時進入,Soul 會通過響應(yīng)鏈執(zhí)行所有已打開的插件。
插件是 Soul 的靈魂,并且插件也是可擴展和熱插拔的。
不同的插件實現(xiàn)不同的功能。
當然,用戶也可以定制化插件去滿足他們自己的需求。
如果你有定制化插件的需求,請參看這里:https://dromara.org/zh/projects/soul/custom-plugin/
數(shù)據(jù)緩存 & 數(shù)據(jù)同步
所有的數(shù)據(jù)都被緩存在 JVM 的 ConcurrentHashMap 中,所以它非???。
當用戶在后臺界面改變配置信息時,Soul 通過監(jiān)聽 ZooKeeper node,WebSocket push,HTTP longPull 來動態(tài)更新緩存。
為什么叫神禹
ShenYu (神禹)是我們古代君王夏禹的尊稱(后世也尊稱大禹),為造福百姓,成功治理黃河水患,留下了三過家門而不入的感人故事。其和堯舜并稱為中國古代最偉大的三位君王
-
首先,取名為ShenYu是弘揚我們中華文明的傳統(tǒng)美德。
-
其次,網(wǎng)關(guān)最最重要的是對流量的治理。
-
最后,社區(qū)將會以公平,公正,公開,任人唯賢的做事方式,致敬神禹的同時也非常符合Apache Way。
感謝
我在 2018 年 3 月寫下 soul 網(wǎng)關(guān)的第一行代碼和創(chuàng)立 Dromara 開源社區(qū)的時候,并沒有想到過,社區(qū)的力量是如此的強大,社區(qū)的同學會如此的熱情,非常感謝每一位同學提交的代碼,寫下的每一篇源碼解析的文章,參與的每一次分享活動以及每一個Issue。
感謝 Apache 基金會孵化器的每一位導師,他們耐心的布道,提供了建設(shè)性的意見,讓孵化之路更加通暢。
在進入 Apache 基金會孵化器后,社區(qū)將謹遵 Apache Way,這是我們的新挑戰(zhàn),新啟航!最后,如果大家想了解 ShenYu 開源項目,可以點擊「閱讀原文」,跳轉(zhuǎn)到 Github。
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!