Thắc mắc về chức năng của Api Getway và Aggregator service
TIL
720
White

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

Câu hỏi:

Mình có 1 api gateway để điều hướng request và 1 api gateway để tổng hợp kết quả các request trả về client vì mình không muốn client gọi nhìu request khác nhau. Ví dụ khi client xem thông tin chi tiết 1 sản phẩm thì chỉ cần gọi tới api get/product/id, nhưng backend bên trong thì sẽ gọi tới các service product service, rating service, recommend service để lấy và tổng hợp kết quả trả về client.

Hiện tại mình viết thêm controller để tổng hợp kết quả từ các service con hoặc cách 2 là viết thành 1 aggregator service riêng biệt. Nếu trong trường hợp này thì cách nào là tối ưu nhất?

Gợi ý:

  • Aggregator service nó nên được xem như các sevices khác, chỉ có chỗ khác nhau là nó chỉ gọi lại những service khác để tổng hợp lại và cho ra kết quả, và nó không nhất thiết phải có 1 backplane persistent DB.

Hiểu như vậy thì bạn vẫn phải cần cái api gateway để điều hướng (hoặc balance) request. Và cái aggregator service này vẫn phải đứng sau cái api gateway để hứng request được điều hướng tới như những service bình thường khác. Aggregator hoàn toàn không mang bản chất 1 gateway (mặc dù thoáng nhìn qua thấy hơi giống)

  • Nếu Aggregator service có business logic trong đó thì tách phần logic đó ra làm 1 service riêng đứng sau api gateway

  • Mục đích cúi cùng của api gateway chỉ là balance request hoặc authenticate còn logic nên tách biệt ra phần khác

Nguồn bài viết:
https://tech.homestudy.edu.vn/thread/thac-mac-ve-chuc-nang-cua-api-getway-va-aggregator-service/

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.
2 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
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 3 tháng trước
4 5
White
3 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 3 tháng trước
3 0
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 3 tháng 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 1 năm trước
0 4
White
2 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 7 tháng trước
2 0
White
22 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 3 năm trước
22 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
13 bài viết.
2 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á!