国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?

這篇具有很好參考價值的文章主要介紹了面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


一、API網(wǎng)關的用處

API網(wǎng)關我的分析中會用到以下三種場景。

1、Open API

企業(yè)需要將自身數(shù)據(jù)、能力等作為開發(fā)平臺向外開放,通常會以rest的方式向外提供。最好的例子就是淘寶開放平臺、騰訊公司的QQ開發(fā)平臺、微信開放平臺。

Open API開放平臺必然涉及到客戶應用的接入、API權(quán)限的管理、調(diào)用次數(shù)管理等,必然會有一個統(tǒng)一的入口進行管理,這正是API網(wǎng)關可以發(fā)揮作用的時候。

2、微服務網(wǎng)關

微服務的概念最早在2012年提出,在Martin Fowler的大力推廣下,微服務在2014年后得到了大力發(fā)展。

在微服務架構(gòu)中,有一個組件可以說是必不可少的,那就是微服務網(wǎng)關,微服務網(wǎng)關處理了負載均衡,緩存,路由,訪問控制,服務代理,監(jiān)控,日志等。

API 網(wǎng)關在微服務架構(gòu)中正是以微服務網(wǎng)關的身份存在。

3、API服務管理平臺

上述的微服務架構(gòu)對企業(yè)來說有可能實施上是困難的,企業(yè)有很多遺留系統(tǒng),要全部抽取為微服務改動太大,對企業(yè)來說成本太高。

但是由于不同系統(tǒng)間存在大量的API服務互相調(diào)用,因此需要對系統(tǒng)間服務調(diào)用進行管理,清晰地看到各系統(tǒng)調(diào)用關系,對系統(tǒng)間調(diào)用進行監(jiān)控等。

API網(wǎng)關可以解決這些問題,我們可以認為如果沒有大規(guī)模的實施微服務架構(gòu),那么對企業(yè)來說微服務網(wǎng)關就是企業(yè)的API服務管理平臺。

二、API網(wǎng)關在企業(yè)架構(gòu)中的地位

一個企業(yè)隨著信息系統(tǒng)復雜度的提高,必然出現(xiàn)外部合作伙伴應用、企業(yè)自身的公網(wǎng)應用、企業(yè)內(nèi)網(wǎng)應用等。

在架構(gòu)上應該將這三種應用區(qū)別開,三種應用的安排級別、訪問方式也不一樣。

因此在我的設計中將這三種應用分別用不同的網(wǎng)關進行API管理,分別是:API網(wǎng)關(OpenAPI合伙伙伴應用)、API網(wǎng)關(內(nèi)部應用)、API網(wǎng)關(內(nèi)部公網(wǎng)應用)。

如下圖所示:

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?,面試題,java,面試題,API網(wǎng)關

三、企業(yè)中如何應用API網(wǎng)關

1、 對于OpenAPI使用的API網(wǎng)關來說,一般合作伙伴要以應用的形式接入到OpenAPI平臺,合作伙伴需要到 OpenAPI平臺申請應用。

因此在OpenAPI網(wǎng)關之外,需要有一個面向合作伙伴的使用的平臺用于合作伙伴,這就要求OpenAPI網(wǎng)關需要提供API給這個用戶平臺進行訪問。

如下架構(gòu):

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?,面試題,java,面試題,API網(wǎng)關

當然如果是在簡單的場景下,可能并不需要提供一個面向合作伙伴的門戶,只需要由公司的運營人員直接添加合作伙伴應用id/密鑰等,這種情況下也就不需要合作伙伴門戶子系統(tǒng)。

2、 對于內(nèi)網(wǎng)的API網(wǎng)關,在起到的作用上來說可以認為是微服務網(wǎng)關,也可以認為是內(nèi)網(wǎng)的API服務治理平臺。

當企業(yè)將所有的應用使用微服務的架構(gòu)管理起來,那么API網(wǎng)關就起到了微服務網(wǎng)關的作用。

