偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

系統(tǒng)架構(gòu)設(shè)計(jì)實(shí)戰(zhàn):API管理平臺(tái)選型

開發(fā) 架構(gòu)
初步看起來,Yapi和MeterSphere的功能似乎差不多,但如果細(xì)致研究它們的商業(yè)化策略,會(huì)發(fā)現(xiàn)它們的定位和復(fù)雜度有著顯著的差異。Yapi注重API的管理和協(xié)作,它的用戶界面更加直觀,讓用戶能夠輕松地進(jìn)行API管理。

一、目標(biāo)

建設(shè)一個(gè)高效、易用且經(jīng)濟(jì)實(shí)惠的API管理平臺(tái),滿足API的創(chuàng)建、管理、測(cè)試、文檔管理和權(quán)限管理需求,并支持第三方API工具導(dǎo)入,以提升V平臺(tái)API使用效率和團(tuán)隊(duì)協(xié)作效率。

二、現(xiàn)存問題:

  • API測(cè)試覆蓋率低,只在接口研發(fā)完成時(shí)做少量本地測(cè)試。
  • 由于業(yè)務(wù)邏輯變更,早期開發(fā)的接口可能報(bào)錯(cuò)或失效。
  • 代碼無法持續(xù)重構(gòu)與演進(jìn),因?yàn)閾?dān)心影響業(yè)務(wù)邏輯。

三、需求分析

  • 易用性: 快速生成或批量導(dǎo)入接口定義和入?yún)⒍x,支持持續(xù)集成。
  • 可擴(kuò)展性: 接口入?yún)⒖膳渲茫梢宰远xHeader、Cookie信息。
  • 測(cè)試報(bào)告: 支持自動(dòng)化測(cè)試,生成測(cè)試報(bào)告,并能持續(xù)集成。
  • 數(shù)據(jù)模擬(Mock): 前端開發(fā)人員可以根據(jù)接口定義配置Mock Server進(jìn)行并行開發(fā)。
  • 持續(xù)集成: 開發(fā)人員合并代碼時(shí),自動(dòng)觸發(fā)接口測(cè)試,確保主流程不受影響。
  • 個(gè)性化需求: 支持前置與后置代碼編寫,滿足不同團(tuán)隊(duì)的個(gè)性化需求。
  • 多系統(tǒng)一體化: 支持多個(gè)系統(tǒng)的API集成在一個(gè)平臺(tái)。

四、技術(shù)選型和對(duì)比分析

1、選擇標(biāo)準(zhǔn)

我們的需求,找到一款開源、廣泛使用、能無縫對(duì)接Swagger、smart-doc規(guī)范(不用手工定義一個(gè)個(gè)接口),支持自動(dòng)化測(cè)試流程、對(duì)前端支持Mock數(shù)據(jù)的工具。

2、篩選

在當(dāng)前API管理平臺(tái)的海量選擇中,一些有著廣大用戶群和良好口碑的平臺(tái)分外引人注目,例如Apifox、APIPost、Swagger、YAPI、Eolinker和EasyAPI等等。然而,考慮到開源認(rèn)證與合規(guī)風(fēng)險(xiǎn),我們必須對(duì)選擇進(jìn)行審慎考慮。

對(duì)于國(guó)外的產(chǎn)品,由于可能存在的合規(guī)風(fēng)險(xiǎn)和其它問題,我們的選擇焦點(diǎn)僅集中在了最為老牌且知名的Swagger上,而其它的都被逐一排除。同時(shí),如果產(chǎn)品采用了GNU AGPLv3和商業(yè)許可的雙重授權(quán)方式,我們也直接將其排除在選擇范圍之外,以避免后續(xù)可能的法律糾紛。

在經(jīng)過這些篩選后,我們最終收集到了8款滿足條件的API管理平臺(tái)。在對(duì)這些平臺(tái)進(jìn)行初步了解和簡(jiǎn)單操作后,我們發(fā)現(xiàn)這些平臺(tái)不僅功能強(qiáng)大,同時(shí)也各有其獨(dú)特的特色和優(yōu)勢(shì)。

