21P by xguru 2022-08-30 | favorite | 댓글 4개
  • Protocol Buffer v3(proto3) 호환
  • 기존 RPC에 비해 2-4배 빠름. 싱글서버에서 2백만 RPC/초 처리 가능
  • 표준 request/reply 패턴외에 사용자 지정 패턴도 구현 가능
    fRPC를 끄고 기본 TCP연결을 가져다 다른 용도로 재사용하는 것도 지원
  • gRPC와 비슷하여 쉽게 사용 가능
  • 현재는 Go만, JS/TS/Rust 지원 예정

grpc와 frpc의 벤치마크 코드의 차이는 일반 log와 zerolog가 일단 너무 눈에 띄네요..
이걸 추가해서 구현하는거랑 차이가 있는지는 더 코드를 봐야할 것 같습니다.
https://github.com/philip-bui/grpc-zerolog

Cap’n Proto 라고 C++로 구현된 포맷 + RPC 프레임워크도 있습니다.
https://capnproto.org/

2-4배 성능을 얻는게 쉽지는 않을텐데, allocation, copy, parsing 등을 세심하게 튜닝해서 성능을 얻어낸 것 같기는 하군요.
https://frpc.io/performance/optimizations

gRPC와의 벤치마크
https://frpc.io/performance/grpc-benchmarks

와 grpc 보다 훨씬 빠르네요.. 갈아타야 하나..