中文在线一区二区_欧美在线综合_久久久久久综合_欧美一区二区三区视频_国产免费看_国产福利精品一区

EasySwoole RPC

基礎(chǔ)概念介紹

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

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

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

那么在這樣的架構(gòu)中,就會存在一個(gè) API 網(wǎng)關(guān) 的概念,或者是叫 服務(wù)集成者。我的 API 網(wǎng)關(guān) 的職責(zé),就是把一個(gè)請求,拆分成 N 個(gè)小請求,分發(fā)到各個(gè)小服務(wù)里面,再整合各個(gè)小服務(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à)格等信息,等待結(jié)果
  • API 網(wǎng)關(guān)融合用戶管理系統(tǒng)、商品管理系統(tǒng)的返回結(jié)果,進(jìn)行下一步調(diào)用(假設(shè)滿足購買條件)
  • API 網(wǎng)關(guān)調(diào)用用戶管理信息系統(tǒng)進(jìn)行扣款,調(diào)用商品管理系統(tǒng)進(jìn)行庫存扣減,調(diào)用訂單系統(tǒng)進(jìn)行下單(事務(wù)邏輯和撤回可以用 請求 id 保證,或者自己實(shí)現(xiàn)其他邏輯調(diào)度)
  • API 網(wǎng)關(guān)返回綜合信息給用戶

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

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 黄片毛片一级 | 亚洲精品91 | 国产精品污www一区二区三区 | 精品一区二区三区免费 | 日韩三级视频 | 麻豆网址 | 亚洲欧美一级 | 欧美喷潮久久久xxxxx | 日韩a在线 | 亚洲精品在线视频 | 超碰人人操 | 黄色免费在线视频 | 亚洲黄网在线观看 | 精品无码久久久久国产 | 一级全黄少妇性色生活片免费 | 国产日韩在线视频 | 午夜小视频在线观看 | 欧美啪啪 | 中文字幕视频一区 | 日韩字幕在线 | 中文字幕视频免费 | 亚洲网站视频 | 一区二区三区在线看 | 97精品久久| 日韩精品一区二区三区在线观看视频网站 | 一区二区三区回区在观看免费视频 | 婷婷激情五月 | 久久久中文 | 亚洲精品一区二区三区四区高清 | 日韩无在线 | 韩国精品一区二区 | 久久久久久亚洲 | 久久久免费 | 成年人黄色影院 | 日韩欧美国产一区二区 | 欧美日本国产 | 亚洲精品综合 | 日韩3级在线观看 | 国产精品一码二码三码在线 | 日韩电影一区 | 国产一区二区三区 |