但是,為了進(jìn)一步提煉我們的選擇,并找到最適合我們需求的平臺(tái),我們決定引入更多的篩選條件,并采用積分制進(jìn)行評(píng)估。具體的評(píng)分標(biāo)準(zhǔn)如下:免費(fèi)私有部署(5分)、團(tuán)隊(duì)協(xié)作能力(0-3分)、工作流覆蓋能力(0-7分)、學(xué)習(xí)成本(1-2分)以及其它擴(kuò)展功能(0-2分)。通過這種方式,我們期待能夠更精確、更有效地找到我們團(tuán)隊(duì)的最佳選擇。

api管理平臺(tái)

私有

<5>

調(diào)試

<1>

mock<1>

項(xiàng)目管理<1>

團(tuán)隊(duì)協(xié)作<3>

測(cè)試用例<2>

自動(dòng)化測(cè)試<1>

性能測(cè)試<1>

復(fù)雜度<2>

代碼生成<1>

擴(kuò)展工具<1>

定位<1>

綜合分

wiki

簡(jiǎn)單

開發(fā)

7

postman

支持

類同

強(qiáng)

支持

普通

支持

測(cè)試

13

apifox

收費(fèi)

支持

支持

強(qiáng)

強(qiáng)

支持

支持

普通

支持

支持

團(tuán)隊(duì)

14

apipost

收費(fèi)

支持

支持

強(qiáng)

強(qiáng)

支持

普通

支持

支持

團(tuán)隊(duì)

13

swagger

支持

支持

普通

普通

支持

開發(fā)

12

yapi

支持

支持

較強(qiáng)

較強(qiáng)

支持

普通

支持

支持

團(tuán)隊(duì)

17

eolinker

收費(fèi)

支持

支持

強(qiáng)

強(qiáng)

支持

支持

普通

支持

支持

團(tuán)隊(duì)

14

metersphere

支持

類同

強(qiáng)

強(qiáng)

支持

支持

普通

支持

測(cè)試

17

rap

支持

支持

普通

簡(jiǎn)單

支持

開發(fā)

12

easyapi

支持

類同

普通

簡(jiǎn)單

開發(fā)

11

能否免費(fèi)私有化部署是重要考量,直接給了5分。在此前提下,yapi和metersphere以17分并列第一。下面將著重介紹和比較這兩個(gè)平臺(tái)。

五、yapi介紹

yapi提供了比較方便的安裝部署方法,但是在nodejs和npm版本選擇上,有坑。用最新版本竟然不支持。當(dāng)前用的nodejs是v13.14.0,npm是v6.14.4,整個(gè)系統(tǒng)都點(diǎn)了一遍,tag這個(gè)小功能還是有點(diǎn)小問題,不過tag我們暫時(shí)也不用,沒影響。期待后續(xù)版本解決吧。

1、主界面,UI體驗(yàn)不錯(cuò)。

2、系統(tǒng)信息,統(tǒng)計(jì)項(xiàng)夠用

3、項(xiàng)目主頁,包含接口列表、動(dòng)態(tài)、數(shù)據(jù)管理、成員管理、設(shè)置、wiki。

4、接口能直接在web中調(diào)試,而且這個(gè)調(diào)試頁面的所有修改可以保存,并同步更新接口和對(duì)應(yīng)用例(僅路徑)

5、測(cè)試集合,這里可以把指定接口或全部接口一鍵轉(zhuǎn)化成用例集。每個(gè)用例可以執(zhí)行、克隆、斷言(僅自動(dòng)化時(shí)生效)等。用例的編寫還是比較方便的。但是用例的管理上就比較弱了,只支持一層目錄。不過項(xiàng)目的分的細(xì)一些,影響也不大。整體使用感覺,非常類似于postman,上手應(yīng)該沒難度。

