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

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

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

一、目標(biāo)

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

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

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

三、需求分析

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

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

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

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

2、篩選

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

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

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

但是,為了進(jìn)一步提煉我們的選擇,并找到最適合我們需求的平臺,我們決定引入更多的篩選條件,并采用積分制進(jìn)行評估。具體的評分標(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管理平臺

私有

<5>

調(diào)試

<1>

mock<1>

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

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

測試用例<2>

自動化測試<1>

性能測試<1>

復(fù)雜度<2>

代碼生成<1>

擴(kuò)展工具<1>

定位<1>

綜合分

wiki

簡單

開發(fā)

7

postman

支持

類同

強(qiáng)

支持

普通

支持

測試

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)

支持

支持

普通

支持

測試

17

rap

支持

支持

普通

簡單

支持

開發(fā)

12

easyapi

支持

類同

普通

簡單

開發(fā)

11

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

五、yapi介紹

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6、ms有簡單但夠用的測試報告

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

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

七、總結(jié)

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

對比項(xiàng)

yapi

Metersphere

商業(yè)版本

免費(fèi)版本

有,無限制

有,有限制

部署

無難度

無難度,且一鍵部署

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

支持豐富

支持豐富

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

支持豐富

只有自有格式和swagger

開發(fā)用

完全夠用

完全夠用

自動生成文檔

支持,無侵入

不支持

前端用

夠用,簡單

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

測試用

夠用,簡單

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

項(xiàng)目管理

夠用,簡單

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

人員管理

扁平化

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

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

簡單,基本顧名思義

普通,需要文檔支持

維護(hù)難度

簡單

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

報表統(tǒng)計(jì)

豐富

消息管理

豐富

流程覆蓋

后端+前端+測試

后端+前端+測試,偏測試

擴(kuò)展工具

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

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

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

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

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

  • 關(guān)閉用戶注冊功能:在"config.json"添加"closeRegister:true"配置項(xiàng): { "port": "*****", "closeRegister":true } 修改完成后,重啟 YApi 服務(wù)。
  • 暫時關(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 腳本請及時上報信息安全管理部。
責(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模塊化客戶

2017-08-17 16:12:09

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

2014-05-19 10:08:36

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

2018-11-08 10:25:10

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

2019-09-24 16:15:03

架構(gòu)配置代碼

2022-11-22 08:42:38

數(shù)據(jù)庫

2024-09-19 08:46:46

SPIAPI接口

2018-11-26 15:12:45

存儲選型架構(gòu)

2022-02-28 10:05:12

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

2022-05-24 09:30:00

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

2013-05-27 10:58:28

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

2017-12-12 08:40:00

2015-10-16 14:35:05

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

2023-08-16 12:34:16

同步備份異步備份

2024-08-16 14:01:00

點(diǎn)贊
收藏

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