使用RSocket實現新REST服務協議
最近由於RPC/">gRPC的噪音很多,人們開始質疑其優雅性,這篇文章也順便黑了一把,gRPC在概念上與SOAP非常相似,只是它使用Protobuf而不是使用XML來定義服務。就像SOAP/">SOAP一樣,它是URL和Header魔法的大雜燴 ,不過gRPC是與HTTP / 2死死綁定了。注意的是HTTP / 2是為Web瀏覽器設計的協議哦。
當將gRPC呼叫轉換為REST呼叫時,需要通過代理轉換,從而破壞了使用gRPC的目的。這突出了gRPC的設計不佳。
同樣,REST的最大限制是它與HTTP相關聯。REST是一種基於HTTP的黑客技術,經常使用REST的原因是它易於除錯,因為它是“人類可讀”。
我們想要的是一種專為服務到服務通訊而設計的協議。使用專門為服務設計的協議可以相互通訊,從而建立更簡單,更可靠的應用程式。不存在任何黑客攻擊,變通方法或阻抗不匹配。
開源ofollow,noindex" target="_blank">RSocket 專為服務而設計。它是一種面向連線的訊息驅動協議,在應用程式級別具有內建流控制。它既可以在瀏覽器中同樣使用,也可以在伺服器上使用。這意味著您可以流式傳輸資料或執行Pub / Sub而無需設定應用程式佇列。它也是二進位制的。它對文字和二進位制資料同樣有效,並且對傳輸的內容負荷進行分段。
REST是一個不錯的解決方案。但是在微服務領域變得沒有意義了。分散式系統本身很難。我們需要做的最後一件事是使用它,而不是為它們設計的新東西來使它們更復雜。