佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(三)

PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(三)

熱門(mén)標(biāo)簽:銀行業(yè)務(wù) 科大訊飛語(yǔ)音識(shí)別系統(tǒng) Linux服務(wù)器 服務(wù)器配置 阿里云 團(tuán)購(gòu)網(wǎng)站 Mysql連接數(shù)設(shè)置 電子圍欄

本文實(shí)例講述了PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作。分享給大家供大家參考,具體如下:

服務(wù)治理所治理的服務(wù)需要合理的部署與管理,本章我們講一下SOA(面向服務(wù)架構(gòu)),本人語(yǔ)言文筆不好,所以本章內(nèi)容使用問(wèn)答模式,參考了 [SOA面試題(http://www.jdon.com/soa/soa-interview.html] 的面試題,通過(guò)對(duì)此站復(fù)雜的描述進(jìn)行簡(jiǎn)單的講解。

概述

SOA代表了面向服務(wù)架構(gòu),僅僅是一種概念,通過(guò)這種概念而演變出的各種各樣的服務(wù)架構(gòu)都可稱為SOA架構(gòu),SOA核心的概念就是 “松耦合”。

非SOA的架構(gòu)

多語(yǔ)言開(kāi)發(fā)

同語(yǔ)言開(kāi)發(fā)

服務(wù)與服務(wù)之間可能會(huì)是不同的開(kāi)發(fā)語(yǔ)言或相同語(yǔ)言開(kāi)發(fā),他們的調(diào)用方式依舊只可以通過(guò)http去獲取,或者比較流行的Restful Api的形式,無(wú)論是在性能與開(kāi)發(fā)的過(guò)程中都是很笨的辦法。

什么是SOA的服務(wù)

在現(xiàn)實(shí)世界中,服務(wù)是一種我們花費(fèi)購(gòu)買到的一種預(yù)期的服務(wù)。

1、(來(lái)自真實(shí)世界):你去餐館訂餐,您的訂單首先進(jìn)入到柜臺(tái),然后在廚房進(jìn)行食物準(zhǔn)備,最后服務(wù)員提供的食物。因此,為了實(shí)現(xiàn)一個(gè)餐廳訂購(gòu)服務(wù),您需要三個(gè)邏輯部門(mén)/服務(wù)協(xié)同工作(計(jì)帳,廚房和服務(wù)員)。在軟件世界同樣的方法稱為業(yè)務(wù)服務(wù)。

2、(軟件世界):你去亞馬遜訂購(gòu)了一本書(shū),有不同的服務(wù),如支付網(wǎng)關(guān),庫(kù)存系統(tǒng),貨運(yùn)系統(tǒng)等共同完成一本書(shū)的訂購(gòu)。

  所有的服務(wù)是自包含的,合乎邏輯。他們就像黑盒子??傊?,我們并不需要了解業(yè)務(wù)服務(wù)的內(nèi)部工作細(xì)節(jié)。對(duì)于外部世界,它只是一個(gè)能夠使用消息交互的黑盒子。例如在“支付網(wǎng)關(guān)”業(yè)務(wù)服務(wù)獲得消息“檢查信貸”后會(huì)給出輸出:這個(gè)客戶的信貸有或沒(méi)有。對(duì)于“訂單系統(tǒng)”,“支付網(wǎng)關(guān)”的服務(wù)是一個(gè)黑盒子。

服務(wù)的主要特點(diǎn)是什么

A) SOA組件是松耦合的。當(dāng)我們說(shuō)松耦合,這意味著每一個(gè)服務(wù)是自包含單獨(dú)存在的邏輯。舉例來(lái)說(shuō),我們采取了“支付網(wǎng)關(guān)”的服務(wù),并將它附加到不同的系統(tǒng)。

B) SOA服務(wù)是黑匣子。在SOA中,服務(wù)隱藏有內(nèi)在的復(fù)雜性。他們只使用交互消息,服務(wù)接受和發(fā)送消息。通過(guò)虛擬化一個(gè)服務(wù)為黑盒子,服務(wù)變得更松散的耦合。

C) SOA服務(wù)應(yīng)該是自定義: SOA服務(wù)應(yīng)該能夠自己定義。