而當企業(yè)只是將系統(tǒng)與系統(tǒng)之間的調(diào)用使用rest api的方式進行訪問時使用API網(wǎng)關對調(diào)用進行管理,那么API網(wǎng)關起到的就是API服務治理的作用。

架構(gòu)參考如下:

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?,面試題,java,面試題,API網(wǎng)關

3、 對于公司內(nèi)部公網(wǎng)應用(如APP、公司的網(wǎng)站),如果管理上比較細致,在架構(gòu)上可能由獨立的API網(wǎng)關來處理這部分內(nèi)部公網(wǎng)應用

如果想比較簡單的處理,也可以是使用面向合作伙伴的API網(wǎng)關。

如果使用獨立的API網(wǎng)關,有以下的好處:

  • 面向合作伙伴和面向公司主體業(yè)務的優(yōu)先級不一樣,不同的API網(wǎng)關可以做到業(yè)務影響的隔離。
  • 內(nèi)部API使用的管理流程和面向合作伙伴的管理流程可能不一樣。
  • 內(nèi)部的API在功能擴展等方面的需求一般會大于OpenAPI對于功能的要求。

基于以上的分析,如果公司有能力,那么還是建議分開使用合作伙伴OPEN API網(wǎng)關和內(nèi)部公網(wǎng)應用網(wǎng)關。

四、API網(wǎng)關有哪些競爭方案

1、 對于Open API平臺的API網(wǎng)關,我分析只能選擇API網(wǎng)關作為解決方案.

業(yè)界沒有發(fā)現(xiàn)比較好的可以用來作為Open API平臺的入口的其他方案。

2、 對于作為微服務網(wǎng)關的API網(wǎng)關,業(yè)界的選擇可以選擇的解決方案比較多,也取決于微服務器的實現(xiàn)方案,有一些微服務架構(gòu)的實現(xiàn)方案是不需要微服務網(wǎng)關的。

(1)Service Mesh

這是新興的基于無API網(wǎng)關的架構(gòu),通過在客戶端上的代理完成屏蔽網(wǎng)絡層的訪問,這樣達到對應用層最小的改動

當前Service Mesh的產(chǎn)品還正在開發(fā)中,并沒有非常成熟可直接應用的產(chǎn)品。發(fā)展最迅速的產(chǎn)品是Istio。建議大家密切關注相關產(chǎn)品的研發(fā)、業(yè)務使用進展。

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?,面試題,java,面試題,API網(wǎng)關

(2)基于duboo架構(gòu)

在這個架構(gòu)中通常是不需要網(wǎng)關的,是由客戶端直接訪問服務提供方,由注冊中心向客戶端返回服務方的地址。

面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?,面試題,java,面試題,API網(wǎng)關

五、API網(wǎng)關解決方案

私有云開源解決方案如下:

  • Kong kong是基于Nginx+Lua進行二次開發(fā)的方案:
    https://konghq.com/
  • Netflix Zuul,zuul是spring cloud的一個推薦組件:
    https://github.com/Netflix/zuul
  • orange,這個開源程序是國人開發(fā)的:
    http://orange.sumory.com/

公有云解決方案:

  • Amazon API Gateway:
    https://aws.amazon.com/cn/api-gateway/
  • 阿里云API網(wǎng)關:
    https://www.aliyun.com/product/apigateway/
  • 騰訊云API網(wǎng)關:
    https://cloud.tencent.com/product/apigateway

自開發(fā)解決方案:

  • 基于Nginx+Lua+ OpenResty的方案,可以看到Kong,orange都是基于這個方案
  • 基于Netty、非阻塞IO模型。通過網(wǎng)上搜索可以看到國內(nèi)的宜人貸等一些公司是基于這種方案,是一種成熟的方案。
  • 基于Node.js的方案。這種方案是應用了Node.js天生的非阻塞的特性。
  • 基于java Servlet的方案。zuul基于的就是這種方案,這種方案的效率不高,這也是zuul總是被詬病的原因。

