API Gateway trong kiến trúc microservice và ứng dụng sao cho hiệu quả
时间:2025-04-09 13:05:05 出处:Thế giới阅读(143)
![]() |
Khi chọn xây dựng ứng dụng dưới dạng một microservice,ếntrúcmicroservicevàứngdụngsaochohiệuquảâm nay bao nhiêu chúng ta sẽ cần quyết định các client của ứng dụng sẽ tương tác với các microservices đó như thế nào. Với một ứng dụng monolithic, chỉ có một tập hợp các endpoint (thường sẽ được replicated, load balancing). Tuy nhiên, trong kiến trúc microservices, mỗi microservice lại có một tập hợp các endpoint chi tiết. Cùng tìm hiểu điều này ảnh hưởng như thế nào đến việc giao tiếp giữa client và ứng dụng và API Gateway sẽ góp phần giúp giải quyết bài toán ra sao.
Lấy ví dụ bạn đang phát triển một client cho một ứng dụng mua sắm trên mobile. Bạn có thể cần triển khai trang sản phẩm chi tiết để hiển thị thông tin về tất cả các sản phẩm cụ thể mà dịch vụ cung cấp.
Tuy là một ứng dụng dành cho mobile nhưng trang chi tiết sản phẩm lại hiển thị rất nhiều thông tin. Ví dụ: Không chỉ có thông tin cơ bản về sản phẩm (như tên, mô tả và giá) mà trang còn hiển thị: Số lượng mặt hàng trong giỏ hàng; lịch sử đơn hàng; phản hồi của khách hàng; cảnh báo hàng tồn kho thấp; tùy chọn vận chuyển.
Các đề xuất sản phẩm thay thế
Khi sử dụng kiến trúc microservices, dữ liệu hiển thị trên trang sản phẩm nằm trong nhiều microservices khác nhau. Một số microservice sở hữu dữ liệu được hiển thị trên trang sản phẩm trong ví dụ có thể phân thành như sau: Service Giỏ hàng - Số lượng mặt hàng trong giỏ; Service Order - Lịch sử đặt hàng; Service Danh mục - Thông tin cơ bản về sản phẩm như tên, hình ảnh và giá; Service Review - Đánh giá của khách hàng; Service Hàng tồn kho - Cảnh báo hàng tồn kho thấp; Service shipping - Các tùy chọn, thời gian và chi phí vận chuyển được tách riêng từ API của nhà cung cấp dịch vụ vận chuyển; Service Đề xuất - Các mặt hàng được đề xuất.
Chúng ta cần quyết định các client truy cập các dịch vụ này như thế nào.
![]() |
Nếu giao tiếp trực tiếp Client‑to‑Microservice
Trên lý thuyết, một client có thể đưa request trực tiếp cho từng microservice. Mỗi microservice sẽ có một public endpoint. Để lấy thông tin chi tiết về sản phẩm, client gọi trực tiếp đến từng service được liệt kê ở trên qua public endpoint. Nhưng, cách làm này có nhiều thách thức và hạn chế. Đầu tiên là nhu cầu của client và các API của mỗi microservice có thể không khớp với nhau. Client trong ví dụ này phải đưa 7 request riêng biệt. Trong các ứng dụng phức tạp hơn, có thể phải gọi nhiều hơn nữa.
Một vấn đề khác khi client gọi trực tiếp đến các microservice là một số service có thể sử dụng các giao thức không thân thiện với web. Các giao thức như HTTP và WebSocket thường được khuyến nghị sử dụng.
Bên cạnh đó, việc việc tái cấu trúc các microservices, ví dụ như gộp 2 service thành 1 hay tách 1 service thành 2 sẽ cực kỳ khó khăn.
Các thách thức còn đến từ việc lập trình viên sẽ phải phát triển riêng phần Authentication, Authorization cho từng service gây tốn thời gian, gặp nhiều khó khăn, hay chưa có hệ thống monitor, logging cho từng service (latency, tỉ lệ timeout, log truy cập của từng service).
Để phân tích rõ hơn về những khó khăn này, đồng thời đưa ra giải pháp giải quyết hiệu quả hơn từ API Gateway, độc giả hãy tham gia cùng Bizfly Cloud trong buổi Bizfly Expert Talk #36 với chủ đề: ‘’API Gateway trong kiến trúc microservice” diễn ra vào ngày 09/03 tới đây.
![]() |
Tham gia ngay để nhận ngay voucher dùng thử trị giá 500K khi truy cập: https://bit.ly/3MlV1G7
API Gateway được xem là phương pháp có thể giải quyết toàn bộ những khó khăn được đề cập phía trên. API Gateway là một servers (nhóm server) đóng vai trò như là một lối vào/ra duy nhất để truy cập các service. Ngoài nhiệm vụ định tuyến API phù hợp cho từng client, API Gateway có các chức năng như xác thực, giám sát, load balancing, rate limiting, health checks, logging và security.
Cung cấp giải pháp API Gateway được đóng gói sẵn đầu tiên tại Việt Nam, developer sẽ dễ dàng và thuận tiện hơn rất nhiều trong công việc phát triển của mình, doanh nghiệp tiết kiệm được rất nhiều chi phí, rất nhiều giờ công sức cho triển khai, vận hành. Tất cả sẽ được hé lộ trong buổi Talk bổ ích, hấp dẫn từ Bizfly Cloud.
Giới thiệu diễn giả:Anh Phạm Văn Khanh - Product Owner Bizfly API Gateway
Anh đã có nhiều kinh nghiệm trong việc triển khai và vận hành hệ thống API Gateway nội bộ cho mạng quảng cáo Admicro và mạng xã hội Lotus. Có thời điểm hệ thống này phục vụ lượng request lên tới 90,000 request/s.
Bizfly Cloud - vận hành bởi VCCorp - hiện đang là đơn vị tiên phong cung cấp các giải pháp, dịch vụ hạ tầng kỹ thuật, điện toán đám mây hoàn chỉnh cho các doanh nghiệp trên toàn quốc với các khách hàng lớn như VTV, Vingroup, Đất Xanh Miền Bắc, Ahamove, SSI, Sapo, VNDirect.
上一篇: Nhận định, soi kèo Antalyaspor vs Samsunspor, 23h00 ngày 5/4: Điểm tựa sân nhà
下一篇: Nhận định, soi kèo Auckland FC vs Western Sydney Wanderers, 11h00 ngày 5/4: Củng cố ngôi đầu
猜你喜欢
- Nhận định, soi kèo PSG vs Angers, 22h00 ngày 5/4: Khó thắng cách biệt
- Kiều Anh khóc, Nhan Phúc Vinh xúc động khi đoạt Nữ
- Nhan sắc đời thực của nữ diễn viên sinh năm 2000 đóng vai siêu lừa trên phim VTV
- Nhận định, soi kèo Malavan vs Tractor, 21h00 ngày 16/12: Sống trong lo lắng
- Nhận định, soi kèo MU vs Man City, 22h30 ngày 6/4: Cái dớp của Pep
- NSND Xuân Bắc xúc động nhớ đến mẹ khi xem MV mới của Tùng Dương
- Hoa hậu Thiên Ân và dàn á hậu thướt tha trong tà áo 3 miền
- Nhận định, soi kèo Al Ahly SC vs CR Belouizdad, 18h00 ngày 15/12: 3 điểm xa nhà
- Nhận định, soi kèo Western United vs Perth Glory, 14h00 ngày 5/4: Miếng mồi ngon