微服務是什麼?
微服務就是將一個完整的系統,依照業務功能,分割成一個獨立的子系統,在微服務結構中,每個子系統就被稱為為“服務”。這些子系統能夠獨立運作在web容器中,它們之間透過RPC方式進行通訊。
舉個例子,假設需要發展一個線上商城。依照微服務的思想,我們需要依照功能模組拆分成多個獨立的服務,如:使用者服務、產品服務、訂單服務、後台管理服務、資料分析服務等等。這一個個服務都是一個獨立的項目,可以獨立運作。如果服務之間有依賴關係,那麼透過RPC方式呼叫。
好處:
1、系統之間的耦合度大幅降低,可以獨立開發、獨立部署、獨立測試,系統與系統之間的邊界非常明確,排錯也變得相當容易,開發效率大大提升。
2、系統之間的耦合度降低,因此係統更容易擴展。我們可以針對性地擴展某些服務。假設這個商城要搞一次大促,下單量可能會大大提升,因此我們可以針對性地提升訂單系統、產品系統的節點數量,而對於後台管理系統、數據分析系統而言,節點數量維持原有水平即可。
3、服務的複用性更高。例如,當我們將使用者係統作為單獨的服務後,該公司所有的產品都可以使用該系統作為使用者係統,無需重複開發。
那麼問題來了,當採用微服務結構後,一個完整的系統可能有很多獨立的子系統組成,當業務量漸漸發展起來之後,而這些子系統之間的關係將錯綜複雜,而且為了能夠針對性地增加某些服務的處理能力,某些服務的背後可能是一個群集模式,由多個節點所構成,這無疑地大大增加了維運的難度。微服務的想法好是好,但開發、維運的複雜度實在太高。為了解決這些問題,阿里巴巴的Dubbo就橫空出世了。
Dubbo
Dubbo是一套微服務系統的協調者,在它這套體系中,一共有三種角色,分別是:服務提供者(以下簡稱提供者)、服務消費者(以下簡稱消費者)、註冊中心。
你在使用的時候需要將Dubbo的jar套件引入到你的專案中,也就是每個服務都要引入Dubbo的jar套件。然後當這些服務初始化的時候,Dubbo就會將目前系統需要發佈的服務、以及目前系統的IP和連接埠號碼傳送給註冊中心,註冊中心便會將其記錄下來。這就是服務發布的過程。同時,也是在系統初始化的時候,Dubbo也會掃描一下目前系統所需要引用的服務,然後向註冊中心請求這些服務所在的IP和連接埠號碼。接下來系統就可以正常運作了。當系統A需要呼叫系統B的服務的時候,A就會與B建立起一條RPC頻道,然後再呼叫B系統上對應的服務。
推薦教學:PHP影片教學
#以上是php微服務是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。