日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Soul网关发布2.1.X之后,它到底有多方便?

發布時間:2024/4/11 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Soul网关发布2.1.X之后,它到底有多方便? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方“朱小廝的博客”,選擇“設為星標”

后臺回復”加群“加入公眾號專屬技術群

Soul 網關自從去年10月我開源以來,經歷了一年的事情,接受到了來自社區很多朋友的建議,并進行持續不斷的優化,已經提供了非常豐富的功能,很多功能都是高度自定義,可視化,高度可擴展的,現在做一個歸納總結。

  • 插件

  • 提供了系統自帶的各種插件,比如簽名,監控,限流,熔斷,http代理,dubbo代理,websocket等等。

  • 支持用戶快速的進行插件的自定義開發。

  • 插件的所有數據,開關狀態支持動態變更。

  • 數據同步

  • 提供了 http長輪詢,zookeeper,websocket ?三種不同的數據同步策略,讓用戶自由選擇。

  • 推薦用戶使用websocket方式,最輕量,在集群環境下,效率更高。

  • 對于用戶

  • 首先我們提供了便于用戶接入的 client包,用戶可以把快速的把自己的項目接入到soul 網關。

  • 默認情況下,用戶完全不用關心 soul網關的選擇器,規則等配置。

  • 用戶之前的接口完全是零侵入,不需要任何更改,只是需要把訪問域名改成網關的域名即可。

  • 比如 dubbo用戶,幾乎就是http的方式完成了 http協議到 dubbo協議的互相轉換。

  • soul 使用的是http協議,那么注定它就是跨語言的,net程序員,php程序員等等,要和java進行數據交互,那么就大大的可行了。

    舉個列子 ,比如你有一個 dubbo接口 參數定義是一個java bean,

    public?void?insert(final?DubboTest?dubboTest)?{}public?class?DubboTest?implements?Serializable?{private?String?id;private?String?name; }

    如果你使用 soul網關要發起對它的調用,你的http傳參數 就是在 body 里面 傳一個json字符串 ,和普通的http調用無差別。

    {"id":"123","name":"xiaoyu"}
  • 對于開發者(程序員)

  • 隨著使用者越來越多,每個公司使用情況又不一樣,soul 網關在2.1.X版本,處處留出來更多的高度自定義擴展性,讓開發者,更加方便或者有信心融入進來。

  • 比如,自定義插件,過濾器,dubbo參數解析器,iphost解析器,返回結果等等。。這里我著重說一下自定義返回結果。

    我們知道,soul 網關默認的返回結果是:

    json {"code":200, "message ": "成功!","data" :"helloWorld!"}
    但是,在運用 soul 網關對你的業務系統進行調用的時候,你的業務系統可能定義的結果并不是上述結構,可能你的 字段叫 ?msg,這樣就會造成結構不一樣,給前端處理帶來了困擾。我們注意到了這個事情 :https://github.com/Dromara/soul/issues/109 , 現在已經優化,用戶可以定制化的來定義返回結果,具體的要看 soul 文檔。

說了這么多,吹了這么多牛逼,那么我們來看看 soul網關到底可以在什么場景下能發揮大作用。

  • 后臺管理web

  • 首先隨便微服務的流行,我們的后臺都劃分成很多的微服務,我相信你們每個公司都有一個后臺管理系統吧,如果我沒猜錯的話,他們大體上是如下架構。

  • 很簡單對吧,就是有個運營管理平臺的web項目,去調用每個微服務,來進行后臺的查看等等。隨著你們業務需要的加大,可能這里需要調用的微服務越來越多,你的 controller越來越多,現在比如你修改了 商品模塊的 接口,你要發版會造成所有其他的模塊也操作不了(就是你發版影響了其他模塊的使用,別杠這里只是比方,不要整藍綠發版啥的,明白意思吧)。
    如果有運營人員在操作其他模塊,會不會吐槽你?

  • 假如你是公司架構師,我說的是假如,那么你要怎么解決這個問題呢?當然,我們把這樣一個大的web系統,拆分成很多小web系統,單獨的進行發布,但是這樣會引入一個問題,怎么統一登陸,鑒權?(很多后臺管理系統還有權限的劃分) ,這個時候,soul 網關 就能發揮重要的作用了,下面我只是列舉了一下簡單的調用圖。

  • 這樣多方便,集成了網關,每個微服務注冊到網關,網關根據路由規則來進行調用。自動發現服務,連運維配置 nginx的工作都省了,把運維的工資給你,美滋滋。

  • 公司入口網關(開放平臺)

  • 如果一個公司要做開放平臺或者入口網關,鑒權,限流,監控,熔斷肯定少不了。

  • 如果貴公司是dubbo體系,開發人員寫了dubbo服務后,還要傻乎乎的新增一個web項目,來提供接口給別人調用嗎?

  • 如果一個接口被攻擊,你怎么處理呢?如果被大流量攻擊,你怎么處理呢?

  • 不巧,soul 在設計之初就是來干這種事情的,我們來看一下整體的架構圖。

零零總總還有很多其他功能

  • 比如支持 websocket 代理。

  • 比如支持文件上傳下載。

  • 比如你可以自定義的開發你的插件啊。

最后最后

  • github地址 :https://github.com/Dromara/soul

  • gitee地址 :https://gitee.com/shuaiqiyu/soul

  • 文檔:https://dromara.org/zh-cn/docs/soul/soul.html

  • 歡迎大家關注,如果貴公司有使用到,或者需要學習交流,或者提供代碼參與開發的朋友也可以加群來進行討論 ,qq群(429951241)

  • 最后 3.0 已經在進行開源了,3.0是經歷過2年雙11大并發場景驗證過的,現在一步一步將它開源出來,希望給大家帶來幫助.

想知道更多?描下面的二維碼關注我

?

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的Soul网关发布2.1.X之后,它到底有多方便?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。