6、mock,針對(duì)每個(gè)接口可以設(shè)置mock,可以設(shè)置多個(gè)期望,也支持腳本。無論前端還是測(cè)試,應(yīng)該都可以快速上手使用。

可惜的是,頁面上無法生成類似于mock_client之類的本地運(yùn)行的mock文件,后續(xù)我查查有沒有相關(guān)插件工具可以支持。

7、用例集里面,直接點(diǎn)擊開始測(cè)試,則頁面開始逐個(gè)執(zhí)行用例。也支持”服務(wù)端測(cè)試“,就是在其它服務(wù)器執(zhí)行這些用例。具體操作方法大家可自行體會(huì)。

一次只能執(zhí)行一個(gè)用例集,不支持一次執(zhí)行多個(gè)用例集。而且,沒有精美的測(cè)試報(bào)告。整體來說,接口測(cè)試相關(guān)功能,夠用的程度。后續(xù)查查有沒有相關(guān)插件工具,增強(qiáng)測(cè)試報(bào)告的能力。

8、導(dǎo)入導(dǎo)出,支持swagger、postman、json、HAR導(dǎo)入,其中postman格式非??上е恢С諺1版本的,當(dāng)前較新版本的postman都只能導(dǎo)出V2和V2.1的json文件了。

導(dǎo)出,支持html、MD、swaggerjson、json,相信夠用了。

六、MeterSphere介紹

MS的部署非常簡(jiǎn)單,一個(gè)sh腳本,執(zhí)行后就等著就行了。這點(diǎn)做的不錯(cuò)。部署完后增加了msctl這個(gè)運(yùn)維命令,可以非常方便的啟動(dòng)、關(guān)閉、查看整個(gè)MS系統(tǒng)。

1、主界面,顏值不錯(cuò)。內(nèi)容明顯多于yapi,而且明顯偏重于測(cè)試支撐。

2、接口測(cè)試這里,包含首頁、接口定義、接口自動(dòng)化、測(cè)試報(bào)告。其中接口定義,是用來導(dǎo)入和維護(hù)api文檔的,路徑有點(diǎn)深啊。

3、界面略顯凌亂,控件有點(diǎn)錯(cuò)位,其它頁面也有類似的情況。應(yīng)該是分辨率的問題,大一些分辨率應(yīng)該就行了。

對(duì)接口的維護(hù)、調(diào)試、mock,都具備,操作項(xiàng)簡(jiǎn)單明了。前端開發(fā)、后端開發(fā)用起來上手快。

不過也沒法生成類似于mock_client的本地執(zhí)行文件。也沒有插件支持。

4、每個(gè)api,都可以調(diào)試、mock、用例。而且Metersphere對(duì)用例的管理思路,跟yapi不一樣,它的每個(gè)用例都關(guān)聯(lián)到接口的,即每個(gè)接口下掛若干個(gè)用例,然后所有用例可以自由歸屬集合和場(chǎng)景。對(duì)于測(cè)試工作的支撐非常強(qiáng)大。

還有單獨(dú)的用例模塊,可以列表,也可以系統(tǒng)內(nèi)直接畫腦圖

5、接口自動(dòng)化測(cè)試,以”場(chǎng)景“為基礎(chǔ),除了最簡(jiǎn)單的依次執(zhí)行所有用例,也可以通過配置各種控制器,模擬業(yè)務(wù)流。功能強(qiáng)于postman的參數(shù)傳遞邏輯。

6、ms有簡(jiǎn)單但夠用的測(cè)試報(bào)告

7、可選1個(gè)或幾個(gè)測(cè)試用例,直接轉(zhuǎn)到性能測(cè)試模塊。ms安裝的時(shí)候自帶了jmeter,只要配置好資源池,這里就自動(dòng)調(diào)用jmeter進(jìn)行壓力測(cè)試。

