- รองรับ Protocol Buffer v3(proto3)
- เร็วกว่า RPC แบบเดิม 2-4 เท่า และประมวลผลได้ 2 ล้าน RPC/วินาที บนเซิร์ฟเวอร์เดี่ยว
- นอกจากแพตเทิร์น request/reply มาตรฐานแล้ว ยังสามารถใช้งานแพตเทิร์นที่กำหนดเองได้
รองรับการปิด fRPC แล้วนำการเชื่อมต่อ TCP พื้นฐานไปใช้ซ้ำเพื่อวัตถุประสงค์อื่น - คล้ายกับ gRPC จึงใช้งานได้ง่าย
- ตอนนี้รองรับเฉพาะ Go และมีแผนรองรับ JS/TS/Rust
4 ความคิดเห็น
ความแตกต่างของโค้ดเบนช์มาร์กระหว่าง grpc กับ frpc ที่เห็นได้ชัดมากในตอนนี้คือ log แบบทั่วไปกับ zerolog.. คงต้องดูโค้ดเพิ่มอีกหน่อยว่ามันต่างจากการเพิ่มสิ่งนี้เข้าไปแล้วค่อย implement เองหรือเปล่า https://github.com/philip-bui/grpc-zerolog
ยังมีฟอร์แมต + เฟรมเวิร์ก RPC ที่พัฒนาโดยใช้ C++ ชื่อว่า Cap’n Proto ด้วย
https://capnproto.org/
คงไม่ง่ายนักที่จะได้ประสิทธิภาพเพิ่มขึ้น 2-4 เท่า แต่ก็ดูเหมือนว่าจะรีดประสิทธิภาพออกมาได้ด้วยการจูนเรื่อง allocation, copy, parsing ฯลฯ อย่างละเอียดรอบคอบ
https://frpc.io/performance/optimizations
gRPC เทียบกับเบนช์มาร์ก
https://frpc.io/performance/grpc-benchmarks
เร็วกกว่า grpc มากเลยนะครับ.. ควรย้ายไปใช้ดีไหม..