自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

華為云CSE Mesher 讓微服務(wù)與PHP選擇不再兩難

企業(yè)動態(tài)
選擇并堅(jiān)持合適的編程語言至關(guān)重要,編程語言的更換意味著高昂的學(xué)習(xí)成本和不增值的系統(tǒng)重構(gòu)。面對業(yè)務(wù)交付周期變短、業(yè)務(wù)高并發(fā)壓力,向微服務(wù)演進(jìn)成為軟件架構(gòu)師的共同選擇。業(yè)界已有的微服務(wù)框架往往只支持Java,基于PHP、.Net的應(yīng)用該如何擁抱微服務(wù)?Service Mesh,被譽(yù)為下一代微服務(wù),提供一種透明的微服務(wù)網(wǎng)絡(luò)代理,以SiderCar模式將PHP應(yīng)用以零侵入方式實(shí)現(xiàn)微服務(wù)架構(gòu)演進(jìn)。

 你是否為PHP微服務(wù)化操碎了心 

你的PHP可能實(shí)現(xiàn)了假微服務(wù)

PHP的微服務(wù)化其實(shí)沒那么難

PHP的微服務(wù)化***實(shí)踐  

         php與微服務(wù)的一次***邂逅。。      

php可以零改造享受微服務(wù)治理啦

     PHP:確定過眼神 你就是我想要的微服務(wù)

         選擇并堅(jiān)持合適的編程語言至關(guān)重要,編程語言的更換意味著高昂的學(xué)習(xí)成本和不增值的系統(tǒng)重構(gòu)。面對業(yè)務(wù)交付周期變短、業(yè)務(wù)高并發(fā)壓力,向微服務(wù)演進(jìn)成為軟件架構(gòu)師的共同選擇。業(yè)界已有的微服務(wù)框架往往只支持Java,基于PHP.Net的應(yīng)用該如何擁抱微服務(wù)?Service Mesh,被譽(yù)為下一代微服務(wù),提供一種透明的微服務(wù)網(wǎng)絡(luò)代理,以SiderCar模式將PHP應(yīng)用以零侵入方式實(shí)現(xiàn)微服務(wù)架構(gòu)演進(jìn)。

在智慧城市的大浪潮之下,某IoT服務(wù)商推出SaaS化的HiFM智慧樓宇管理方案,涵蓋了人、物、環(huán)境等多個元素,業(yè)務(wù)流程包括預(yù)算管理、系統(tǒng)檢測、工單管理、預(yù)算管理、供應(yīng)商管理、資產(chǎn)管理、問題管理等。HiFM智慧樓宇管理方案進(jìn)一步提升樓宇管理的自動化水平,也讓現(xiàn)代樓宇系統(tǒng)具備環(huán)境監(jiān)測、能耗監(jiān)控、設(shè)備智能監(jiān)控等能力,成為更智慧的樓宇管理中樞。這也要求樓宇管理系統(tǒng)能夠更靈活、快速的滿足個性化業(yè)務(wù)場景的要求。

PHP和微服務(wù),是否是一場錯配?

PHP語言具有運(yùn)行高效、部署快速、擴(kuò)展庫功能強(qiáng)大、且HiFM智慧樓宇管理系統(tǒng)的研發(fā)團(tuán)隊(duì)具有多年的PHP語言研發(fā)經(jīng)驗(yàn),能夠快速、準(zhǔn)確地實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)需求,因此HiFM系統(tǒng)***PHP語言作為系統(tǒng)的主開發(fā)語言。

HiFM系統(tǒng)由數(shù)十個功能模塊組成,業(yè)務(wù)模塊耦合性高。隨著系統(tǒng)功能不斷豐富,復(fù)雜性不斷提升,系統(tǒng)體量越來越大,維護(hù)和升級成本不斷攀升。HiFM系統(tǒng)作為面向企業(yè)用戶的SaaS解決方案,需要對接大量企業(yè)已有的業(yè)務(wù)系統(tǒng),這使得系統(tǒng)變得越發(fā)臃腫。為了減小耦合性,HiFM系統(tǒng)啟用了前后端分離的模式,更為輕巧快速的PHP框架,但這并未從根本上解決所有問題。而從長遠(yuǎn)來看,HiFM系統(tǒng)必將擴(kuò)展更多邊緣模塊,對接更多的個性化業(yè)務(wù)系統(tǒng),這對系統(tǒng)架構(gòu)提出嚴(yán)峻挑戰(zhàn)。