8、還能進(jìn)行UI測(cè)試和UI自動(dòng)化測(cè)試,但這個(gè)是企業(yè)版功能,免費(fèi)版無法使用。且這個(gè)導(dǎo)航無法去掉。有點(diǎn)小別扭了。

七、總結(jié)

Yapi和MeterSphere兩者都是優(yōu)秀的API管理平臺(tái),提供了強(qiáng)大的功能和良好的用戶體驗(yàn)。初步看來,Yapi和MeterSphere的功能和性能似乎相差無幾。然而,當(dāng)我們深入研究這兩個(gè)平臺(tái)的商業(yè)化策略、團(tuán)隊(duì)規(guī)模、可替代功能、學(xué)習(xí)和維護(hù)成本、未來替換公司自有平臺(tái)難度、開發(fā)人員訪談和合規(guī)風(fēng)險(xiǎn)時(shí),我們發(fā)現(xiàn)兩者的定位和復(fù)雜度是完全不同的。

對(duì)比項(xiàng)

yapi

Metersphere

商業(yè)版本

免費(fèi)版本

有,無限制

有,有限制

部署

無難度

無難度,且一鍵部署

數(shù)據(jù)導(dǎo)入

支持豐富

支持豐富

數(shù)據(jù)導(dǎo)出

支持豐富

只有自有格式和swagger

開發(fā)用

完全夠用

完全夠用

自動(dòng)生成文檔

支持,無侵入

不支持

前端用

夠用,簡(jiǎn)單

夠用,簡(jiǎn)單,但路徑有點(diǎn)深

測(cè)試用

夠用,簡(jiǎn)單

非常強(qiáng)大,但有收費(fèi)功能

項(xiàng)目管理

夠用,簡(jiǎn)單

能支撐大項(xiàng)目,操作稍多

人員管理

扁平化

三級(jí)權(quán)限,劃分細(xì)致

學(xué)習(xí)難度

簡(jiǎn)單,基本顧名思義

普通,需要文檔支持

維護(hù)難度

簡(jiǎn)單

簡(jiǎn)單,但路徑有點(diǎn)深

報(bào)表統(tǒng)計(jì)

豐富

消息管理

豐富

流程覆蓋

后端+前端+測(cè)試

后端+前端+測(cè)試,偏測(cè)試

擴(kuò)展工具

在下面的內(nèi)容中,我們將詳細(xì)分析每個(gè)維度的對(duì)比結(jié)果,以更好地理解這兩個(gè)平臺(tái)的差異,并找出最適合我們團(tuán)隊(duì)的API管理平臺(tái)。

  1. 定位和復(fù)雜度: 初步看起來,Yapi和MeterSphere的功能似乎差不多,但如果細(xì)致研究它們的商業(yè)化策略,會(huì)發(fā)現(xiàn)它們的定位和復(fù)雜度有著顯著的差異。Yapi注重API的管理和協(xié)作,它的用戶界面更加直觀,讓用戶能夠輕松地進(jìn)行API管理。相比之下,MeterSphere則定位為一站式的企業(yè)級(jí)開放源代碼平臺(tái),它更注重測(cè)試生命周期的全面覆蓋,其功能更為復(fù)雜和全面。
  2. 團(tuán)隊(duì)規(guī)模: 根據(jù)當(dāng)前團(tuán)隊(duì)的規(guī)模,選擇更合適的工具是非常重要的。Yapi由于其簡(jiǎn)潔和直觀的界面,對(duì)于小型團(tuán)隊(duì)來說更容易接受和使用。而MeterSphere的功能覆蓋度較廣,可能需要較大的團(tuán)隊(duì)去進(jìn)行管理和維護(hù)。
  3. 可替代功能和學(xué)習(xí)維護(hù)成本: Yapi的功能比MeterSphere來得簡(jiǎn)單,學(xué)習(xí)和維護(hù)成本相對(duì)較低。然而,MeterSphere作為一站式解決方案,提供了更多的可替代功能,可能需要更多的時(shí)間去學(xué)習(xí)和維護(hù)。
  4. 未來替換公司自有平臺(tái)難度: 若考慮到未來可能會(huì)替換公司現(xiàn)有的API管理平臺(tái),Yapi由于其簡(jiǎn)潔的設(shè)計(jì)和較低的學(xué)習(xí)成本,將更容易為團(tuán)隊(duì)接受。
  5. 開發(fā)人員訪談: 經(jīng)過與多個(gè)業(yè)務(wù)部門開發(fā)人員和集團(tuán)其他業(yè)務(wù)人員的訪談,我們發(fā)現(xiàn)大多數(shù)開發(fā)人員更傾向于使用Yapi,他們認(rèn)為Yapi更易于使用和管理。
  6. 合規(guī)風(fēng)險(xiǎn): Yapi是由國(guó)內(nèi)團(tuán)隊(duì)開發(fā)的國(guó)產(chǎn)軟件,采用Apache License 2.0,這是一種寬松且無傳染性的開源證書。許多國(guó)內(nèi)大廠都在使用Yapi,而且我們也查閱了公司的技術(shù)貨架,發(fā)現(xiàn)Yapi被推薦使用。因此,Yapi無合規(guī)風(fēng)險(xiǎn)。

