Soul原始碼閱讀 1 初識 Soul

2021-10-14 17:04:49 字數 599 閱讀 1027

無論我們學習什麼東西之前,都要先搞清楚我們要學習的是什麼,就像一些哲學思考先要給出清晰的定義,否則後面的一切都無從談起。

從今天開始,我來和大家一起,學習一款非常優秀的開源閘道器專案 soul。

soul 是什麼呢?先來看下官網作者的定義:

這是乙個非同步的,高效能的,跨語言的,響應式的api閘道器。我希望能夠有一樣東西像靈魂一樣,保護您的微服務。參考了kong,spring-cloud-gateway等優秀的閘道器後,站在巨人的肩膀上,soul由此誕生!

裡面提到了幾個關鍵字,「非同步」、「高效能」、「跨語言」、「響應式」的 api閘道器,在後續學習過程中,心中始終記得這幾個關鍵特性,讓我們一起來一**竟這些特性到底是怎麼實現的。

整體架構圖如下:

仔細看過架構圖後,可以明顯看出,soul 有以下幾個部分組成:

雖然此時對這些概念不是很清楚,到底是幹啥用的,只要有個印象即可。

隨著學習的深入,時不時回頭再來看這張架構圖,想必每次回顧都會有不同的認識,相信我,讓我們繼續探索吧。

Soul原始碼閱讀 2 單機部署 Soul

在學習一項新技術時,我們先按照官網上的 demo 把環境搭建起來。今天先搭建乙個單機版測試環境。這裡有2個選擇 如果學習原始碼後,希望參與到 soul 開源專案中,fork 到自己賬號下,再 clone 自己賬號下的 soul 專案。這裡,我建議大家採用第2種方式,也以第2種方式演示。git clo...

soul原始碼閱讀(十)soul所有外掛程式介紹續

目錄 hystrix外掛程式 sentinel外掛程式 resilience4j外掛程式 monitor外掛程式 waf外掛程式 sign外掛程式 rewrite外掛程式 global外掛程式 webclient外掛程式 webclientresponse外掛程式 tars外掛程式 總結 上篇已介紹...

soul原始碼閱讀(九)soul所有外掛程式介紹

目錄 soul所有外掛程式列表 介紹每個外掛程式 context path外掛程式 divide外掛程式 dubbo外掛程式 springcloud外掛程式 sofa外掛程式 ratelimiter外掛程式 什麼是context path,就是使用者每次用乙個url訪問soul閘道器的時候,會根據c...