Có nên chuyển APIs từ REST sang gRPG?

22

REST API hẳn không còn xa lạ đối với các ứng dụng giao tiếp từ server đến client hay từ instance products giao tiếp đến instance users. Đây phương thức tạo API với nguyên lý tổ chức nhất định nhằm hướng dẫn lập trình viên tạo môi trường xử lý API request được toàn diện. Tuy nhiên, đối với những dự á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ác hãng công nghệ lớn thường có xu hướng chuyển đổi sang một framework RPC mới dựa trên protobufs và HTTP/2 của Google là gRPC API.

Vậy gRPC là gì?

gRPC là một RPC platform được phát triển bởi Google nhằm tối ưu hoá và tăng tốc việc giao tiếp giữa các service với nhau trong kiến trúc microservice.

gRPC dùng Protocal Buffer để giảm kích thước request và response data, RPC để đơn giản hoá trong việc tạo ra các giao tiếp giữa các service với nhau, HTTP/2 để tăng tốc gửi/nhận HTTP request.

Để hiểu chi tiết hơn về gRPC, bạn có thể tìm hiểu xem bên trong gRPC là gì?
https://techtalk.vn/dinh-nghia-va-tong-quan-kien-truc-grpc.html

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

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

  • Public API vẫn nê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, bạn nên dùng những 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ể cân nhắc dùng Rest + message pack nếu không 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). Tuy nhiên, 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 có thể lựa 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. Tuy nhiên, cái giá phải trả là độ phức tạp tăng lên, khó cài đặt (system) và cần bảo trì nhiều hơn.

Vậy nếu bạn thực sự cần chuyển qua gRPC thì phải thực hiện như thế nào?

Anh Việt Nguyễn – CTO/Co-founder đến từ LOOP Smart POS sẽ là giải đáp cho bài toán trên thông qua các case study đã thực hiện tại LOOP. Anh có hơn 9 năm kinh nghiệm phát triển sản phẩm trong 1 số lĩnh vực như ngân hàng, cổng thanh toán, hệ thống chăm sóc khách hàng, … Anh Việt còn quan tâm đến xây dựng hệ thống từ việc thiết kế kiến trúc, trải nghiệm người dùng, build framework (frontend & backend) đến quy trình phát triển phần mềm (SLDC process).

Những nội dung chính trong buổi chia sẻ này:

    • Hệ thống gRPC (Remote Procedure Calls) được phát triển tại Google gRPC là gì?
    • Vấn đề mà đội ngũ LOOP gặp phải trong quá trình phát triển sản phẩm? Làm thế nào để các service của bạn giao tiếp được với nhau?
    • Thách thức đã gặp phải và cách thức triển khai?

Với kinh nghiệm từng đảm nhiệm vị trí Solution Architect và Senior Software Engineer tại một số công ty như Ipay88, Add-on hay GoQuo, cùng chờ đợi những kiến thức bổ ích đến từ anh Việt Nguyễn tại buổi meetup MIGRATING APIS FROM REST TO GRPC AND LOOP CASE STUDY bạn nhé!!

**Nhập ngay code EARLYBIRD@1401 để giảm 100.000đ!

= = =

THÔNG TIN CHUNG
⏰ Thời gian: 18:30 – 21:00 ngày 14/01/2020
📌 Địa điểm: UP Bách Khoa Hà Nội, tầng 3 toà nhà A1-7, 17 Tạ Quang Bửu, HBT.
🎟 Đăng ký ngay tại: https://meetup.vn/e/F3S
===
LIÊN HỆ
Event team: event@applancer.net | 028 6681 3236
Ms. Thoa | thoa.nguyen@applancer.net | 038 5098 969

=== Sự kiện thuộc chuỗi PRODUCT IN REAL LIFE hằng tuần được tổ chức bởi TopDev – Giải pháp tuyển dụng ngành IT ===

CHIA SẺ