色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RSocket的定義及四種通訊模式

jf_78858299 ? 來源:腳本之家 ? 作者:Andy Shi ? 2023-02-13 14:44 ? 次閱讀

RSocket的定義

RSocket 是Reactive Socket的意思,也就是反應式編程網絡協議。

它的官方 文檔 的標語是:

Application protocol providing Reactive Streams semantics

這里有幾層意思:

  • 首先RSocket確保的是網絡通訊的語義是符合反應流的規范。
  • 第二它是應用層的協議,所以它并不介意傳輸層的協議。

接著,文檔中給出了它的具體定義:

RSocket is a binary protocol for use on byte stream transports such as TCP, WebSockets, and Aeron.

這里強調的是RSocket協議是二進制的編碼,與文本編碼有很大的不同。

2 設計的思想

隨著微服務的發展,傳統的反應式編程的實現也受到挑戰,特別在網絡傳輸的部分,需要把背壓作端到端的傳輸,而不是在一跳以后就丟失了。

另一方面,反應式編程的本身就要求反應式編程是消息驅動的。

這兩個方向的方向的合力,就是把反應式編程從CPU和內存延伸到網絡,這就是RSocket。這里的網絡,是指應用層的,RSocket 努力的方向是讓應用的語義可以在網絡上傳播。而對于傳輸層,RSocket 的原則是盡量兼容。目前它支持的傳輸層有WebSockets, TCP, 或者 Aeron。

3 RSocket 的四種通訊模式**

RSocket 先定義了一套規范,然后才有實現。這套規范定義了數據幀的格式。此外,RSocket 總結了分布式應用的通訊共同特點,定義了四種不同的反應流通訊方式。

  • request/response (stream of 1):就是傳統的RPC
  • request/stream (finite stream of many):是指單向的流
  • fire-and-forget (no response):是指無返回值的RPC
  • channel (bi-directional streams):是指雙向的流

4 與反應式編程的關系**

反應式編程的兩個主要方面(非官方解釋),就是非阻塞線程管理和背壓。RSocket 主要是實現背壓的網絡部分。有的語言,如Java, 有好幾個反應式編程的庫,如RxJava, Reactor等。這種情況下,RSocket 就是和這些已有的庫整合,不會重新發明輪子。但是,如果有的語言沒有這樣的庫,那么RSocket 就要自己實現這部分的功能。

一個完整的RSocket SDK, 是包括非阻塞線程管理+背壓+網絡的,應該把它當作是反應式編程的擴展,而不是一個單獨的模塊。沒有了其他的部分,RSocket 是根本沒有用的。

5 與gRPC的比較**

gRPC 也分兩部分(非官方版本):protobuf 和 HTTP/2。與HTTP2的比較下一節講。Protobuf 要解決的問題,是多語言定義服務的問題。這個和RSocket 要解決的問題不是一個方向的。所以,RSocket 可以支持protobuf 的IDL。在負載編碼的問題上,RSocket 很中立,它支持protobuf,Json, 或者是Java interface。

6 與HTTP/2的比較

HTTP/2 是1.1的增強版,但它還是HTTP。這個協議有幾個比較大的問題:

  1. 它是為 web 通訊開發的, 它的主要特點是通信的單向性。對一個鏈接來說,一定有一個 client, 一個server。而RSocket 是針對應用間的通訊而設計的,通訊像對話一樣,是雙向的,是流式的。所謂client和server的關系也是比較模糊的。HTTP/2著名的server push是為瀏覽器開發的。對應用而言,要么是用websocket, 要么是用SSE,即ascii編碼。
  2. HTTP/2所支持的語義是基于HTTP 方法,GET, PUT, DELETE,等。這些對于應用來說是不夠的。而額外操作的定義就要在應用中自行完成。
  3. HTTP/2的流控是在字節的層級上,而不是應用的層級(幀)。這樣的轉化也會增加應用的負擔。

7 RSocket 自身的特點

我們暫時忘掉反應式編程。不管叫什么名字,它最終要為應用帶來好處。我們就RSocket 為應用帶來的好處做個介紹:

  1. 面向鏈接。這個特點以后我們會展開講。簡單說就是鏈接的狀態會被保存下來。當然,與kafka等不同,這個狀態不落盤。但是只要有一邊不重啟,鏈接狀態是可以恢復的。
  2. 雙向傳輸。就是復用同一個鏈接,雙方沒有主次之分。一旦鏈接建立,雙方都可以用背壓方式要求數據傳輸。
  3. 端到端的流控。這條以后也會展開說。簡單地說,HTTP/2 的流控是一站一站,就是說假設A-B-C,A-B的流控對B-C是無效的。而用了RSocket,A-C的流控是應用程序可控的。比如A說給我8條記錄,(這就是背壓的實現),C就會知道并傳8條記錄到A。

這些特點,會讓RSocket 在應用間的通訊表現比起HTTP/2有很大的提升。

本文作者:Andy Shi,阿里巴巴高級技術專家,Andy長期關注Service Mesh,在Cloud Foundry,Kubernetes,Envoy,RSocket上有著豐富的實踐和開發經驗。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10877

    瀏覽量

    212128
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1370

    瀏覽量

    79135
  • 網絡通訊
    +關注

    關注

    0

    文章

    74

    瀏覽量

    11272