六、企業(yè)怎么選擇API網(wǎng)關

如果要選擇一款已有的API網(wǎng)關,需要從以下幾個方面去考慮。

1、性能與可用性

如果一旦采用了API網(wǎng)關,那么API網(wǎng)關就會作為企業(yè)應用核心,因此性能和可用性是必須要求的。

從性能上來說,需要讓網(wǎng)關增加的時間消耗越短越好,個人覺得需要10ms以下。

系統(tǒng)需要采用非阻塞的IO,如epoll,NIO等,網(wǎng)關和各種依賴的交互也需要是非阻塞的,這樣才能保證整體系統(tǒng)的高可用性,如:Node.js的響應式編程和基于java體現(xiàn)的RxJava和Future。

網(wǎng)關必須支持集群部署,任務一臺服務器的crash都應該不影響整體系統(tǒng)的可用性。

多套網(wǎng)關應該支持同一管理平臺和同一監(jiān)控中心。如:一個企業(yè)的OpenAPI網(wǎng)關和內(nèi)部應用的多個系統(tǒng)群的不同的微服務網(wǎng)關可以在同一監(jiān)控中心進行監(jiān)控。

2、可擴展性、可維護性

一款產(chǎn)品總有不能滿足生產(chǎn)需求的地方,因此需求思考產(chǎn)品在如何進行二次開發(fā)和維護,是否方便公司團隊接手維護產(chǎn)品。

3、需求匹配度

需要評估各API網(wǎng)關在需求上是否能滿足。

比如:如果是OpenAPI平臺需要使用API網(wǎng)關,那么需要看API網(wǎng)關在合作伙伴應用接入、合作伙伴門戶集成、訪問次數(shù)限額等OpenAPI核心需求上去思考產(chǎn)品是否能滿足要求。

如果是微服務網(wǎng)關,那么要從微服務的運維、監(jiān)控、管理等方面去思考產(chǎn)品是否足夠強大。

4、是否開源?公司是否有自開發(fā)的能力?

現(xiàn)有的開源產(chǎn)品如kong,zuul,orange都有基礎的API網(wǎng)關的核心功能,這些開源產(chǎn)品大多離很好的使用有一定的距離

比如:沒有提供管理功能的UI界面、監(jiān)控功能弱小,不支持OpenAPI平臺,沒有公司運營與運維的功能等。

當然開源產(chǎn)品能獲取源代碼,如果公司有比較強的研發(fā)能力,能hold住這些開源產(chǎn)品,經(jīng)過二次開發(fā)kong、zuul應該還是適應一些公司,不過需求注意以下一些點:

  • kong是基于ngnix+lua的,從公司的角度比較難于找到能去維護這種架構(gòu)產(chǎn)品的人。需求評估當前公司是否有這個能力去維護這個產(chǎn)品。
  • zuul因為架構(gòu)的原因在高并發(fā)的情況下性能不高,同時需要去基于研究整合開源的適配zuul的監(jiān)控和管理系統(tǒng)。
  • orange由于沒有被大量使用,同時是國內(nèi)個人在開源,在可持續(xù)性和社區(qū)資源上不夠豐富,出了問題后可能不容易找到人問。

另外kong提供企業(yè)版本的API網(wǎng)關,當然也是基于ngnix+lua的,企業(yè)版本可以購買他們的技術支持、培訓等服務、以及擁有界面的管理、監(jiān)控等功能。

5、公有云還是私有云

現(xiàn)在的亞馬遜、阿里、騰訊云都在提供基礎公有云的API網(wǎng)關,當然這些網(wǎng)關的基礎功能肯定是沒有問題,但是二次開發(fā),擴展功能、監(jiān)控功能可能就不能滿足部分用戶的定制需求了。

