成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

搜狗開源srpc,C++通用RPC框架

開發 后端
今年 7 月底,搜狗公司開源了內部的工業級 C++ 服務器引擎 Workflow。現如今,搜狗又宣布開源 Workflow 的生態項目——srpc,一個基于 Workflow 打造的輕量級 RPC 框架。

今年 7 月底,搜狗公司開源了內部的工業級 C++ 服務器引擎 Workflow。現如今,搜狗又宣布開源 Workflow 的生態項目——srpc,一個基于 Workflow 打造的輕量級 RPC 框架。

一個性能更好的 thrift/brpc

srpc 與 thrift/brpc 是協議與 IDL 均互通的。srpc 除了自帶的 sogou-std 協議以外,還實現了 baidu-std 協議和 thrift framed 協議,因此 srpc 可以與 thrift 或 brpc(連接池模式)互通。另外,接口描述文件支持 protobuf 和 thrift,這意味著用戶不僅可以一鍵遷移基于 protobuf 或 thrift 作為 IDL 的項目,還可以用 srpc 作為一個性能更優的 thrift 框架或者 brpc 框架。

與 thrift 相比,srpc 所實現的 thrift framed 協議在吞吐和長尾方面性能都遠超 thrift 原生框架。且 srpc 對于 thrift 接口描述文件實現了解析和代碼生成,因此用戶在 srpc 上使用 thrift IDL 時無需依賴 thrift 庫。

而在 baidu-std 協議的實現上,吞吐和長尾在大部分場景下依然是 srpc 更優。且由于 workflow 支持 Windows(同機性能比 linux 快 20%),所以這等同于用戶得以在 Windows下使用 brpc。還有一點值得一提的是,同樣是支持 protobuf 的 RPC 框架,由于 srpc 實現了部分 IDL 解析和代碼生成,接口形式無需受 protobuf 原始限制,因而所提供的接口比 brpc 更為簡潔,以 server 的 rpc 接口為例:

一個通用、易擴展的RPC框架

除了支持 binary 傳輸,還支持 HTTP+json 和 HTTP+binary 的傳輸方式,業務可以借用 HTTP實現跨語言,而傳輸本身對業務透明。這是除了上述介紹的協議層和接口描述文件層以外,srpc 的另外一個重要層次。其中傳輸方式和協議層還可以互相結合,如果接收方為任何一種協議 +HTTP 作傳輸的 server,則用戶都可以對其輕松地發送一個如下請求:

srpc 內部實現層次精巧,非常注重縱向層次拆分和橫向解耦。其中壓縮層、序列化層、協議層是互相解耦的,利用函數重載、派生子類實現父類接口和模版特化等多種多態方式,來實現內部使用同一套代碼的高度復用。后續架構升級或者用戶進行二次開發,無論是中間再加一層、還是某層內橫向添加一種內容,都不需要改動現有的代碼,十分方便。

一個打通了 Workfflow、功能更強大的任務流 RPC

任務流是 Workflow 在設計之初就引入的概念,其可將資源高度封裝,用戶可不用關心內部細節、不接觸到連接池、線程池,僅需要了解業務關系就能實現復雜的業務邏輯。srpc 除了提供同步、半同步接口外,其異步接口可以利用 Context 拿到 Series 來打通 Workflow 任務流,這就意味著 srpc 可以把 RPC 調用當作任務流來組建。

srpc 還可以使用 Workflow 自帶的其他功能,一方面是服務治理。Workflow 的 upstream 是本進程內把一批機器綁定到一個域名下,自帶多種方式的負載均衡和熔斷恢復等機制,srpc 的 client 對應的是一個 ip,或者一個帶本地服務治理的集群,直接可以使用負載均衡和熔斷恢復等機制。

另一方面,srpc 還可以調用 Workflow 其他資源。RPC 只是網絡資源,而 Workflow 包含了如計算調度和異步文件 IO 等資源,還有目前已經實現的多種常用網絡協議(包括 HTTP、Redis、MySQL、Kafka),這些都可以為 srpc 所用。

搜狗方面表示,目前,srpc 已在搜狗搜索和搜狐集團團隊中多個線上業務中穩定使用了一段時間。由于接口簡介易上手,且直接打通 workflow 的任務流、計算調度、服務治理等功能,其對開發效率有了非常大的提升。

不過該團隊也指出,srpc 相對來說還是一個很年輕且代碼量不多(約一萬行)的項目,他們后續還會持續推進其生態建設,以為不同的 RPC 開發場景提供更加全面的解決方案。 

 

責任編輯:龐桂玉 來源: C語言與C++編程
相關推薦

2020-10-13 18:09:22

開發框架開源

2020-12-28 14:36:03

辦公

2015-04-21 13:37:44

Google開源CC++版

2014-04-24 13:43:37

CC++單元測試框架

2022-06-08 08:52:04

Tars微服務開發C++開發

2021-07-12 06:23:38

抓包gRpcRPC 框架

2020-09-04 09:27:40

開源C++搜狗

2010-01-15 15:06:30

C++語言

2012-08-08 09:32:26

C++多進程并發框架

2012-10-10 09:14:50

PHPRPCPHP框架

2010-01-27 17:36:24

C++程序庫

2022-07-05 14:26:36

隱私計算開源

2010-02-01 10:54:37

C++框架

2023-12-24 12:56:14

C++函數語言

2010-01-28 09:31:57

C++開源程序

2019-09-18 09:05:26

微軟開源Windows

2025-01-27 00:54:31

2010-01-14 14:17:20

Visual C++

2025-06-26 01:27:00

2012-08-09 08:56:34

C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片在线免费 | 波多野结衣av中文字幕 | 日韩精品在线视频免费观看 | 国产精品久久 | 久久毛片 | 在线观看免费毛片 | 亚洲一区综合 | 欧美精品一区二区在线观看 | 成人av在线播放 | 精品一区二区三区在线视频 | 欧美精品一区二区三区在线播放 | 久婷婷| 91精品在线观看入口 | 色妹子综合网 | 欧美精品一区久久 | 97综合在线| 国产成人精品一区二区三区在线 | 久久精品视频一区二区三区 | 中文字幕在线观看精品 | 欧美久久一级 | 中文字幕一区二区三区四区 | 在线观看久草 | 国产aⅴ | 精品一二三区 | 日韩精品一区二区三区在线播放 | 日韩中文字幕免费在线 | 精品久久久久久一区二区 | 国产日韩一区二区三区 | 国产成人99久久亚洲综合精品 | 国产精品久久久久久久久免费相片 | 91国在线| 日本 欧美 三级 高清 视频 | 一级黄a视频 | 日韩一区二区三区四区五区 | 久久久国产一区 | 精品一区二区在线观看 | 91国产视频在线 | 国产精品成人免费 | 国产一二三区精品视频 | 欧美激情欧美激情在线五月 | 国产精品亚洲一区 |