亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

soul網(wǎng)關(guān)發(fā)布2.1.0版本 (做JAVA界最好的API-Gateway)

  • 這是soul網(wǎng)關(guān)開源以來的最大的一次更新,收集了很多社區(qū)反饋的問題,進(jìn)行了更新.

  • 之前的文檔不是很完善,使用成本較高,這里先說聲抱歉,這一個版本中,同時更新了相關(guān)文檔.

  • 在這個版本中,提供 http,dubbo,springcloud等服務(wù)快速接入網(wǎng)關(guān)的功能.

  • 在這個版本中一切都是可擴(kuò)展的,具體的可以看開發(fā)者文檔.

  • 修護(hù)了很多問題,優(yōu)化了很多性能,包括線程模型,異步模型等等.

  • 新增一個元數(shù)據(jù)的概念。

  • 以后的版本更新,基本上以這個版本為基礎(chǔ)原型,來進(jìn)行更新了.

  • 使用之前版本的用戶,如果要升級的話,可以在群里問。。

  • 更新了太多太多地方,無法一一列舉,大家只能去看文檔了.

 

快速啟動 soul-admin

> wget https://yu199195.github.io/jar/soul-admin.jar

> java -jar soul-admin.jar --spring.datasource.url="jdbc:MySQL://你的url:3306/soul?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_&failOverReadOnly=false&autoReconnect=true&useSSL=false"
--spring.datasource.username='you username' --spring.datasource.password='you password'

 

快速啟動 soul-bootstrap

> wget https://yu199195.github.io/jar/soul-bootstrap.jar

> java -jar soul-bootstrap.jar
  • 這樣soul網(wǎng)關(guān)就啟動了

 

springMvc服務(wù)接入

參考文檔: https://dromara.org/zh-cn/docs/soul/joinUp-mvc.html

 

dubbo服務(wù)接入

參考文檔: https://dromara.org/zh-cn/docs/soul/joinUp-dubbo.html

 

springCloud服務(wù)接入

參考文檔: https://dromara.org/zh-cn/docs/soul/joinUp-springcloud.html

 

代碼與文檔

github : https://github.com/Dromara/soul

gitee : https://gitee.com/shuaiqiyu/soul

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

 

Soul網(wǎng)關(guān)發(fā)布2.1.X之后,它到底有多方便?

Soul網(wǎng)關(guān)自從去年10月我開源以來,經(jīng)歷了一年的事情,接受到了來自社區(qū)很多朋友的建議,并進(jìn)行持續(xù)不斷的優(yōu)化,已經(jīng)提供了非常豐富的功能,很多功能都是高度自定義,可視化,高度可擴(kuò)展的,現(xiàn)在做一個歸納總結(jié)。

插件

  • 提供了系統(tǒng)自帶的各種插件,比如簽名,監(jiān)控,限流,熔斷,http代理,dubbo代理,websocket等等。

  • 支持用戶快速的進(jìn)行插件的自定義開發(fā)。

  • 插件的所有數(shù)據(jù),開關(guān)狀態(tài)支持動態(tài)變更。

數(shù)據(jù)同步

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

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

對于用戶

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

  • 默認(rèn)情況下,用戶完全不用關(guān)心 soul網(wǎng)關(guān)的選擇器,規(guī)則等配置。

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

  • 比如 dubbo用戶,幾乎就是http的方式完成了 http協(xié)議到 dubbo協(xié)議的互相轉(zhuǎn)換。

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

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

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

    如果你使用 soul網(wǎng)關(guān)要發(fā)起對它的調(diào)用,你的http傳參數(shù) 就是在 body 里面 傳一個json字符串 ,和普通的http調(diào)用無差別。

    {"id":"123","name":"xiaoyu"}
    

對于開發(fā)者(程序員)

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

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

    我們知道,soul網(wǎng)關(guān)默認(rèn)的返回結(jié)果是:

    {"code":200, "message ": "成功!","data" :"helloWorld!"}
    

    但是,在運(yùn)用 soul網(wǎng)關(guān)對你的業(yè)務(wù)系統(tǒng)進(jìn)行調(diào)用的時候,你的業(yè)務(wù)系統(tǒng)可能定義的結(jié)果并不是上述結(jié)構(gòu),可能你的 字段叫msg,這樣就會造成結(jié)構(gòu)不一樣,給前端處理帶來了困擾。我們注意到了這個事情 :https://github.com/Dromara/soul/issues/109 , 現(xiàn)在已經(jīng)優(yōu)化,用戶可以定制化的來定義返回結(jié)果,具體的要看soul文檔。

說了這么多,吹了這么多牛逼,那么我們來看看 soul網(wǎng)關(guān)到底可以在什么場景下能發(fā)揮大作用。

后臺管理web

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

Java 界最好的 API 網(wǎng)關(guān) Soul

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

如果有運(yùn)營人員在操作其他模塊,會不會吐槽你?

假如你是公司架構(gòu)師,我說的是假如,那么你要怎么解決這個問題呢?當(dāng)然,我們把這樣一個大的web系統(tǒng),拆分成很多小web系統(tǒng),單獨(dú)的進(jìn)行發(fā)布,但是這樣會引入一個問題,怎么統(tǒng)一登陸,鑒權(quán)?(很多后臺管理系統(tǒng)還有權(quán)限的劃分) ,這個時候,soul網(wǎng)關(guān) 就能發(fā)揮重要的作用了,下面我只是列舉了一下簡單的調(diào)用圖。

Java 界最好的 API 網(wǎng)關(guān) Soul

這樣多方便,集成了網(wǎng)關(guān),每個微服務(wù)注冊到網(wǎng)關(guān),網(wǎng)關(guān)根據(jù)路由規(guī)則來進(jìn)行調(diào)用。自動發(fā)現(xiàn)服務(wù),連運(yùn)維配置 Nginx的工作都省了,把運(yùn)維的工資給你,美滋滋。

公司入口網(wǎng)關(guān)(開放平臺)

如果一個公司要做開放平臺或者入口網(wǎng)關(guān),鑒權(quán),限流,監(jiān)控,熔斷肯定少不了。

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

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

不巧,soul在設(shè)計之初就是來干這種事情的,我們來看一下整體的架構(gòu)圖。

Java 界最好的 API 網(wǎng)關(guān) Soul

 

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

  • 比如支持 websocket代理。

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

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

 

最后最后

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

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

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

  •  
  • 最后 3.0 已經(jīng)在進(jìn)行開源了,3.0是經(jīng)歷過2年雙11大并發(fā)場景驗證過的,現(xiàn)在一步一步將它開源出來,希望給大家?guī)韼椭?

分享到:
標(biāo)簽:Java API
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定