百度開源高效能RPC框架 sofa pbrpc

2021-07-23 11:05:25 字數 2918 閱讀 9001

使用sofa-pbrpc只需要三步:

樣例**參見「sample/echo」。

定義協議只需要編寫乙個proto檔案即可。 範例:echo_service.proto

package sofa.pbrpc.test;

option cc_generic_services = true;

message echorequest

message echoresponse

service echoserver

使用protoc編譯'echo_service.proto',生成介面檔案'echo_service.pb.h'和'echo_service.pb.cc'。

注意:

#

include

// sofa-pbrpc標頭檔案

#include

"echo_service.pb.h"

// service介面定義標頭檔案

class echoserverimpl : public

sofa:

:pbrpc

::test

::echoserver

virtual ~echoserverimpl() {}

private

:virtual

void

echo

(google:

:protobuf

::rpccontroller*

controller,

const

sofa:

:pbrpc

::test

::echorequest*

request,

sofa:

:pbrpc

::test

::echoresponse*

response,

google:

:protobuf

::closure*

done)

};

注意:

int

main

() sofa::pbrpc::test::echoserver* echo_service = new echoserverimpl();

if (!rpc_server.registerservice(echo_service))

rpc_server.run();

rpc_server.stop();

return exit_success;

}

client支援同步和非同步兩種呼叫方式:

#

include

// sofa-pbrpc標頭檔案

#include

"echo_service.pb.h"

// service介面定義標頭檔案

int

main

() return exit_success;

}

void

echocallback

(sofa::pbrpc::rpccontroller* cntl,

sofa::pbrpc::test::echorequest* request,

sofa::pbrpc::test::echoresponse* response,

bool

* callbacked)

if (cntl->failed())

else

delete cntl;

delete request;

delete response;

*callbacked = true;}

intmain

() return exit_success;

}

注意:

除了使用原生client訪問server外,sofa-pbrpc也支援使用http協議訪問server上的服務。同時,使用者可以通過使用server端的webservice工具類,快速實現server的對於http請求的處理邏輯。

sofa-pbrpc支援使用者使用http客戶端向server傳送json格式的資料請求,並返回json格式的響應。

頂 1

搜狗開源srpc 自研高效能通用RPC框架

今年 7 月底,搜狗公司開源了內部的工業級c 伺服器引擎workflow,一路收穫業內許多認可和關注。9 月 15 日,作為workflow最重要的生態專案 srpc,乙個基於其打造的輕量級rpc框架,也在github上開源了。github搜尋 sogou srpc 即可找到該專案。乙個效能更好的t...

百度開源的問答系統框架 ANYQ

github位址 anyq answer your questions 開源專案主要包含面向faq集合的問答系統框架 文字語義匹配工具simnet。問答系統框架採用了配置化 外掛程式化的設計,各功能均通過外掛程式形式加入,當前共開放了20 種外掛程式。開發者可以使用anyq系統快速構建和定製適用於特...

高效能非同步RPC框架 kiss rpc介紹和測試

1.輕量級,簡單易用。支援idl和手動編寫協議兩種方式。模擬函式式呼叫方式,更加符合rpc遠端呼叫邏輯,簡單,透明。易修改易使用,已有的 可以直接發布使用 資料格式支援向下相容 支援多值返回特性,支援超時機制,模擬grpc,thrift,dubbo快幾倍甚至 幾十倍。支援管道資料壓縮,動態資料壓縮,...