soul閘道器學習筆記二

2021-10-14 23:37:35 字數 1817 閱讀 9800

目錄

web專案如何引入soul閘道器

壓力測試

第二天學習分析、總結

相關使用文件可參考官方文件:

今天是學習soul閘道器的第二天,今天的目標是使用soul專案提供的http例子,學會如何在業務專案中引入使用soul。

在soul專案裡面有個子模組:soul-examples,官方例子。

其中http提供服務的埠為8189,配置本地soul-admin的位址,該服務埠,上下文路徑,服務名稱,full若為true則表示soul閘道器將對整個服務提供**。

檢視pom.xml檔案,引入了:soul-spring-boot-starter-client-springmvc

在postman,測試:http://localhost:8188/test/findbyuserid?userid=11

testhttp專案已啟動成功,接下來看看是否已接入網關。

postman中輸入:http://localhost:9195/http/test/findbyuserid?userid=11

,結果如下:

總結:從目前看soul的使用還是很簡單的,業務專案只要引入soul-spring相關的starter(soul-spring-boot-starter-client-springmvc),並在配置檔案中,配置soul相關的內容,即可接入soul閘道器,通過soul閘道器**業務請求。

在我們的業務專案中使用soul閘道器,那麼我們一定會關心引入所帶來的效能問題。

根據上面的步驟我們,再啟動乙個soul-exmaple-http服務,服務提供埠為:8188,看那一下soul-admin中的註冊情況:

可以看到example-http服務的介面資料已註冊在閘道器上,可以很細粒度的對單個介面的負載均衡策略進行配置,也可以對兩個服務的權重配置。對機器效能好的服務加大權重,處理更多的業務請求。接下來通過superbench對其進行壓力測試。

對某個介面5000次請求,併發請求10次,效果如下:

同樣還是5000次請求,併發請求20次,效果如下:

本地電腦是i5,16g的聯想,電腦比較一般,同時這個介面並沒有做什麼有業務操作,1400/s的qps參考價值不大。可以在接入業務專案之後對相關介面進行壓測。

這篇筆記主要是學習如何在專案中接入soul閘道器;

簡單的了解了soul閘道器對不同服務的負載策略、每個介面可配置不同策略,這些配置都可以在soul-admin管理後台很容易的使用,上手;

簡單的做了一下壓測,雖然結果參考價值不大,但是壓測是對技術選項非常必要的手段之一;

目前為止還只是停留在soul的使用層面,接下來將進入**層面去學習soul專案。

Soul閘道器原始碼學習05

soul web基於webflux 可以使用netty作為應用伺服器,eventloop 可以說是netty的排程中心,負責事件的監聽 i o事件 訊號事件 channelpipeline 事件處理鏈,channelhandler事件處理。相對於channelpipeline 而言netty事件分為...

Soul閘道器原始碼學習06

在soul閘道器中每個請求,都會通過責任鏈的方式執行相匹配的外掛程式,所以外掛程式也是soul閘道器的核心,soul閘道器的外掛程式是可插拔的,並且是外掛程式之間依賴關係是松耦合且外掛程式的功能實現高聚合,其次使用者可根據需求定製外掛程式滿足自己的需求。soul外掛程式配置類,使用 spring.f...

soul閘道器學習sofa 外掛程式體驗(下)

首先回憶下程式沒有進入sofaplugin的可能原因 外掛程式狀態沒有開啟直接沒有執行直接 首先確認了狀態已經開啟,debug發現我的外掛程式鏈裡面並沒有sofa外掛程式 懷疑沒有初始化sofaplugin 再次看了波官網檢查了下閘道器日誌 發先輸出日誌裡面sofa外掛程式沒有被載入 找到原因 在閘...