




極光數(shù)據(jù)服務(wù)平臺提供將數(shù)據(jù)表生成API的能力,支持可視化向?qū)J交蚰_本模式快速開發(fā)API接口,支持關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫,可供內(nèi)部和外部系統(tǒng)通過調(diào)用API接口獲取數(shù)據(jù),對開放的API進行統(tǒng)一管理和發(fā)布。
【核心功能】:
【使用對象】:
1.1 使用流程
API發(fā)布者流程:
圖1-1-1
API使用者流程:
圖1-1-2
1.2 數(shù)據(jù)源管理
數(shù)據(jù)服務(wù)平臺提供數(shù)據(jù)源管理功能,數(shù)據(jù)開發(fā)工程將開發(fā)好的數(shù)據(jù)表登記到此平臺,業(yè)務(wù)部門只能管理各自的數(shù)據(jù)源。
圖1-2-1
一期數(shù)據(jù)源只支持pika和redis組件,后續(xù)會支持更多存儲組件(hbase/mysql/es等)
1.3 API開發(fā)
有了數(shù)據(jù)源后,業(yè)務(wù)開發(fā)就可以基于該數(shù)據(jù)源配置API接口入?yún)⒑统鰠⒌刃畔?,快速生成和發(fā)布API,提高業(yè)務(wù)交付效率。
圖1-3-1
通過數(shù)據(jù)服務(wù)開發(fā)的API,能規(guī)范API接口定義,統(tǒng)一管理各業(yè)務(wù)線的API接口。
1.4 API調(diào)試
配置API完成后,就進入到API調(diào)式階段,在這里業(yè)務(wù)開發(fā)可以輸入請求參數(shù)的值進行調(diào)用,查看請求詳情和返回內(nèi)容,驗證API接口入?yún)⑴c出參是否符合預(yù)期。
圖1-4-1
1.5 API發(fā)布
API調(diào)試通過后,就可以發(fā)布API,這里需要走工單審批,審批通過后,會自動發(fā)布的API網(wǎng)關(guān)。
1.6 API網(wǎng)關(guān)
作為數(shù)據(jù)服務(wù)API網(wǎng)關(guān),必須具備身份認(rèn)證、權(quán)限驗證、限頻限流等功能。
1.7 API市場
API發(fā)布成功后,會上架到API市場,業(yè)務(wù)開發(fā)可以在API市場搜索和查看已經(jīng)上架的API接口的入?yún)ⅰ⒊鰠?、錯誤碼、發(fā)布者等信息,還能申請某些API的權(quán)限,審批通過后就可以直接調(diào)用該API接口獲取數(shù)據(jù)。
圖1-7-1
圖1-7-2
1.8 服務(wù)概覽
平臺具備服務(wù)概覽功能,包含已發(fā)布的API數(shù)量、未發(fā)布API數(shù)量、調(diào)用API成功次數(shù)、調(diào)用API失敗次數(shù)、錯誤碼分布等統(tǒng)計功能,以及查看編輯且未發(fā)布(草稿狀態(tài))的API列表。
圖1-8-1
2.1 產(chǎn)品架構(gòu)圖
圖2-1-1
數(shù)據(jù)服務(wù)平臺從產(chǎn)品層面,主要分為四層:
1、應(yīng)用層:業(yè)務(wù)根據(jù)需求可以申請調(diào)用某些API獲取數(shù)據(jù) 。
2、功能層:平臺提供從API創(chuàng)建->API調(diào)試->API發(fā)布->API監(jiān)控等功能。
3、支撐層:支撐平臺使用的一些基礎(chǔ)功能,包括:用戶管理、角色管理、日志管理、工單審批等功能。
4、數(shù)據(jù)源層:數(shù)據(jù)存儲組件,包括:pika、redis、hbase、mysql、es等。
2.2 技術(shù)架構(gòu)圖
圖2-2-1
數(shù)據(jù)服務(wù)平臺主要分為兩部分:
【管理端】:
管理端主要提供給業(yè)務(wù)開發(fā)使用,通過管理端,業(yè)務(wù)開發(fā)能夠快速完成配置數(shù)據(jù)源->開發(fā)API -> 發(fā)布API等操作。
【服務(wù)端】:
服務(wù)端提供對內(nèi)或?qū)ν釧PI接口訪問,這里又分為三層:
2.3 整體交互圖
圖2-3-1
API發(fā)布者通過管理端生成并發(fā)布API后,API接口元數(shù)據(jù)信息(數(shù)據(jù)源、入?yún)?、出參、QPS、QPD等信息)會被存放到redis,供認(rèn)證中心、網(wǎng)關(guān)、可配置服務(wù)使用。
2.4 可配置化接口服務(wù)
在數(shù)據(jù)服務(wù)平臺一期建設(shè)中,提供基于pika和redis可配置化(NoSQL API)接口能力,其數(shù)據(jù)源是通過jcache代理層連接pika和redis,業(yè)務(wù)數(shù)據(jù) 以KV方式存儲,可按照簡單的key-value對外提供服務(wù),把key作為入?yún)?,value作為出參來抽象對外提供的API接口。
可配置化接口服務(wù)對外提供一個抽象接口,在本抽象接口中按照接口id獲取接口的元數(shù)據(jù)信息(數(shù)據(jù)源、入?yún)?、出參等),再按照接口元?shù)據(jù)信息創(chuàng)建數(shù)據(jù)源連接,生成存儲key,獲取value值,最后封裝出參返回。
圖2-4-1
用戶身份認(rèn)證、api調(diào)用權(quán)限認(rèn)證、限流等前置邏輯都通過后,進行api轉(zhuǎn)發(fā)。在數(shù)據(jù)服務(wù)平臺創(chuàng)建發(fā)布的任意路徑api(Jcache可配置接口),經(jīng)過網(wǎng)關(guān)都會轉(zhuǎn)發(fā)到可配置接口服務(wù)的抽象api中。
三、后續(xù)規(guī)劃
雖然一期功能已經(jīng)上線,但只能滿足部分業(yè)務(wù)需求,還有很多功能需要完善和開發(fā),以下是二期功能:
數(shù)據(jù)源支持更多存儲組件,如:hbase、mysql、es、hive等
熱門文章
相關(guān)文章
極光官方微信公眾號
關(guān)注我們,即時獲取最新極光資訊
現(xiàn)在注冊,領(lǐng)取新人大禮包