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

搜狗開(kāi)源srpc,C++通用RPC框架

開(kāi)發(fā) 后端
今年 7 月底,搜狗公司開(kāi)源了內(nèi)部的工業(yè)級(jí) C++ 服務(wù)器引擎 Workflow。現(xiàn)如今,搜狗又宣布開(kāi)源 Workflow 的生態(tài)項(xiàng)目——srpc,一個(gè)基于 Workflow 打造的輕量級(jí) RPC 框架。

今年 7 月底,搜狗公司開(kāi)源了內(nèi)部的工業(yè)級(jí) C++ 服務(wù)器引擎 Workflow。現(xiàn)如今,搜狗又宣布開(kāi)源 Workflow 的生態(tài)項(xiàng)目——srpc,一個(gè)基于 Workflow 打造的輕量級(jí) RPC 框架。

一個(gè)性能更好的 thrift/brpc

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

與 thrift 相比,srpc 所實(shí)現(xiàn)的 thrift framed 協(xié)議在吞吐和長(zhǎng)尾方面性能都遠(yuǎn)超 thrift 原生框架。且 srpc 對(duì)于 thrift 接口描述文件實(shí)現(xiàn)了解析和代碼生成,因此用戶在 srpc 上使用 thrift IDL 時(shí)無(wú)需依賴 thrift 庫(kù)。

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

一個(gè)通用、易擴(kuò)展的RPC框架

除了支持 binary 傳輸,還支持 HTTP+json 和 HTTP+binary 的傳輸方式,業(yè)務(wù)可以借用 HTTP實(shí)現(xiàn)跨語(yǔ)言,而傳輸本身對(duì)業(yè)務(wù)透明。這是除了上述介紹的協(xié)議層和接口描述文件層以外,srpc 的另外一個(gè)重要層次。其中傳輸方式和協(xié)議層還可以互相結(jié)合,如果接收方為任何一種協(xié)議 +HTTP 作傳輸?shù)?server,則用戶都可以對(duì)其輕松地發(fā)送一個(gè)如下請(qǐng)求:

srpc 內(nèi)部實(shí)現(xiàn)層次精巧,非常注重縱向?qū)哟尾鸱趾蜋M向解耦。其中壓縮層、序列化層、協(xié)議層是互相解耦的,利用函數(shù)重載、派生子類實(shí)現(xiàn)父類接口和模版特化等多種多態(tài)方式,來(lái)實(shí)現(xiàn)內(nèi)部使用同一套代碼的高度復(fù)用。后續(xù)架構(gòu)升級(jí)或者用戶進(jìn)行二次開(kāi)發(fā),無(wú)論是中間再加一層、還是某層內(nèi)橫向添加一種內(nèi)容,都不需要改動(dòng)現(xiàn)有的代碼,十分方便。

一個(gè)打通了 Workfflow、功能更強(qiáng)大的任務(wù)流 RPC

任務(wù)流是 Workflow 在設(shè)計(jì)之初就引入的概念,其可將資源高度封裝,用戶可不用關(guān)心內(nèi)部細(xì)節(jié)、不接觸到連接池、線程池,僅需要了解業(yè)務(wù)關(guān)系就能實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。srpc 除了提供同步、半同步接口外,其異步接口可以利用 Context 拿到 Series 來(lái)打通 Workflow 任務(wù)流,這就意味著 srpc 可以把 RPC 調(diào)用當(dāng)作任務(wù)流來(lái)組建。

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

另一方面,srpc 還可以調(diào)用 Workflow 其他資源。RPC 只是網(wǎng)絡(luò)資源,而 Workflow 包含了如計(jì)算調(diào)度和異步文件 IO 等資源,還有目前已經(jīng)實(shí)現(xiàn)的多種常用網(wǎng)絡(luò)協(xié)議(包括 HTTP、Redis、MySQL、Kafka),這些都可以為 srpc 所用。

搜狗方面表示,目前,srpc 已在搜狗搜索和搜狐集團(tuán)團(tuán)隊(duì)中多個(gè)線上業(yè)務(wù)中穩(wěn)定使用了一段時(shí)間。由于接口簡(jiǎn)介易上手,且直接打通 workflow 的任務(wù)流、計(jì)算調(diào)度、服務(wù)治理等功能,其對(duì)開(kāi)發(fā)效率有了非常大的提升。

不過(guò)該團(tuán)隊(duì)也指出,srpc 相對(duì)來(lái)說(shuō)還是一個(gè)很年輕且代碼量不多(約一萬(wàn)行)的項(xiàng)目,他們后續(xù)還會(huì)持續(xù)推進(jìn)其生態(tài)建設(shè),以為不同的 RPC 開(kāi)發(fā)場(chǎng)景提供更加全面的解決方案。 

 

責(zé)任編輯:龐桂玉 來(lái)源: C語(yǔ)言與C++編程
相關(guān)推薦

2020-10-13 18:09:22

開(kāi)發(fā)框架開(kāi)源

2020-12-28 14:36:03

辦公

2015-04-21 13:37:44

Google開(kāi)源CC++版

2014-04-24 13:43:37

CC++單元測(cè)試框架

2022-06-08 08:52:04

Tars微服務(wù)開(kāi)發(fā)C++開(kāi)發(fā)

2021-07-12 06:23:38

抓包gRpcRPC 框架

2020-09-04 09:27:40

開(kāi)源C++搜狗

2010-01-15 15:06:30

C++語(yǔ)言

2012-08-08 09:32:26

C++多進(jìn)程并發(fā)框架

2022-07-05 14:26:36

隱私計(jì)算開(kāi)源

2010-01-27 17:36:24

C++程序庫(kù)

2012-10-10 09:14:50

PHPRPCPHP框架

2010-02-01 10:54:37

C++框架

2023-12-24 12:56:14

C++函數(shù)語(yǔ)言

2010-01-28 09:31:57

C++開(kāi)源程序

2019-09-18 09:05:26

微軟開(kāi)源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++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 最新免费视频 | 欧美黑人体内she精在线观看 | 久久久人| 中文字字幕在线中文乱码范文 | 亚洲日日操 | 亚洲欧美日本在线 | 免费同性女女aaa免费网站 | 福利视频一二区 | 欧美成人精品一区二区三区 | 久久精品国产精品青草 | 人人鲁人人莫人人爱精品 | 色一级 | 久久人体视频 | 国产91久久久久 | 亚洲在线成人 | 看av片网站| 欧美视频在线一区 | 精品欧美乱码久久久久久1区2区 | 日韩欧美不卡 | a级黄色毛片免费播放视频 国产精品视频在线观看 | 亚洲精品v日韩精品 | 天天天堂 | 龙珠z在线观看 | av一区在线 | 亚洲精品中文在线 | 久久久精品一区 | 婷婷福利视频导航 | 国产精品视频二区三区 | 久久国产精品视频 | 中文字幕成人 | 老司机成人在线 | 久久久久高清 | 91精品亚洲 | 国产精品毛片一区二区在线看 | 色av一区| 一级一级毛片免费看 | 日韩伦理一区二区三区 | 九九热免费在线观看 | 日本久久久一区二区三区 | 九九久久国产精品 | 久久精品国产精品青草 |