一、極光數(shù)據(jù)服務(wù)平臺介紹

極光數(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


二、極光數(shù)據(jù)服務(wù)平臺架構(gòu)設(shè)計

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等

分享文章
微信
微博
復(fù)制鏈接

上一篇:

極光clickhouse千億級數(shù)據(jù)分析實踐之路

下一篇:

關(guān)于數(shù)據(jù)大屏一比一還原設(shè)計稿這件事
登錄后可進行留言,請 登錄注冊
0條留言
快速聯(lián)系

熱門文章

相關(guān)文章

內(nèi)容標(biāo)簽
#后端 #API #數(shù)據(jù)庫

極光官方微信公眾號

關(guān)注我們,即時獲取最新極光資訊

0/140
發(fā)送

現(xiàn)在注冊,領(lǐng)取新人大禮包

免費注冊

您的瀏覽器版本過低

為了您在極光官網(wǎng)獲得最佳的訪問體驗,建議您升級最新的瀏覽器。