收藏 人收藏

    評論

    相關推薦

    DAC61404 SPI應該是四種模式中的哪種?

    DAC61404 SPI應該是四種模式中的哪種?
    發表于 11-27 06:18

    DDS AD9910的四種工作調制模式是什么意思

    DDS AD9910的四種工作調制模式是什么意思?說是有單頻模式數字斜坡模式RAM模式 和并行模式
    發表于 07-16 19:37

    74hc259的四種模式

    74hc259的datasheet中有四種工作模式,具體是怎么個情況看不大明白,求助大家。下圖為其真值表,
    發表于 07-15 13:00

    STM32芯片GPIO的四種輸入模式四種輸出模式

    STM32芯片的GPIO一共有8配置模式,對8模式的理解如下1.四種輸入模式上拉輸入:在默認
    發表于 05-21 07:55

    單片機四種輸入模式

    單片機四種輸入模式 MCU輸入模式有浮空、上拉、下拉、模擬輸入這四種模式,如果采用上拉或者下拉模式
    發表于 08-24 16:19

    變頻器主要支持四種模式

    變頻器主要支持四種模式:無PG的V/F模式,有PG的V/F模式,無PG的矢量控制模式,有PG的矢量模式
    發表于 09-03 06:57

    二維碼的四種主要應用模式

    本文介紹二維碼主要的四種應用模式,包括讀取數據模式、解碼上網模式、解碼驗證模式、解碼通信模式
    發表于 01-25 11:52 ?3441次閱讀

    云計算的三服務模式四種部署模型

    云計算基于3特殊的云計算服務模式,具體架構包括:基礎設施即服務、軟件即服務、平臺即服務。四種部署模型:公有云、私有云、社區云、混合云。
    發表于 01-31 15:10 ?3106次閱讀

    WIFI模塊四種工作模式介紹_WIFI模塊工作模式淺析

    WIFI模塊常見的四種工作模式:透傳模式、串口指令模式、HTTPD Client模式、GPIO模式
    發表于 01-19 14:45 ?2.8w次閱讀

    Windows 10進入安全模式四種方法

    在Windows 10上,可以使用命令提示符、設置、啟動電源菜單和MSConfig等四種不同的方式以安全模式啟動電腦。通過安全模式,可以加載足夠的一組基本功能和通用電腦驅動程序,以解決和解決常見的軟件和硬件相關問題。
    的頭像 發表于 12-21 16:03 ?5059次閱讀

    實驗3:CubeMx+Proteus+STM32 IO口模擬SPI協議的四種模式

    實驗3:CubeMx+Proteus+STM32 IO口模擬SPI協議的四種模式
    發表于 11-29 14:36 ?18次下載
    實驗3:CubeMx+Proteus+STM32  IO口模擬SPI協議的<b class='flag-5'>四種</b><b class='flag-5'>模式</b>

    IEC 61851標準中的四種EV充電模式

    在本文中,我們將了解國際電工委員會 (IEC) 規定的不同 EV 充電模式。這些模式在處理電動汽車傳導充電系統的 IEC 61851 標準中指定。該標準描述了四種不同的充電模式,稱為
    的頭像 發表于 06-24 15:06 ?9996次閱讀
    IEC 61851標準中的<b class='flag-5'>四種</b>EV充電<b class='flag-5'>模式</b>

    GPIO的四種輸入模式介紹

    32位寄存器共同控制。 輸出和輸入都是針對芯片引腳來講的(即引腳的對外輸出,和外界對引腳的輸入)。 四種輸入模式介紹 輸入模式下可讀取端口的高低電平或電壓。例如各類傳感器(使用ADC功能),如果要將獲取的電平傳送給單片機的某一個
    的頭像 發表于 11-09 16:51 ?6652次閱讀
    GPIO的<b class='flag-5'>四種</b>輸入<b class='flag-5'>模式</b>介紹

    淺析電子負載常見的的四種工作模式

    淺析電子負載常見的的四種工作模式 電子負載是電子設備的一,用于模擬負載并測試電源的性能。它在電子行業和電力領域有廣泛的應用。電子負載常見的四種工作
    的頭像 發表于 01-22 13:43 ?2920次閱讀

    介紹MCUboot支持的四種升級模式(2)

    介紹MCUboot支持的四種升級模式,分別是Overwrite、Swap、Direct XIP和加載到RAM中執行。由于FSP不支持第四種——加載到RAM中執行,因為我們重點介紹前三
    的頭像 發表于 06-13 10:56 ?965次閱讀
    介紹MCUboot支持的<b class='flag-5'>四種</b>升級<b class='flag-5'>模式</b>(2)
    主站蜘蛛池模板: 视频三区 国产盗摄| 柠檬福利精品视频导航| 免费国产成人高清在线看软件| 在线亚洲精品福利网址导航| 古代又黄又肉到湿的爽文| 欧美国产日韩久久久| 看黄色片子| 亚洲在线v观看免费国| 国产在线aaa片一区二区99| 色多多污污版免费下载安装| AV多人爱爱XXx| 成品片a免人看免费| 麻生希第一部快播| 人妻夜夜爽99麻豆AV| 91进入蜜桃臀在线播放| 国产精品毛片AV久久97| 日本日本熟妇中文在线视频| 99RE8国产这里只有精品| 久久人妻少妇嫩草AV無碼| 日韩欧美一区二区三区在线| 亚色九九九全国免费视频| yellow免费影视大全| 国产在线观看www| 无码人妻99久久密AV| 国产欧洲野花A级| 亚洲精品免费在线| 久9视频这里只有精品123| 日本美女毛茸茸| 大学生第一次破女在线观看| 精品性影院一区二区三区内射| 欧美国产精品久久久乱码| 99久久99| 青青精品国产自在线拍| 高冷师尊被CAO成SAO货| 校花的奶好大好浪| 京香在线播放| 5g在线视讯年龄确认海外禁止进入| 久久精品AV一区二区无码| 在线黑人抽搐潮喷| 嫩草影院永久在线一二三四| 大桥未久电影在线观看|