黄p网站_在线看中文字幕_亚洲电影免费观看_成人激情视频_欧美成视频_中国av在线

EasySwoole RPC

基礎(chǔ)概念介紹

很多傳統(tǒng)的 Phper 并不懂 RPC 是什么,RPC 全稱 Remote Procedure Call,中文譯為 遠(yuǎn)程過程調(diào)用,其實你可以把它理解為是一種架構(gòu)性上的設(shè)計,或者是一種解決方案。

例如在某龐大商場系統(tǒng)中,你可以把整個商場拆分為 N 個微服務(wù)(理解為 N 個獨立的小模塊也行),例如:

  • 訂單系統(tǒng)
  • 用戶管理系統(tǒng)
  • 商品管理系統(tǒng)
  • 等等

那么在這樣的架構(gòu)中,就會存在一個 API 網(wǎng)關(guān) 的概念,或者是叫 服務(wù)集成者。我的 API 網(wǎng)關(guān) 的職責(zé),就是把一個請求,拆分成 N 個小請求,分發(fā)到各個小服務(wù)里面,再整合各個小服務(wù)的結(jié)果,返回給用戶。例如在某次下單請求中,那么大概發(fā)送的邏輯如下:

  • API 網(wǎng)關(guān)接受請求
  • API 網(wǎng)關(guān)提取用戶參數(shù),請求用戶管理系統(tǒng),獲取用戶余額等信息,等待結(jié)果
  • API 網(wǎng)關(guān)提取商品參數(shù),請求商品管理系統(tǒng),獲取商品剩余庫存和價格等信息,等待結(jié)果
  • API 網(wǎng)關(guān)融合用戶管理系統(tǒng)、商品管理系統(tǒng)的返回結(jié)果,進行下一步調(diào)用(假設(shè)滿足購買條件)
  • API 網(wǎng)關(guān)調(diào)用用戶管理信息系統(tǒng)進行扣款,調(diào)用商品管理系統(tǒng)進行庫存扣減,調(diào)用訂單系統(tǒng)進行下單(事務(wù)邏輯和撤回可以用 請求 id 保證,或者自己實現(xiàn)其他邏輯調(diào)度)
  • API 網(wǎng)關(guān)返回綜合信息給用戶

而在以上發(fā)生的行為,就稱為 遠(yuǎn)程過程調(diào)用。而調(diào)用過程實現(xiàn)的通訊協(xié)議可以有很多,比如常見的 HTTP 協(xié)議。而 EasySwoole RPC 采用自定義短鏈接的 TCP 協(xié)議實現(xiàn),每個請求包,都是一個 JSON,從而方便實現(xiàn)跨平臺調(diào)用。

微服務(wù)相關(guān)概念說明

什么是服務(wù)熔斷?

簡單理解,一般是 某個服務(wù)故障 或者是 異常 引起的,類似現(xiàn)實世界中的 "保險絲",當(dāng)某個異常條件被觸發(fā),直接熔斷整個服務(wù),而不是一直等到此服務(wù)超時。

什么是服務(wù)降級?

簡單理解,一般是從整體負(fù)荷考慮,就是當(dāng)某個服務(wù)熔斷之后,服務(wù)器將不再被調(diào)用,此時客戶端可以自己準(zhǔn)備一個本地的 fallback 回調(diào),返回一個缺省值,這樣做,雖然服務(wù)水平下降,但總比服務(wù)直接掛掉要強。服務(wù)降級處理是在客戶端實現(xiàn)完成的,與服務(wù)端沒有關(guān)系。

什么是服務(wù)限流?

簡單理解,例如某個服務(wù)器最多同時僅能處理 100 個請求,或者是 CPU 負(fù)載達(dá)到百分之80 的時候,為了保護服務(wù)的穩(wěn)定性,則不再希望繼續(xù)收到 新的連接。那么此時就要求客戶端不再對其發(fā)起請求。因此 EasySwoole RPC 提供了 NodeManager (節(jié)點管理器)接口,你可以以任何形式來 監(jiān)控你的服務(wù)提供者,在 getNodes() 方法中,返回對應(yīng)的服務(wù)器節(jié)點信息即可。

RPC 5.x 全新特性

  • 協(xié)程調(diào)度
  • 服務(wù)自動發(fā)現(xiàn)
  • 服務(wù)熔斷
  • 服務(wù)降級
  • Openssl 加密
  • 跨平臺、跨語言支持
  • 支持接入第三方注冊中心

目前最新穩(wěn)定版本的 RPC 組件為 RPC 5.x。4.x 版本的 RPC 組件的使用,請看 RPC 4.x。其他舊版本組件的使用文檔請看 Github

組件要求

  • php: >=7.1.0
  • ext-swoole: >=4.4.5
  • ext-json: >=1.0
  • ext-sockets: *
  • ext-openssl: >=7.1
  • easyswoole/spl: ^1.0
  • easyswoole/utility: ^1.0
  • easyswoole/component: ^2.0

安裝方法

composer require easyswoole/rpc=5.x

倉庫地址

easyswoole/rpc=5.x

執(zhí)行流程

基礎(chǔ)使用 Demo

關(guān)于 RPC 5.x 版本使用的基礎(chǔ) demo 可查看 Github RPC 5.x Demo Github 或者 Gitee RPC 5.x Demo Gitee

主站蜘蛛池模板: 精品免费国产一区二区三区 | 日韩欧美国产精品 | 蜜桃视频一区二区 | 色综久久 | 中文字幕一区二区三区不卡 | 色综合久久伊人 | 99精品在线 | 精品欧美一区二区三区 | 国产在线观看高清 | 亚洲精品一区二区三区蜜桃久 | 色综合一区 | 久久久99国产精品免费 | 污污视频免费网站 | av免费在线观看网站 | 国产高清视频在线 | 精品一区二区三区四区五区 | 国产综合精品一区二区三区 | 欧美精产国品一二三区 | a在线观看免费视频 | 亚洲高清免费视频 | 久久综合一区二区三区 | 国产精品久久久久一区二区三区 | 欧美在线一区二区三区 | 国产精品第一 | 久草热8精品视频在线观看 亚洲区在线 | 欧美成视频 | 国产黄色在线观看 | 国产精品毛片在线 | 国产一二三区在线播放 | 激情网在线观看 | 亚洲 欧美 日韩在线 | 婷婷成人在线 | 精品欧美一区二区精品久久久 | 日韩一区二区在线观看 | 国产美女在线观看 | 成人午夜精品一区二区三区 | 噜噜噜噜狠狠狠7777视频 | 黄色一级免费大片 | 久久影视精品 | 亚洲日韩欧美一区二区在线 | 综合色九九 |