日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

接口(服务)之间的调用方式有哪些?/软件系统之间接口的几种通讯方式?

發(fā)布時(shí)間:2023/12/20 windows 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口(服务)之间的调用方式有哪些?/软件系统之间接口的几种通讯方式? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

常見的接口調(diào)用方式有三種(設(shè)計(jì)接口的時(shí)候要考慮選用哪種接口)

1、http接口:http是一種網(wǎng)絡(luò)傳輸協(xié)議,基于TCP。(等價(jià)于:http+json)
現(xiàn)在瀏覽器客戶端與服務(wù)器端通信基本都是采用http協(xié)議。
SpringCloud框架,各個(gè)服務(wù)間也是通過http方式來實(shí)現(xiàn)的。
http api接口是走h(yuǎn)ttp協(xié)議,通過路徑來區(qū)分調(diào)用的方法,請(qǐng)求報(bào)文都是key-value形式的,返回報(bào)文一般都是json串。
http有幾個(gè)特點(diǎn):
(1)規(guī)定了數(shù)據(jù)格式
(2)對(duì)服務(wù)沒有任何技術(shù)限定,自由靈活,更符合為服務(wù)理念。
(3)現(xiàn)在熱門的REST風(fēng)格 / RESTful 風(fēng)格,就可通過Http協(xié)議來實(shí)現(xiàn)。

請(qǐng)求方式:post/get/put/delete 等。
傳輸?shù)臄?shù)據(jù)格式(一般而言):JSON

2、rpc接口:遠(yuǎn)程過程調(diào)用(類似的還有RMI),基于TCP。
自定義數(shù)據(jù)式,基于原生TCP通信,速度快,效率高。
現(xiàn)在熱門的dubbo框架,就是RPC的典型代表。
rpc有幾個(gè)特點(diǎn):
(1)數(shù)據(jù)的格式可以自定義(一般是XML)。
(2)速度快,效率高。
(3)現(xiàn)在比較熱門的dubbo就是RPC的典型代表。

傳輸?shù)臄?shù)據(jù)格式:XML

3、webservice接口:Webservice是系統(tǒng)對(duì)外的接口。(等價(jià)于:http+xml)
webService接口是走soap協(xié)議通過http傳輸,請(qǐng)求報(bào)文和返回報(bào)文都是xml格式的。
webService接口提供的服務(wù)是基于web容器的,底層使用http協(xié)議,類似一個(gè)遠(yuǎn)程的服務(wù)提供者,比如天氣預(yù)報(bào)服務(wù),對(duì)各地客戶端提供天氣預(yù)報(bào),是一種請(qǐng)求應(yīng)答的機(jī)制,是跨系統(tǒng)跨平臺(tái)的。就是通過一個(gè)servlet,提供服務(wù)出去。

首先客戶端從服務(wù)器的到WebService的WSDL,同時(shí)在客戶端聲稱一個(gè)代理類(Proxy Class) 這個(gè)代理類負(fù)責(zé)與WebService服務(wù)器進(jìn)行Request 和Response 當(dāng)一個(gè)數(shù)據(jù)(XML格式的)被封裝成SOAP格式的數(shù)據(jù)流發(fā)送到服務(wù)器端的時(shí)候,就會(huì)生成一個(gè)進(jìn)程對(duì)象并且把接收到這個(gè)Request的SOAP包進(jìn)行解 析,然后對(duì)事物進(jìn)行處理,處理結(jié)束以后再對(duì)這個(gè)計(jì)算結(jié)果進(jìn)行SOAP包裝,然后把這個(gè)包作為一個(gè)Response發(fā)送給客戶端的代理類(Proxy Class),同樣地,這個(gè)代理類也對(duì)這個(gè)SOAP包進(jìn)行解析處理,繼而進(jìn)行后續(xù)操作。這就是WebService的一個(gè)運(yùn)行過程。

webservice大體上分為5個(gè)層次:

  • Http傳輸信道
  • XML的數(shù)據(jù)格式
  • SOAP封裝格式
  • WSDL的描述方式
  • UDDI UDDI是一種目錄服務(wù),企業(yè)可以使用它對(duì)Webservices進(jìn)行注冊(cè)和搜索
  • 應(yīng)用協(xié)議是SOAP(簡(jiǎn)單對(duì)象訪問協(xié)議)
    傳輸?shù)臄?shù)據(jù)格式:XML

    4、總結(jié)1(接口的選擇)
    現(xiàn)在很多第三方接口,都改成了基于http,直接傳遞json數(shù)據(jù)的方式來代替webservice。
    但是webservice接口能傳輸數(shù)據(jù)量比較大的數(shù)據(jù),而且可以跟語(yǔ)言無(wú)關(guān),也可以跟操作系統(tǒng)無(wú)關(guān)。
    在某些業(yè)務(wù)復(fù)雜,穩(wěn)定性和正確性要求高的領(lǐng)域(如ERP、電商、支付),WebService還有是用武之地的。

    5、總結(jié)2(傳輸數(shù)據(jù)格式的選擇)
    為什么JSON比XML流行
    還是易用性,JSON的可讀性比XML強(qiáng),解析規(guī)則也簡(jiǎn)單許多。
    XML 解析的時(shí)候規(guī)則太多了,動(dòng)不動(dòng)就非法字符,動(dòng)不動(dòng)就拋異常。這對(duì)追求高開發(fā)速度和低開發(fā)門檻的企業(yè)來說,是個(gè)致命傷。

    JSON的缺點(diǎn)是數(shù)據(jù)類型支持較少,且不精確。比方說:

    {"price":12580}

    在json里,你無(wú)法知道這個(gè)價(jià)格是int, float還是double。

    所以,如上面第二條所述,在一些業(yè)務(wù)要求較高的領(lǐng)域,還是XML更合適。

    最后說一下性能, JSON 的性能高于XML,除此之外,基于 XML 和 HTTP 的 WebService , 基于 JSON 的RESTful API ,并沒有性能差異。

    6、學(xué)習(xí)鏈接
    鏈接1:點(diǎn)我
    鏈接2:點(diǎn)我
    鏈接3:點(diǎn)我

    總結(jié)

    以上是生活随笔為你收集整理的接口(服务)之间的调用方式有哪些?/软件系统之间接口的几种通讯方式?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。