คืออะไร gRPC
เฟรมเวิร์ก RPC ประสิทธิภาพสูง
gRPC คือเฟรมเวิร์ก Remote Procedure Call (RPC) ประสิทธิภาพสูงที่พัฒนาโดย Google สำหรับการสื่อสารระหว่างบริการ
คุณสมบัติหลัก
- Protocol Buffers — รูปแบบการ serialize ข้อมูลแบบไบนารี
- HTTP/2 — multiplexing, การบีบอัด header
- Streaming — รองรับการส่งข้อมูลแบบสตรีม
- การสร้างโค้ด — สร้าง client และ server อัตโนมัติ
ประเภทการสื่อสาร
- Unary — หนึ่งคำขอ, หนึ่งการตอบกลับ
- Server streaming — หนึ่งคำขอ, สตรีมการตอบกลับ
- Client streaming — สตรีมคำขอ, หนึ่งการตอบกลับ
- Bidirectional streaming — สตรีมสองทาง
ข้อดี
- ประสิทธิภาพ — เร็วกว่า REST/JSON ถึง 10 เท่า
- Type safety — สัญญาที่เข้มงวดผ่านไฟล์ .proto
- หลายภาษา — รองรับภาษาโปรแกรม 10+ ภาษา
การใช้งาน
เหมาะสำหรับสถาปัตยกรรมไมโครเซอร์วิส แอปพลิเคชันเรียลไทม์ และระบบที่ต้องการประสิทธิภาพสูง