精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

微服務查詢語言restQL已在GitHub上發布

責任編輯:editor004

作者:Thomas Betts

2018-01-16 12:03:08

摘自:INFOQ

微服務查詢語言restQL已經成為了一個開源項目,使用MIT開源許可。與其他查詢語言類似,restQL語句描述了要獲取的資源,并用參數進行過濾。對于更復雜也更常見的場景,比如鏈式調用或者多路復用調用(如下例所示)也非常清晰直觀。

微服務查詢語言restQL已經成為了一個開源項目,使用MIT開源許可。restQL語言旨在簡化客戶端訪問RESTful微服務的常用場景,包括并行調用和鏈式調用。由拉丁美洲最大的電子商務公司B2W開發的restQL,是為了避免Falcor和GraphQL這兩個更為人熟知的數據查詢和管理框架的一些限制而誕生的。

Falcor僅適用于使用JavaScript的客戶端,而restQL對于任何支持HTTP REST調用的客戶端都適用。這意味著restQL也能適用于使用Swift和Java編寫的移動應用。盡管GraphQL現在已經是一種成熟的數據查詢語言,但是它不支持一些對RESTful服務來說簡單或約定俗成的特性,比如HTTP響應狀態碼或者本地瀏覽器緩存。

與其他查詢語言類似,restQL語句描述了要獲取的資源,并用參數進行過濾。比如:

 from hero with name = "Restman"

默認情況下,查詢是并行執行的,無須任何特殊語法。對于更復雜也更常見的場景,比如鏈式調用或者多路復用調用(如下例所示)也非常清晰直觀。

 from hero with name = "Restman" from sidekick with hero = hero.id

對restQL查詢的解析和響應由restQL服務端處理。restQL服務端是用Clojure實現的,它充當著提交restQL查詢的客戶端和后端APIs之間的橋梁。所有的配置信息都是存在服務端的,以匹配資源名稱和相應的調用端點(endpoint)。由于restQL服務端開放了標準的REST調用端點,所以不需要專門處理的客戶端。

在一篇聲明restQL的博客文章中,B2W Digital的IT經理,同時也是restQL的作者之一的Ricardo Mayerhofer提到,這個項目是在公司向微服務遷移的過程中誕生的。開發團隊很快從向微服務的遷移中受益,因為應用程序變得更小,相應的維護也更簡單。但是,前端代碼變得更加復雜了,因為需要向多個微服務發送請求,而不是像以前那樣只用向一個整體的服務發送一個請求。Ricardo總結了他們的經驗:“基于微服務的架構并不是什么銀彈。盡管能給服務端團隊帶來直接的好處,但是它的特性給使用者帶來了復雜性和性能方面的挑戰。”在參考了Falcor和GraphQL后,restQL誕生了,并被證明有助于簡化客戶端對大量后端服務的訪問。

你可以在項目主頁http://restql.b2w.io/上找到更多關于restQL的信息。源代碼則在GitHub上。

查看英文原文:restQL, a Microservices Query Language, Released on GitHub

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 梅州市| 巴里| 宁晋县| 桦南县| 留坝县| 湘乡市| 大连市| 凤翔县| 越西县| 长阳| 珲春市| 丰顺县| 长垣县| 龙胜| 新密市| 青铜峡市| 咸宁市| 石泉县| 西乌珠穆沁旗| 呼伦贝尔市| 玛多县| 林西县| 沙河市| 高淳县| 金坛市| 漳浦县| 樟树市| 康马县| 张家界市| 武冈市| 双鸭山市| 凌海市| 麻江县| 庆云县| 商都县| 开封县| 谷城县| 龙门县| 当雄县| 通江县| 德钦县|