綜上所述,我們最終推薦使用Yapi作為我們中臺(tái)組的API管理平臺(tái)。此外,我們還了解到,集團(tuán)的其他業(yè)務(wù)組也在使用Yapi。

注:經(jīng)過安全漏洞掃描中,發(fā)現(xiàn)Yapi漏洞,可修復(fù)

具體修復(fù)方案如下:

  • 關(guān)閉用戶注冊(cè)功能:在"config.json"添加"closeRegister:true"配置項(xiàng): { "port": "*****", "closeRegister":true } 修改完成后,重啟 YApi 服務(wù)。
  • 暫時(shí)關(guān)閉 mock 功能:(需要修改 YApi 代碼); 在"config.json"中添加 "mock: false" ; 在"exts/yapi-plugin-andvanced-mock/server.js"中找到if (caseData && caseD ata.case_enable) {…},在其上方添加if(!yapi.WEBCONFIG.mock) {return false;}。
  • 檢查用戶列表,刪除惡意不明用戶;如果發(fā)現(xiàn)存在不明用戶創(chuàng)建的接口及 mock 腳本請(qǐng)及時(shí)上報(bào)信息安全管理部。
責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-07-09 15:20:00

緩存平衡性能

2023-07-06 00:41:03

SQLNoSQL數(shù)據(jù)庫

2022-06-14 08:02:35

關(guān)系模型數(shù)據(jù)模型文檔模型

2021-01-18 05:20:52

數(shù)倉hive架構(gòu)

2023-07-05 08:00:52

MetrAuto系統(tǒng)架構(gòu)

2022-04-20 10:15:56

SaaS模塊化客戶

2014-05-19 10:08:36

IM系統(tǒng)架構(gòu)設(shè)計(jì)

2017-08-17 16:12:09

MySQL架構(gòu)設(shè)計(jì)

2018-11-08 10:25:10

物聯(lián)網(wǎng)云平臺(tái)IOT

2019-09-24 16:15:03

架構(gòu)配置代碼

2024-09-19 08:46:46

SPIAPI接口

2022-11-22 08:42:38

數(shù)據(jù)庫

2022-02-28 10:05:12

組件化架構(gòu)設(shè)計(jì)從原組件化模塊化

2018-11-26 15:12:45

存儲(chǔ)選型架構(gòu)

2023-08-16 12:34:16

同步備份異步備份

2024-10-17 08:26:53

ELKmongodb方案

2024-08-16 14:01:00

2013-05-27 10:58:28

Tumblr架構(gòu)設(shè)計(jì)雅虎收購

2022-05-24 09:30:00

消息吞吐車聯(lián)網(wǎng)平臺(tái)車聯(lián)網(wǎng)

2025-09-26 02:15:00

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)