我們決定選用微服務(wù)架構(gòu)解決這些難題。微服務(wù)技術(shù)帶來的好處不言而喻,獨(dú)立開發(fā)、獨(dú)立部署、獨(dú)立發(fā)布、去中心化管理,支持高并發(fā)高可用,支持豐富技術(shù)棧,企業(yè)可以根據(jù)需要靈活技術(shù)選型。

但深入分析之后發(fā)現(xiàn):PHP 需要 Nginx PHP-FPM(或類似工具)來實(shí)現(xiàn)進(jìn)程和連接池管理等功能。這意味著部署基于PHP語言的微服務(wù),PHP-FPM Nginx 也必須一起運(yùn)行。這浪費(fèi)了系統(tǒng)資源,也降低了擴(kuò)展的效率,也帶來配置復(fù)雜性的問題。優(yōu)化單 PHP 實(shí)例已經(jīng)很頭大了,因?yàn)樾枰私夂团渲?/span> PHP,PHP-FPM Nginx 這一堆組合,我們無法想象最終在彈性的 Kubernetes 環(huán)境中配置多個 PHP 棧的痛苦情形,完全不知道在同一臺機(jī)器上運(yùn)行了哪些服務(wù)。

         既然我們已經(jīng)致力于以軟件架構(gòu)的優(yōu)化整體提升應(yīng)用的快速發(fā)布、快速上線,那么因?yàn)檎Z言而增加更多長期開銷、配置和管理復(fù)雜,就是得不償失的。

        重構(gòu)PHP應(yīng)用是唯一的選擇嗎?

 CSE Mesher改變PHP和微服務(wù)無法兼容的現(xiàn)狀

CSE(Cloud Service Engine)是一款華為云推出的微服務(wù)引擎,基于華為公司的大型系統(tǒng)微服務(wù)化積累的***實(shí)踐構(gòu)件,提供了微服務(wù)SDK,服務(wù)注冊,配置和治理中心,幫助開發(fā)人員實(shí)現(xiàn)微服務(wù)應(yīng)用的快速構(gòu)建、治理運(yùn)維。

CSE MesherService Mesh模式的一種實(shí)現(xiàn),將負(fù)載均衡、服務(wù)發(fā)現(xiàn)、熔斷、運(yùn)行時動態(tài)路由等能力抽象成將一層透明網(wǎng)絡(luò)代理。正因?yàn)槠渥鳛楠?dú)立運(yùn)行透明代理的特點(diǎn),CSE Mesher可以使得多種編程語言的應(yīng)用,如PHP, .NET, NodeJS都能夠快速轉(zhuǎn)向微服務(wù)或者云原生應(yīng)用,開發(fā)者無需修改原有的業(yè)務(wù)代碼,以一種自然的機(jī)制擴(kuò)展應(yīng)用負(fù)載,自由混編,并因地制宜選擇虛擬機(jī)或容器部署。 

基于CSE Mesher,在很短的周期內(nèi)就實(shí)現(xiàn)了HiFM系統(tǒng)的零侵入式微服務(wù)架構(gòu)改造,其實(shí)現(xiàn)步驟包含以下三個環(huán)節(jié):

1、范圍明確與功能剝離:明確業(yè)務(wù)系統(tǒng)的邊界,形成多個獨(dú)立的微服務(wù),如上圖所示。這里包括如下兩點(diǎn):

1) 將原本耦合的工作流拆分出來,采用更適合的PHP微服務(wù)框架;

2) 對相關(guān)功能模塊進(jìn)行重組,將之前的高耦合的模塊聯(lián)動方式修改為各個微服務(wù)之間的RESTful服務(wù)調(diào)用方式。

在拆分的過程中,需要根據(jù)以下原則來分析權(quán)衡:

1)   軟件發(fā)布頻率:如果某部分功能經(jīng)常變動,變動過程不希望現(xiàn)存的主要服務(wù)受到影響甚至斷服,那么這部分功能就要拆出來,成為獨(dú)立的微服務(wù);

