精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

閑魚在數據聚合上的探索與實踐

大數據
閑魚在降低開發成本,提高整體效率上做了一些嘗試和實踐。本文介紹閑魚從數據聚合方面進行了一些探索和嘗試,以及Graphql的引入給閑魚帶了研發效率的提升。

概述

隨著業務的不斷擴張,各種運營活動越來越多,原有的前端渲染-后端提供業務接口的開發方式對于一個生命周期可能只有幾天的活動來說成本巨大。閑魚在降低開發成本,提高整體效率上做了一些嘗試和實踐。本文介紹閑魚從數據聚合方面進行了一些探索和嘗試,以及Graphql的引入給閑魚帶了研發效率的提升。

背景

長期以來,前端和后端開發中面臨一個矛盾:前端希望頁面只獲取結構化數據,能夠直接渲染出頁面組件;后端則希望只提供業務領域API服務能力,數據組裝和處理由前端完成。mock數據,聯調等低價值的工作會耗費很多的成本,原有的開發模式已跟不上業務快速發展的節奏。 因此我們希望前端可以直接獲取數據,后端又能從重復的、低價值的消費型開發中解放出來。 

數據聚合是我們解決的一個思路。

1. 數據聚合的解決方案

數據聚合是將多個服務請求一起打包給服務端,服務端一次性返回相應請求的結果,這種方式可以降低網絡耗時,在數據處理上也會更方便。在入參語法上也有擴展的可能性,比如依賴調用等,是一種比RESTFul更加靈活和高效的查詢方式。 

在數據聚合的調用下,由于服務端的業務領域接口已經存在,這些接口認為是可靠的,聯調成本將會大大降低,在一些測試環境發生異常的情形,前端甚至可以直接在線上測試。

設計原則

  • 服務端暴露通用場景的數據服務,即標準業務API,包括數據查詢和寫入;
  • 盡可能少與前端交互,一次調用獲取所有所需數據
  • 并發/異步調用降低耗時

2. 數據聚合1.0

閑魚服務端開發了第一個數據聚合服務。 通過將底層服務暴露出來,從請求總入口進行并發調用具體的服務接口,頁面多個服務查詢可以一次性將所有的數據返回給前端。 調用過程如下: 

這個框架有如下幾個特點:

  • 非常輕量,核心代碼1000行左右
  • 去中心化直接部署在應用系統上,不依賴其他二方包和服務系統,
  • 無代碼入侵,無需對現有系統服務和代碼做改造適配,僅需在注冊中心注冊服務即可

全并發調用,調用的多個服務API均采用并發方式調用,耗時低 此外我們對其語法結構和功能上進行了擴展:支持字段選取,依賴調用,循環依賴檢查,別名等功能: 

2.1 上線效果

上線半年內,數據聚合服務支撐了30+的頁面上線,占同類需求的80%以上,降低了兩端的開發成本超過50%。

2.2 閑魚聚合服務上線后存在以下問題:

數據響應結構對調用方不夠友好,雖然支持依賴調用,但是返回的數據是平級展現形式,對于一些批量接口來說,返回的結構往往是Map結構,這需要調用方進一步處理,增加了復雜度;

安全性問題。multiquery的查詢串沒有經過加密,一些非法的請求可能會修改查詢語句帶來系統風險;而且對于一些敏感數據需要加密或脫敏處理,multiquery語法結構上缺乏數據處理的擴展點

研發體系不完善:缺乏對服務的meta信息透出,導致調用方不清楚要用哪個服務,入參是什么出參是什么,雙方存在一定的溝通成本。沒有ide支撐,書寫起來比較困難。

3. GraphQL-像寫sql一樣拼裝數據

3.1 什么是Graphql

