So sánh giữa gRPC và REST API
TIL
763
White

Kim Long Dinh viết ngày 15/05/2019

Câu hỏi:

So sánh giữa gRPC và REST API

Em nghe giới thiệu là gRPC là chuẩn giao tiếp mới giữa các services, có hiệu năng tốt hơn và có thể thay thế REST API.

Em đang xây dựng 1 hệ thống mới, đang phân vân nên chuyển qua dùng gRPC hay tiếp tục dùng lại REST từ hệ thống cũ, mong các bác tư vấn giúp

Gợi ý:

  • Nên kết hợp bác ạh. Mình đang làm dự án thì internal bên trong mình xài gRPC, 1 vài cái integration với hệ thống cũ cùng sử dụng nó nếu được

Public API mình vẫn qua Rest vì đa phần nếu các hệ thống bên ngoài và frontend thì Rest vẫn tốt nhất.

Về performance thì theo mấy ngôn ngữ đo được gRPC sẽ tốt hơn khoảng +-20% so với Rest về mặt tốc độ và size payload (message).

Ngoài ra bạn có thể consider dùng Rest + message pack nếu k có nhu cầu chuyển qua gRPC

  • Restful và gRPC về bản chát là giống nhau, đều là công cụ RPC (remote procedure call).

Chỉ khác nhau cách cài đặt (implement): gRPC sử dụng binary trong đóng gói dữ liệu để truyền thông (protobuf), còn Restf thì tự do, bạn tự chọn (thường là text-based: xml hoặc json).

Nhờ đó mà gRPC thường có tốc độ cao và độ trễ thấp hơn. Bạn chỉ nên chuyển qua gRPC nếu ứng dụng của bạn cần một số yếu tố như tốc độ truyển thông cao và độ trễ thấp, truyển dữ liệu kiểm stream.

Cái giá phải trả là độ phức tạp tăng lên, khó cài đặt (system) và bảo trì hơn nhiều

Nguồn bài viết:
https://tech.homestudy.edu.vn/thread/so-sanh-giua-grpc-va-rest-api/

https://tech.homestudy.edu.vn 16-05-2019

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Kim Long Dinh

13 bài viết.
4 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
4 0
Đây là một trong loạt bài về kinh nghiệm xin việc, bài trước nói về kinh nghiệm viết resume. Giống như bài trước, bài này cũng chỉ dựa vào những ki...
Kim Long Dinh viết hơn 1 năm trước
4 0
White
4 5
Câu hỏi: 1. Có phải asyn/await dùng ThreadPool (quản lý nhiều separate thread), nếu có thì liệu rằng nhiều thread thực thi cùng lúc như vậy chương...
Kim Long Dinh viết hơn 1 năm trước
4 5
White
3 0
Một hệ thống cũng giống như thời tiết xấu vậy. Nó không thể đoán trước và cũng không thể tránh khỏi. Và điều quan trọng nhất đối với 1 software eng...
Kim Long Dinh viết hơn 1 năm trước
3 0
Bài viết liên quan
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết hơn 2 năm trước
0 4
White
4 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết hơn 1 năm trước
4 0
White
23 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết gần 4 năm trước
23 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
13 bài viết.
4 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!