2)   系統(tǒng)復(fù)用:如果某部分功能適合作為API server發(fā)布出來供其他調(diào)用者調(diào)用,建議成為獨(dú)立的微服務(wù);

3)   業(yè)務(wù)相關(guān)性和獨(dú)立性:拆分時要考慮業(yè)務(wù)邏輯的獨(dú)立性,比如購物車,支付,評論服務(wù),上圖例子中很好地詮釋了這一點(diǎn);

4)   團(tuán)隊(duì):在調(diào)整架構(gòu)時還要考慮人力的重新分配,通常用2 pizza team來衡量一個微服務(wù)的團(tuán)隊(duì)人力是否合適。

2、接入微服務(wù)注冊中心:這里描述的是基于華為云CSE微服務(wù)引擎的實(shí)現(xiàn)。其中,Mesher(即:微服務(wù)引擎透明代理)只要求進(jìn)行最小化的配置即可接入,具體包括如下幾個要點(diǎn):

1)   給服務(wù)設(shè)置名字,以便在運(yùn)行時讓其他服務(wù)尋址

2)   使用mesher作為http_proxy 即運(yùn)行命令export http_proxy=

3)   告訴mesher,服務(wù)本地監(jiān)聽地址,比如127.0.0.1:3000

4)   最終,在運(yùn)行時,當(dāng)你想要訪問一個API時,只需要通過服務(wù)名+API路徑,即可訪問

3、運(yùn)用微服務(wù)治理實(shí)現(xiàn)系統(tǒng)的彈性和高可用:微服務(wù)治理能力確保系統(tǒng)能夠在大話務(wù)量峰值場景下也能為企業(yè)用戶提供更加優(yōu)質(zhì)的服務(wù),包括:限流,熔斷降級,容錯,負(fù)載均衡策略,通過系統(tǒng)配置和智能算法,確保系統(tǒng)運(yùn)行時的高可用。

通過以上三步,改造后的HiFM系統(tǒng)有效提高系統(tǒng)容錯能力以及穩(wěn)定性,具備熔斷降級與限流的自服務(wù)治理能力,同時也使用標(biāo)準(zhǔn)OpenAPI契約,便于免修改多系統(tǒng)對接。

更重要的是,整個改造過程中,無需將原有PHP代碼使用其他編程語言重構(gòu),也無需對PHP業(yè)務(wù)代碼因改造而實(shí)施修改。

簡單三步即可享受微服務(wù)架構(gòu)帶來的業(yè)務(wù)快速開發(fā)快速上線、系統(tǒng)資源彈性、去中心化管理、系統(tǒng)高并發(fā)高可用,完全無需關(guān)心分布式架構(gòu)帶來的復(fù)雜性和以及引入的技術(shù)問題。點(diǎn)擊了解華為云CSE : https://www.huaweicloud.com/product/cse.html

 

責(zé)任編輯:Jane 來源: 廠商新聞
相關(guān)推薦

2011-11-01 09:17:15

中小企業(yè)云計(jì)算云服務(wù)

2019-10-17 21:33:19

云服務(wù)廠商AI芯片云服務(wù)

2014-12-10 10:03:14

2021-07-22 12:19:17

華為云數(shù)據(jù)庫遷移

2018-05-04 11:44:30

華為云

2013-09-03 12:48:25

創(chuàng)業(yè)CEO創(chuàng)業(yè)產(chǎn)品

2011-05-12 09:27:15

程序員創(chuàng)業(yè)

2022-12-09 07:25:58

.NET項(xiàng)目微軟

2011-05-12 12:45:54

程序員

2022-04-19 10:22:43

AI計(jì)算機(jī)就業(yè)

2024-08-26 08:00:00

2019-03-13 10:45:07

谷歌Android開發(fā)者

2012-02-07 09:22:22

數(shù)據(jù)中心外包云計(jì)算

2012-03-28 09:46:32

2011-03-22 09:26:03

2017-09-04 14:27:41

華為

2010-11-23 11:07:07

跳槽

2013-06-21 13:04:59

iOS7WWDCUI設(shè)計(jì)

2018-12-03 16:13:24

Facebook扎克伯格臉書

2010-10-19 10:12:11

數(shù)據(jù)中心外包
點(diǎn)贊
收藏

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