Graphql (https://graphql.org ) 是 facebook 推出的一種數據查詢語言,其設計的目的是要將不穩定的數據組裝部分從穩定的業務數據邏輯中剝離,使數據控制邏輯前移,開發模式由“下發數據”轉變成“取數據”的過程。 

Graphql的優勢:

結構化清晰:所見即所得,輸入和輸出結構一致,前端需要什么數據字段,就在ql上填寫什么字段,同時支持多層級結構,也可以平級展現,由調用方根據業務決定合適的輸出形式。

精細化場景控制:即便是類似的場景,需要的數據也可能不完全相同,graphql中沒有一個數據是多余的

數據處理可擴展性強:graphql提供了很多Directives滿足日常的開發需求,甚至支持js代碼, 開發者也可以自定義一套工具庫來擴展

3.2 GraphQL接入應用改造

閑魚選擇了TQL作為Graphql的服務端實現。Tql是淘寶提供的對GraphQL的java實現,并解決了開源版graphql的很多局限性和痛點,提供了很多特性,使graphql能夠低成本部署在應用上。

接入簡單,代碼侵入性低:去中心化的設計,不依賴二方服務,應用系統直接引入可用

研發體系支撐:提供了ql編寫的在線ide,可展示各個服務的meta信息,提高了開發效率,書寫提示,執行耗時日志,調用場景監控等功能便于服務性能優化

多執行策略:提供了并發執行策略和異步執行策略,在多服務調用和層級調用場景上保證了ql的高效運行;

合并調用:執行前合并所依賴的上游數據集中的元素,這樣我們就可以充分利用批量接口查詢,而不是單個多次調用,性能顯著提高

安全性提升: graphql語句從前端請求到服務端,用簽名的方式來避免查詢串被篡改

3.2.1服務端改造

  • 統一graphql查詢接口
  • 原有的一個業務領域服務再包裝一個GraphQL的Function

Function入參改造: 后臺的服務參數對于前端視角可能不同(參數過多,影響數據的參數等)

非批量Function出參:一般無需改造,同上

支持批量的Function改造,返回結構必須是有序List

非標準DO參數:由于輸出是JSON,存在循環依賴的java對象使用fastjson輸出時會造成棧溢出

開發GraphQL API

下面的示例可以提供一個Graphql的API。@GraphQLDataFetcher 注解表示該方法可以作為Graphql的數據源,supportBatch = true表示支持合并調用,執行前會將依賴的數據結果合并成一個List作為入參;

支持合并調用情況下要求我們保證兩點:

  • 入參userids的長度和返回的List長度一致,否則無法回填到相應的字段上;
  • 返回的數據順序要和入參的順序對應,否則會造成數據錯誤。

統一graphql Gateway API

執行時會自動引入當前請求的全局信息,如登錄用戶,設備id,設備機型等,如UserAgent可獲取用戶的機型,系統等信息,不需要前端和后端額外處理,可以直接使用。

3.2.2前端調用改造

  • 調用接口改為后端提供的統一graphql接口
  • 根據業務需求使用graphql語法表達所需數據

調用graphql gateway API:

編寫GraphQL 查詢語句,獲取結構化數據: 

隨著前端團隊增多和人員流動,我們對Graphql的學習成本,ql復用以及管理上提出了更高的要求。

4. GraphqlQL管理平臺

管理平臺給開發者提供了很多便利。在線編編輯ql和保存,在線調試,即時發布,多人可見,有示例參考,降低了graphql的學習成本。 

前端在頁面請求時只需要傳入對應的Id,不再需要graphql查詢語句

GraphQL給閑魚帶來的變化

研發成本降低

引入Graphql后兩端的研發成本顯著降低,運營類場景整體上線時間明顯縮短,大部分情況下,服務端的成本為0。而前端在編寫graphql語句+自測的時間可能只有10分鐘。 

GraphqlQL可以與前端頁面搭建平臺完美結合,如TMS,已經有很多頁面組件是基于GraphqlQL來完成的.借助graphql可以很方便地構建出各種各樣的頁面組件,對研發無人化的方向上也有積極作用。

耗時

通過分析graphql的執行日志,主要耗時在實際調用的接口耗時,graphql自身的耗時一般在20ms以下,某些情況下耗時較長。graphql耗時點包括:

  • ql復雜度
  • @js指令 后端執行js腳本會引起較多耗時增加
  • 合并調用時的入參數據處理與回填也有一定影響

5. 總結

本文介紹了閑魚在數據聚合上的一些探索和嘗試,并介紹了Graphql的引入和應用改造。從自研服務到Graphql的引入,研發效率不斷提升,并取得了很好的效果。 目前,graphql還只在weex/h5的場景上使用,將來我們會在native上使用并逐步擴大。

GraphqlQL的引入使前端/客戶端和服務端的編程模式發生了很大的改變。

  • 服務端從此只需專注于建設穩定的業務領域模型,不再維護不穩定的、容易變化的VO層,也不需要與前端反復溝通結構定義。
  • 前端/客戶端 不再依賴服務端特定的接口,而是通過 graphql 來自由組合服務端提供各種數據服務,也可以更方便的進行頁面搭建,服務端基本不需要參與。
  • 前端/客戶端 對業務模型也會有更深入的理解。
責任編輯:未麗燕 來源: 閑魚技術
相關推薦

2023-06-30 13:10:54

數據聚合網關

2024-12-05 12:01:09

2024-06-21 08:02:22

2024-09-10 08:42:37

2021-07-09 11:29:22

交易鏈路閑魚阿里云

2024-10-15 08:14:51

2024-05-17 08:16:08

數據建設風控領域數據分析

2023-11-30 09:34:14

數據可視化探索

2022-08-21 21:28:32

數據庫實踐

2016-10-28 15:53:18

2023-10-16 18:51:04

ClickHouse大數據

2024-03-04 07:34:32

數據網格數倉數據虛擬化

2022-06-30 10:56:18

字節云數據庫存儲

2021-12-08 10:35:04

開源監控Zabbix

2023-10-27 12:16:23

游戲發行平臺SOP

2023-01-05 07:54:49

vivo故障定位

2017-09-08 17:25:18

Vue探索實踐

2024-10-09 08:33:41

2024-09-25 11:14:33

2019-10-24 08:39:47

Python閑魚數據
點贊
收藏

51CTO技術棧公眾號

女性女同性aⅴ免费观女性恋| 国产精品久在线观看| 99国产精品免费视频| 激情图片在线观看高清国产| 国产99久久久国产精品| 国语自产偷拍精品视频偷| 97人妻精品一区二区免费| 视频欧美精品| 欧美日韩国产丝袜美女| 亚洲欧美日韩国产yyy| 丰满熟女一区二区三区| 国产精品久久久久久久久久妞妞| 综合激情国产一区| 久久无码专区国产精品s| 国产日韩电影| 亚洲午夜久久久久中文字幕久| 欧美日产一区二区三区在线观看| a毛片在线免费观看| 国产视频一区欧美| 久久999免费视频| 色欲av无码一区二区三区| 国产精品国产亚洲精品| 日本高清不卡视频| aa在线观看视频| 岛国中文字幕在线| 欧美国产激情一区二区三区蜜月| 岛国视频一区| 国产精品无码在线播放| 日韩在线一二三区| 91高清视频在线免费观看| 国产av无码专区亚洲av毛网站| 亚洲国产欧美日韩在线观看第一区 | 五月天婷婷丁香网| 免费av一区二区三区四区| 日韩一级成人av| 欧美日韩中文不卡| 亚洲a∨精品一区二区三区导航| 午夜欧美大尺度福利影院在线看| 中国女人做爰视频| 成人在线app| 中文字幕欧美三区| 色噜噜色狠狠狠狠狠综合色一| 无码精品视频一区二区三区| 国产成人a级片| 亚洲伊人一本大道中文字幕| 91国内精品视频| 麻豆中文一区二区| 国产美女主播一区| 中文字幕人妻丝袜乱一区三区| 久久经典综合| 日本久久亚洲电影| 无码人妻精品一区二区50| 男女av一区三区二区色多| 97免费视频在线播放| www.av视频| 中文精品久久| 欧美激情免费看| 久久久久久久久久网站| 欧美日韩国产高清| 日韩视频永久免费观看| 97成人资源站| 国产一区亚洲| 777精品视频| 国产污视频网站| 轻轻草成人在线| 成人精品在线视频| 99在线精品视频免费观看20| 国产成人一级电影| 成人91视频| av女名字大全列表| 国产欧美日韩精品a在线观看| 亚洲成人自拍| 国产三区在线观看| 亚洲香蕉伊在人在线观| 浮妇高潮喷白浆视频| 欧美中文字幕精在线不卡| 欧美在线你懂得| 免费精品99久久国产综合精品应用| 激情久久免费视频| 精品久久久久久久久久久久久久久| 荫蒂被男人添免费视频| 国产aⅴ精品一区二区三区久久| 一道本无吗dⅴd在线播放一区| 日本不卡一二区| 影音先锋日韩资源| 国产成人激情小视频| 国产精品久久久久久久一区二区| 成人性生交大片免费| 欧美日本亚洲| 羞羞的视频在线观看| 第一福利永久视频精品 | 美女福利一区二区| 9191成人精品久久| 日韩av一二区| 国产精品99久久精品| 668精品在线视频| 伊人久久亚洲综合| av电影一区二区| 亚洲精品一卡二卡三卡四卡| 国产探花视频在线观看| 欧美性欧美巨大黑白大战| 91av免费观看| 激情婷婷综合| 国内精品一区二区三区| 亚洲一级av毛片| 99精品热视频| 免费看污污视频| 爱情电影社保片一区| 日韩一级在线观看| 亚洲色图第四色| 日韩天天综合| 成人免费午夜电影| 国产在线网站| 香蕉av福利精品导航| 日本77777| 精品成人影院| 97超级碰碰人国产在线观看| 国产毛片一区二区三区va在线 | 艳妇荡乳欲伦69影片| 亚洲一区亚洲| 超碰97人人人人人蜜桃| 久久黄色美女电影| 欧美亚洲日本国产| 9.1成人看片免费版| 亚洲一级二级| 成人91免费视频| 91cn在线观看| 欧美一区二区三区成人| 色婷婷国产精品免| 日精品一区二区三区| 久久综合久久久| 538视频在线| 欧美情侣在线播放| 日本污视频网站| 日韩精品每日更新| 欧美一区国产一区| 久久电影tv| 亚洲免费电影在线观看| 日韩欧美国产亚洲| 成人免费视频视频在线观看免费| xxxxxx在线观看| 国产亚洲高清一区| 久久久www成人免费精品张筱雨| 中国女人真人一级毛片| 国产日韩欧美一区二区三区乱码| 欧美v在线观看| 亚洲人成网www| 97成人精品区在线播放| 欧美女优在线| 色欧美片视频在线观看| 亚洲码无人客一区二区三区| 日韩精品一二三四| 日日夜夜精品网站| 国产极品一区| 久久精品国产成人精品| www.黄色av| 亚洲成av人片在www色猫咪| 蜜臀av粉嫩av懂色av| 亚洲一区二区免费看| 欧美日韩一区综合| av成人在线观看| 久久激情视频免费观看| a在线观看视频| 亚洲成人av电影在线| 亚洲AV无码国产精品| 日韩制服丝袜av| 亚洲美女自拍偷拍| 97色成人综合网站| 全球成人中文在线| 97电影在线| 日韩亚洲欧美一区二区三区| 国产精久久久久久| 国产日韩影视精品| 韩国三级hd中文字幕有哪些| 亚洲三级免费| 五月天色一区| 日韩精品一区国产| 欧美亚洲另类在线| 在线观看的av| 日韩一级黄色大片| 久久久精品福利| 国产精品超碰97尤物18| 少妇极品熟妇人妻无码| 久久av最新网址| 在线精品日韩| 日韩精品福利一区二区三区| 国产精品久久久久999| 国产三级在线播放| 亚洲欧美日韩天堂| 国产人妻精品一区二区三区| 亚洲国产精品久久人人爱蜜臀| 国产交换配乱淫视频免费| 国模大尺度一区二区三区| 五十路熟女丰满大屁股| 久久视频在线| 久久久久久国产精品免费免费| 欧美视频免费看| 3344国产精品免费看| 欧美日韩在线资源| 日韩经典中文字幕在线观看| 国产精品久久久久久免费免熟 | 国产精品素人一区二区| 国产免费a级片| 蜜臀av亚洲一区中文字幕| 国产精品久久久久久久乖乖| 日韩在线观看| 欧美日韩喷水| 精品国产一区二区三区成人影院 | 国产黄色av网站| 欧美午夜片在线观看| 国产精品19乱码一区二区三区| 国产欧美日本一区二区三区| 日本不卡视频一区| 国产专区欧美精品| 国产一级做a爰片久久| 亚洲国产影院| 50度灰在线观看| 成人羞羞网站入口| 免费精品视频一区| 精品综合久久88少妇激情| 亚洲bt欧美bt日本bt| 粉嫩av一区二区三区四区五区 | 国产一级成人av| 成人午夜黄色影院| 欧洲亚洲精品| 国产精品久久久久久av福利| 小早川怜子影音先锋在线观看| 精品中文字幕视频| 午夜av在线播放| 久久九九精品99国产精品| 日韩在线观看www| 永久免费毛片在线播放不卡 | 亚洲天堂av资源在线观看| 国产日韩视频在线观看| 免费高清视频在线一区| 国产成人在线亚洲欧美| 亚洲www啪成人一区二区| 国产91精品不卡视频| 高潮在线视频| 91av在线不卡| 中文字幕乱码在线播放| 青青草原成人在线视频| 一区二区乱码| 国产成人在线播放| 韩国成人在线| 国产精品激情av在线播放| 色豆豆成人网| 国产精品久久久久久久午夜| 日本成人片在线| 国产精品久久久久77777| 免费视频成人| 成人午夜在线观看| 视频一区日韩精品| 大波视频国产精品久久| 久久久久观看| 免费中文日韩| 日本激情一区| 欧美日韩一级在线| 欧美日一区二区在线观看| 久草视频这里只有精品| 亚洲日本免费| 可以在线看的黄色网址| 美女高潮久久久| 99视频在线观看视频| 国产a久久麻豆| 熟女人妻在线视频| 国产欧美一区二区精品性色超碰 | 美女毛片在线看| 中文字幕久久久| 亚洲资源一区| 6080yy精品一区二区三区| av有声小说一区二区三区| 成人免费在线视频网站| 国产精品自在线拍| 国产女人水真多18毛片18精品 | 中文字幕av一区二区三区四区| 国产亚洲精品美女久久久m| 亚洲人成网77777色在线播放| 亚洲欧洲一区二区福利| 欧美日韩伊人| 欧美日韩在线免费播放| 国产二区国产一区在线观看| 亚洲精品乱码久久| 中文字幕乱码日本亚洲一区二区| 成人免费视频网站入口::| 精品久久久久久国产91| 一卡二卡在线观看| 亚洲国产精品成人一区二区| 成年人在线观看网站| 欧美激情一区二区三级高清视频 | 欧美性xxxx18| 国产精品玖玖玖| 亚洲国模精品一区| 瑟瑟视频在线| 97精品久久久中文字幕免费| 欧美激情不卡| 久久精品国产第一区二区三区最新章节| 精品久久久久中文字幕小说| 福利在线一区二区| 蜜臀va亚洲va欧美va天堂 | 亚洲最好看的视频| av磁力番号网| 日韩电影在线一区二区三区| caopor在线| 亚洲特级片在线| 黄色片中文字幕| 日韩女优av电影| 番号集在线观看| 97av在线视频| www国产精品| www亚洲国产| 日韩精品91亚洲二区在线观看 | 手机看片福利日韩| 成人亚洲一区二区一| 卡通动漫亚洲综合| 欧美亚洲一区二区在线观看| 天堂av资源网| 久久久久久久久综合| 精品网站999| 亚洲欧美一区二区原创| 日本最新不卡在线| 女尊高h男高潮呻吟| 亚洲地区一二三色| av免费在线不卡| 久久亚洲影音av资源网| 久久精品资源| 视频一区二区三| 日欧美一区二区| 蜜臀久久99精品久久久久久| 第一福利永久视频精品 | 久久综合九色综合97婷婷女人 | 高清毛片在线观看| 国产精品永久入口久久久| 自拍日韩欧美| 亚洲男人天堂2021| 中文字幕日韩精品一区| 亚洲一区精品在线观看| 中文字幕精品久久| 欧美91在线|欧美| 五月天亚洲综合| 久久国产福利国产秒拍| 香蕉久久久久久久| 欧美日韩亚洲综合在线| 在线视频二区| 成人激情综合网| 一区二区不卡| 日本黄色一级网站| 亚洲精品视频在线看| 亚洲av无码国产综合专区 | 一区二区三区短视频| 久久亚洲高清| 天堂在线亚洲视频| av永久免费观看| 欧美日韩视频专区在线播放| 91最新在线| 91免费电影网站| 欧美欧美全黄| 日本道中文字幕| 欧美性xxxx| 色网站免费在线观看| 成人av在线天堂| 国内精品嫩模av私拍在线观看| 特级特黄刘亦菲aaa级| 欧美性色19p| 国产乱子伦三级在线播放| 国产精品亚洲第一区| 中文字幕人成人乱码| 成人在线观看一区二区| 欧美日韩国产在线看| 国产一区电影| 5566av亚洲| 亚洲一区免费| 欧洲美女女同性互添| 精品国产一区二区三区久久影院 | 日韩免费影院| 久久精品日产第一区二区三区精品版| 久久久噜噜噜| 久久国产高清视频| 精品精品国产高清一毛片一天堂| 色在线中文字幕| 亚洲一区二区在线看| 成人综合在线网站| 欧美a视频在线观看| 日韩有码在线电影| 久久亚洲道色| 国产高潮免费视频| 亚洲一区二三区| 第一福利在线| 大波视频国产精品久久| 日韩影院免费视频| 男人天堂中文字幕| 一区二区三区在线播放欧美| 136福利精品导航| 中文字幕一区二区三区四区在线视频| 成人免费一区二区三区在线观看| 无码国产精品一区二区色情男同 | 国产精品15p| 色播五月激情五月| 色综合一区二区| 日韩激情av|