D) SOA服務(wù)維持在一個(gè)列表中: SOA服務(wù)保持在一個(gè)中央存儲(chǔ)庫(kù)。應(yīng)用程序可以在中央存儲(chǔ)庫(kù)中搜索服務(wù),并調(diào)用相應(yīng)服務(wù)。

E) SOA服務(wù)可以編排和鏈接實(shí)現(xiàn)一個(gè)特定功能: SOA服務(wù)可以使用了即插即用的方式。例如,“業(yè)務(wù)流程”中有兩個(gè)服務(wù)“安全服務(wù)”和“訂單處理服務(wù)” 。從它的業(yè)務(wù)流程可以實(shí)現(xiàn)兩種類型:一,您可以先檢查用戶,然后處理訂單,或反之亦然。是的,你猜對(duì)了,使用SOA可以松散耦合的方式管理服務(wù)之間的工作流。

什么是SOA

SOA代表了面向服務(wù)的架構(gòu)。 SOA是一種使用松耦合的黑盒子服務(wù)構(gòu)建業(yè)務(wù)應(yīng)用的體系架構(gòu),這些服務(wù)可以通過(guò)編排連接在一起以實(shí)現(xiàn)特定的功能。

什么是合同,地址和綁定?

這是三個(gè)SOA的標(biāo)準(zhǔn)術(shù)語(yǔ)。每個(gè)服務(wù)對(duì)外開(kāi)放地址,在服務(wù)開(kāi)發(fā)中進(jìn)行合同約定,客戶端綁定服務(wù)進(jìn)行開(kāi)發(fā)調(diào)用。

  • 合同是兩方或多方之間的協(xié)議。它定義了一種客戶端如何與服務(wù)通信的協(xié)議。從技術(shù)上講,它有描述參數(shù)和返回值的方法。
  • 地址表明在哪兒能找到這種服務(wù)。地址是一個(gè)URL,它指向服務(wù)的位置。
  • 綁定是決定這個(gè)端點(diǎn)如何可以訪問(wèn)。它決定了如何完成通信。例如,你暴露你的服務(wù),可以使用SOAP over HTTP或通過(guò)TCP的BINARY進(jìn)行訪問(wèn)。因此,對(duì)于這些通信介質(zhì)將被創(chuàng)建兩個(gè)綁定。
    n

什么是可重用的服務(wù)?

服務(wù)是一個(gè)自主的,可重復(fù)使用的,可發(fā)現(xiàn)的,無(wú)狀態(tài)的,有一定粒度的功能,并且是一個(gè)復(fù)合應(yīng)用程序或一個(gè)組合服務(wù)的一部分。

可重復(fù)使用的服務(wù)通過(guò)業(yè)務(wù)活動(dòng)標(biāo)識(shí),這個(gè)業(yè)務(wù)活動(dòng)是使用服務(wù)規(guī)范(設(shè)計(jì)時(shí)合同)描述的。

一個(gè)服務(wù)約束是,包括安全性,QoS,SLA,使用策略,可以由多個(gè)運(yùn)行時(shí)的合同 多個(gè)接口(WSDL中的Web服務(wù))以及多個(gè)實(shí)現(xiàn)(代碼)定義的。

可重復(fù)使用的服務(wù)應(yīng)在被管制在其從設(shè)計(jì)到運(yùn)行整個(gè)企業(yè)級(jí)生命周期。其重用應(yīng)通過(guò)規(guī)范流程來(lái)推動(dòng),重用應(yīng)該是可測(cè)量的。

在一個(gè)SOA中如何實(shí)現(xiàn)松耦合?

實(shí)現(xiàn)松耦合一種策略是使用服務(wù)接口(WSDL中為SOAP Web服務(wù))來(lái)限制服務(wù)之間的依賴性,對(duì)消費(fèi)者隱藏服務(wù)實(shí)現(xiàn)。松耦合可以通過(guò)實(shí)施服務(wù)的功能封裝以及限制服務(wù)接口的實(shí)現(xiàn)變化影響來(lái)解決。然而,在某些時(shí)候,你需要改變接口,也不會(huì)影響服務(wù)的消費(fèi)者,除了管理多個(gè)安全約束,多種傳輸,以及其他方面的考慮。

