พอดีได้มีโอกาสศึกษาเรื่อง gRPC โดยได้รับมอบภาระกิจจากพี่ ๆ ในทีมให้มาลองศึกษาเรื่องนี้ เอาละวะไหน ๆ ก็ศึกษามันละ ขอเขียนลงไว้ใน Blog ซักหน่อยละกันปีละบทความก็ยังดี 555
gRPC เป็น open source ตัวนึงที่ถูกพัฒนาโดย Google จะใช้ Protocol HTTP/2 และใช้ Payload Protocol Buffers เป็นตัวส่งขอมูลโดนเจ้าตัว Protobuf จะส่งข้อมูลในรูปแบบของ binary
ทำให้การส่งข้อมูลเร็วกว่า XML และ JSON เพราะข้อมูลที่ส่งกันไปมาโดนบีบอัดให้เล็กลง
หน้าที่ของมันคือเป็นสื่อกลางระหว่างระบบต่าง ๆ รองรับภาษาที่หลากหลายทั้ง C++, Java, PHP, Go, Node, Ruby, Python, C#
เพิ่ม maven dependencies ใน pom.xml
เพิ่ม mvn plugin สำหรับการ generate code จากไฟล์ .proto ไปเป็น java class
สร้างไฟล์ .proto (Protocol Buffers) ภายใต้ src/main/proto
ทำการรันคำสั่ง mvn compile
ก่อนหนึ่งครั้งเพื่อทำการ compiler ตัว protocol buffers ไปเป็น java class
หลังจาก generate code จากไฟล์ .proto มาแล้วก็จะทำการสร้าง service โดยทำการ extends CarServiceImplBase ที่ได้จากการ generate มา override
method detail เพื่อทำการ operation
สร้าง gRPC Server เพื่อที่ระรอรับ request จาก client
สร้าง client เพื่อที่จะทดสอบการส่ง request ไปยัง server