API Gateway là gì là một trong những từ khóa được tìm kiếm nhiều nhất trên google về chủ đề API Gateway là gì. Trong bài viết này, coder.com.vn sẽ viết bài API Gateway là gì? Lợi ích của API Gateway hiện nay ra sau?
API Gateway là gì?
Như mình nói ở trên, API Gateway có thể coi là một cổng trung gian, nó là cổng vào duy nhất tới hệ thống microservices của chúng ta, api gateway sẽ nhận các requests từ phía client, chỉnh sửa, xác thực và điều hướng chúng đến những API cụ thể trên các services phía sau. Khi này sơ đồ hệ thống của chúng ta sẽ trông như này.Ngoài nhiệm vụ chính là proxy request Thì một hệ thống API Gateway thường sẽ đảm nhận luôn vài vai trò khác như bảo mật API, monitoring, analytics số lượng requests cũng như tình trạng hệ thống phía sau.
Ích lợi của việc dùng API Gateway
Che dấu được cấu trúc của hệ thống microservices với bên ngoài
Clients sẽ tương tác với hệ thống của chúng ta thông qua api gateway chứ không gọi trực tiếp tới một services cụ thể, các endpoints của những services sẽ chỉ được gọi nội bộ, tức là gọi giữa các services với nhau hoặc được gọi từ API gateway, người sử dụng sẽ gọi những api này thông qua các public endpoints từ API Gateway. vì thế nên cho nên phía client không cần , cũng không thể hiểu được những services phía backend được phân chia ra sao, việc refactor code frontend cũng dễ dàng hơn đối với lập trình viên.
Phần code phía frontend sẽ gọn gàng hơn
Vì không phải tracking nhiều endpoints, tất cả chỉ việc gọi đến api gateway nên phần code frontend sẽ gọn gàng hơn so với việc phải tracking hàng tá endpoints trên từng services một, đặc biệt là khi mà hệ thống ngày một phình to ra.
Xem thêm: Mean Stack là gì? Cách Tạo ứng dụng MEAN Stack với framework MEAN.IO
Dễ dàng theo dõi , quản lý traffic.
Đa phần những hệ thống API gateway rộng rãi hiện nay đều sẽ đi kèm tính năng theo dõi , quan sát cũng như quản lý lượng traffic bằng GUI hoặc thông qua những APIs của hệ thống Gateway, VD như với Kong (bản EE)
Requests caching , cân bằng tải.
API Gateway sẽ kiêm luôn vai trò load balancer của hệ thống, requests sẽ không được gửi trực tiếp đến backend nên sẽ giảm bớt được rủi ro hệ thống bị quá tải.
Thêm một lớp bảo mật nữa cho hệ thống.
API gateway giúp ngăn chặn các cuộc tấn công bằng cách thêm một lớp bảo vệ các kiểu tấn công như ddos, slq injections,…
Thay thế authentication services
API gateway thường hay bổ sung nhiều cơ chế xác thực, chúng ta có khả năng dùng nó để xác thực người dùng luôn, giúp dành dụm thời gian , làm hệ thống chúng ta dễ dàng hơn. VD một vài cơ chế xác thực giúp đỡ bởi Kong API gateway
, rất nhiều điểm tốt nhất khác với tùy loại API Gateway
Điểm không tốt khi dùng API gateway
Tăng thời gian response
Vì phải bước qua server trung gian cho nên việc response sẽ bị trễ hơn so sánh với việc gọi trực tiếp tới hệ thống.
Thêm tác nhân gây lỗi
Để dùng API Gateway thì chúng ta sẽ phải config, rồi thay đổi code, quản lý server gateway, bla bla…Khiến cho chúng ta cộng thêm việc phải lo, chẳng may gateway có lỗi thì requests sẽ chẳng thể tới được phía server.
Có thể gây nghẽn cổ chai
nếu như không nên scale hay config phù hợp thì gateway sẽ có khả năng bị quá tải và làm chậm chạp hệ thống của chúng ta.
Tốn thêm tiền
Tiền server, tiền điện, tiền quan sát cũng như quản lý hệ thống api gateway, với hệ thống lớn cần các chức năng xịn sò thì còn tốn thêm tiền mua bản Enterpise của các api gateway nữa này, tính ra cũng không rẻ chút nào cả.
Lời kết
Hi vọng qua bài đăng trên, các bạn có thể biết được API Gateway là gì, cũng như điểm mạnh và điểm yếu của nó.
Ở bài viết tiếp theo mình sẽ hướng dẫn cách triển khai API Gateway với Kong một cách chi tiết.
Xem thêm: Hướng dẫn Cách lập trình Web với Python hiệu quả mới nhất 2020
Nguồn: https://viblo.asia/