SOA的服務(wù)無(wú)狀態(tài)或有狀態(tài)?

服務(wù)應(yīng)該是無(wú)狀態(tài)的。它有一個(gè)無(wú)狀態(tài)的執(zhí)行上下文,但它不會(huì)有中間狀態(tài)來(lái)等待一個(gè)事件或一個(gè)回調(diào)。狀態(tài)有關(guān)的數(shù)據(jù)的保留一定不能超出的服務(wù)的請(qǐng)求/響應(yīng)。這是因?yàn)闋顟B(tài)管理消耗了大量的資源,這可能會(huì)影響服務(wù)的可重用 可伸縮性和可用性。

在RPC服務(wù)啟動(dòng)后,服務(wù)一直保持沉睡狀態(tài),只有在有請(qǐng)求時(shí)才會(huì)喚醒,你可以稱他為無(wú)狀態(tài)或有狀態(tài)

在SOA中我們是否需要從頭開(kāi)始構(gòu)建系統(tǒng)?

否。如果您需要集成現(xiàn)有系統(tǒng)為業(yè)務(wù)服務(wù),你只需要?jiǎng)?chuàng)建松耦合的包裝,包裝您的現(xiàn)有系統(tǒng),并以一種通用的方式暴露功能給外部世界。

其實(shí)并不需要重新構(gòu)建,只需要將每個(gè)服務(wù)繼續(xù)分解,分類出對(duì)外與對(duì)內(nèi)。

什么是服務(wù)和組件之間的區(qū)別?

服務(wù)組件來(lái)實(shí)現(xiàn)業(yè)務(wù)功能的邏輯組件分組。組件是為實(shí)現(xiàn)服務(wù)這個(gè)目標(biāo)的途徑。組件可以使用Java,C#,C,但服務(wù)將以通用格式如像Web服務(wù)方式被暴露。

說(shuō)的就是我們通過(guò)RPC調(diào)用其他服務(wù) (thrift)

預(yù)告

看到這里大概了解了SOA,這個(gè)時(shí)候我透露一個(gè)秘密,SOA其實(shí)還有另外一個(gè)名字叫“服務(wù)治理”,是的,就是我們一直在講的服務(wù)治理。下一章回到正題,講一下服務(wù)治理實(shí)現(xiàn)

PHP程序員如何簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)(一)
//www.jb51.net/article/186529.htm

PHP程序員如何簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)(二)
//www.jb51.net/article/186533.htm

本猿人寫(xiě)了一個(gè)服務(wù)治理的框架
https://github.com/CrazyCodes/Service-Govern

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(二)
  • PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(一)
  • PHP數(shù)據(jù)源架構(gòu)模式之表入口模式實(shí)例分析
  • PHP架構(gòu)及原理知識(shí)點(diǎn)詳解
  • thinkPHP5.0框架整體架構(gòu)總覽【應(yīng)用,模塊,MVC,驅(qū)動(dòng),行為,命名空間等】
  • php代碼架構(gòu)的八點(diǎn)注意事項(xiàng)
  • 四種php中webservice實(shí)現(xiàn)的簡(jiǎn)單架構(gòu)方法及實(shí)例
  • php之深入理解架構(gòu)布局講解

標(biāo)簽:廣元 大理 江蘇 蚌埠 衡水 棗莊 衢州 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP程序員簡(jiǎn)單的開(kāi)展服務(wù)治理架構(gòu)操作詳解(三)》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    江油市| 嘉善县| 永登县| 弥勒县| 朝阳县| 凌源市| 二连浩特市| 潢川县| 乌拉特后旗| 南和县| 巨鹿县| 晋宁县| 郓城县| 榆中县| 泰宁县| 西昌市| 武清区| 启东市| 平南县| 泊头市| 合肥市| 共和县| 上高县| 康乐县| 吴忠市| 日照市| 株洲县| 鹤山市| 望谟县| 耿马| 福海县| 乐亭县| 定襄县| 镇巴县| 阿勒泰市| 大同市| 安康市| 姜堰市| 昭觉县| 响水县| 泸溪县|