另外很多企業(yè)因為自身信息安全的原因,不能使用外網(wǎng)公有網(wǎng)的API網(wǎng)關服務,這樣就只有選擇私有云的方案了。

在需求上如果基于公有云的API網(wǎng)關只能做到由內(nèi)部人員為外網(wǎng)人員申請應用,無法做到定制的合作伙伴門戶,這也不適合于部分企業(yè)的需求。

如果作為微服務網(wǎng)關,大多數(shù)情況下是希望網(wǎng)關服務器和服務提供方服務器是要在內(nèi)網(wǎng)的,在這里情況下也只有私有云的API網(wǎng)關才能滿足需求。

綜合上面的分析,基礎公有云的API網(wǎng)關只有滿足一部分簡單客戶的需求,對于很多企業(yè)來說私有云的API網(wǎng)關才是正確的選擇。文章來源地址http://www.zghlxwxcb.cn/news/detail-789711.html

到了這里,關于面試題:說一下API網(wǎng)關的作用?企業(yè)如何應用API網(wǎng)關?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 智能數(shù)據(jù)采集網(wǎng)關如何助力制造企業(yè)生產(chǎn)提效

    隨著工業(yè)4.0的推進,制造業(yè)正面臨著一場數(shù)據(jù)革命。某高端制造企業(yè)為了提高生產(chǎn)效率、降低運營成本,決定引入智能數(shù)據(jù)采集網(wǎng)關,以實現(xiàn)生產(chǎn)過程的智能化管理。 該高端制造企業(yè)主要從事精密機械零件的生產(chǎn)。在傳統(tǒng)生產(chǎn)模式下,生產(chǎn)過程中涉及的大量數(shù)據(jù)主要依賴人工

    2024年01月19日
    瀏覽(42)
  • ClickHouse進階|如何自研一款企業(yè)級高性能網(wǎng)關組件?

    使用原生ClickHouse集群進行節(jié)點數(shù)據(jù)查詢和寫入時,離不開第三方開源網(wǎng)關組件chproxy支持。但由于chproxy缺少TCP協(xié)議支持,導致性能、查詢能力等受限。這也成為困擾眾多ClickHouse開發(fā)者的一大難題。那么,究竟應該如何突破?本文將揭秘火山引擎ByteHouse企業(yè)版自研網(wǎng)關組件如何

    2024年02月07日
    瀏覽(25)
  • C++中的多態(tài)是什么?如何實現(xiàn)多態(tài)?解釋一下C++中的虛函數(shù)和純虛函數(shù),它們的作用是什么?

    C++中的多態(tài)是什么?如何實現(xiàn)多態(tài)? 在C++中,多態(tài)(Polymorphism)是面向?qū)ο缶幊痰娜筇匦灾?,另外兩個是封裝(Encapsulation)和繼承(Inheritance)。多態(tài)指的是允許一個接口(或一個父類引用)在多種數(shù)據(jù)類型上被實現(xiàn),或者一個接口被多個不同的類以不同的方式實現(xiàn)。

    2024年02月19日
    瀏覽(34)
  • 【面試】線上Java程序占用 CPU 過高請說一下排查方法?

    【面試】線上Java程序占用 CPU 過高請說一下排查方法?

    這個問題可以說是 Java 面試的高頻面試題了,有很多面試官都喜歡問這個問題,問題可能是下面這樣的。 線上一臺服務器 CPU 使用率100% 了,如果你碰到這樣的情況,如何排查并找到問題原因? 這就是一個套路題,所謂套路題就是有標準的套路解法的,掌握了套路,不僅能解

    2024年02月09日
    瀏覽(25)
  • 請簡單介紹一下Shiro框架是什么?Shiro在Java安全領域的主要作用是什么?Shiro主要提供了哪些安全功能

    請簡單介紹一下Shiro框架是什么?Shiro在Java安全領域的主要作用是什么?Shiro主要提供了哪些安全功能

    會話管理(Session Management):Shiro能夠管理用戶的會話狀態(tài),包括會話的創(chuàng)建、維護和銷毀。它支持多種會話存儲方式(如內(nèi)存、數(shù)據(jù)庫等),并提供了會話超時、會話失效等機制,以確保會話的安全性。 跨平臺集成:Shiro不僅適用于Web應用程序,還可以輕松集成到桌面應用

    2024年04月13日
    瀏覽(29)
  • 請簡單介紹一下Shiro框架是什么?Shiro在Java安全領域的主要作用是什么?Shiro主要提供了哪些安全功能?

    請簡單介紹一下Shiro框架是什么? Shiro框架是一個強大且靈活的開源安全框架,為Java應用程序提供了全面的安全解決方案。它主要用于身份驗證、授權(quán)、加密和會話管理等功能,可以輕松地集成到任何Java Web應用程序中,并提供了易于理解和使用的API,使開發(fā)人員能夠快速實

    2024年04月11日
    瀏覽(25)
  • 【Java集合類面試二十六】、介紹一下ArrayList的數(shù)據(jù)結(jié)構(gòu)?

    【Java集合類面試二十六】、介紹一下ArrayList的數(shù)據(jù)結(jié)構(gòu)?

    文章底部有個人公眾號: 熱愛技術的小鄭 。主要分享開發(fā)知識、學習資料、畢業(yè)設計指導等。有興趣的可以關注一下。為何分享? 踩過的坑沒必要讓別人在再踩,自己復盤也能加深記憶。利己利人、所謂雙贏。 面試官:介紹一下ArrayList的數(shù)據(jù)結(jié)構(gòu)? 參考答案: ArrayList的底

    2024年02月08日
    瀏覽(17)
  • Spring Boot如何實現(xiàn)微服務架構(gòu)中的API網(wǎng)關?

    Spring Boot如何實現(xiàn)微服務架構(gòu)中的API網(wǎng)關?

    隨著微服務架構(gòu)的流行,越來越多的企業(yè)開始構(gòu)建自己的微服務系統(tǒng)。在這種情況下,API網(wǎng)關變得尤為重要。API網(wǎng)關是微服務架構(gòu)中的一個組件,它可以幫助我們管理和路由所有的API請求。Spring Boot提供了一些工具和框架,可以幫助我們輕松地實現(xiàn)API網(wǎng)關。在本文中,我們將

    2024年02月07日
    瀏覽(100)
  • 開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關

    開源浪潮下,Apache APISIX 如何成為全球最活躍 API 網(wǎng)關

    白澤平,Apache APISIX PMC 成員,目前主要在 APISIX 和周邊項目 APISIX Dashboard 上進行相關貢獻。本文整理自阿里云「中間件開發(fā)者 Meetup」中的議題分享。 Apache APISIX 是一個高性能的、動態(tài)的、實時的 API 網(wǎng)關,它是基于 NGINX 和 OpenResty 進行實現(xiàn)的。 作為一個脫胎于 NGINX 和 OpenRes

    2024年02月05日
    瀏覽(20)
  • 海關數(shù)據(jù)有對于外貿(mào)企業(yè)來說有什么作用?要如何使用才會有效果

    海關數(shù)據(jù)有對于外貿(mào)企業(yè)來說有什么作用?要如何使用才會有效果

    海關數(shù)據(jù)作為傳統(tǒng)四大客戶開發(fā)途徑之一,一直以來知道的外貿(mào)人都很多,用的也很多,那么為什么這么多外貿(mào)人喜歡用海關數(shù)據(jù)呢,海關數(shù)據(jù)有對于外貿(mào)企業(yè)來說有什么作用?要如何使用才會有效果,如何購買海關數(shù)據(jù) 1.快速找到適合自己的買家 ?海關提單是買賣雙方的交

    2023年04月26日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包