Điểm:0

AWS: APIGateway đa vùng với một điểm cuối

lá cờ us

Tôi đang cố gắng thiết kế một API có tính khả dụng cao. Tôi muốn triển khai API cho nhiều khu vực để tăng độ tin cậy, nhưng để có một URL duy nhất để khách hàng không phải sử dụng nhiều URL. Tôi không quan tâm đến định tuyến địa lý.

Tôi muốn thiết lập APIGateway được triển khai cho nhiều vùng với một điểm cuối duy nhất. Yêu cầu của tôi là chuyển đổi dự phòng nhanh chóng và sẵn sàng.

Tôi có thể nghĩ ra hai cách để thực hiện việc này là sử dụng Route53 để ánh xạ một điểm cuối duy nhất tới các tên DNS APIGateway khu vực có chuyển đổi dự phòng.

Tùy chọn khác là sử dụng Công cụ tăng tốc toàn cầu AWS dịch vụ anycast với ALB trỏ đến Cổng API. Cho rằng toàn bộ DNS có thể được lưu vào bộ đệm bởi các trình duyệt, ứng dụng khách, v.v. thì Trình tăng tốc toàn cầu/anycast có phải là một lựa chọn tốt hơn không?

Tim avatar
lá cờ gp
Tim
Bạn có thể vui lòng xác nhận rằng những gì bạn đang cố gắng thực hiện là triển khai API cho nhiều vùng nhưng có một URL duy nhất cho API đó không? Nếu vậy, tôi khuyên bạn nên chỉnh sửa ngôn ngữ câu hỏi của mình một chút để làm cho nó thực sự rõ ràng.
lá cờ us
@tim Đã cập nhật ngôn ngữ
Tim avatar
lá cờ gp
Tim
Yêu cầu bất thường, tôi tò mò tại sao bạn muốn làm điều đó. Cung cấp thêm chi tiết nghĩa là mọi người có thể giúp giải quyết vấn đề, thay vì chỉ trả lời câu hỏi của bạn. Tôi chưa bao giờ xem xét làm thế nào để làm điều này, nó sẽ mất một chút suy nghĩ.
lá cờ us
Lý do để làm điều này là để các máy khách của điểm cuối không cần biết nhiều điểm cuối API. Nó minh bạch với họ. Tôi có thể thiết kế dịch vụ để có tính khả dụng tốt hơn bằng cách xây dựng ở nhiều khu vực và có chế độ chuyển đổi dự phòng kiểu chủ động-hoạt động.
Tim avatar
lá cờ gp
Tim
Khối lượng công việc của bạn đằng sau cổng API là gì? Các phiên bản Lambda, EC2, v.v.? Đó là âm lượng thấp hay cao?
Điểm:0
lá cờ gp
Tim

Hoạt động triển khai Cổng API thường được trả theo yêu cầu, do đó, việc triển khai tới nhiều khu vực sẽ không tốn thêm bất kỳ chi phí nào. Nếu mặt sau của bạn là lambda thì cũng phải trả tiền cho mỗi lần sử dụng, nhưng nếu mặt sau là EC2 hoặc tương tự thì có thể đắt hơn nếu có nhiều vùng.

Thiết kế ban đầu của tôi sẽ không bao gồm nhiều vùng trừ khi bạn đã gặp phải nhiều lỗi trong một vùng hoặc bạn cần độ tin cậy cực cao - bốn hoặc năm điểm chín.Lỗi của con người có nhiều khả năng làm hỏng hệ thống của bạn hơn là do AWS ngừng hoạt động.

Các cổng API là dự phòng và đáng tin cậy, và mặc dù AWS không hoạt động nhưng điều đó không thường xuyên xảy ra và khi có quá nhiều trang web gặp sự cố thì bạn đang ở trong một công ty tốt. Tuy nhiên, không lý tưởng nếu bạn có SLA chặt chẽ.

Nếu tôi cần tính khả dụng cao/nhiều khu vực, tôi sẽ triển khai cổng và khối lượng công việc cho nhiều khu vực, sau đó trước tiên hãy tìm cách sử dụng Route53 để cung cấp một URL duy nhất cho những API đó. Với R53, bạn có thể sử dụng bất kỳ định tuyến nào bạn muốn như định vị địa lý, độ trễ hoặc chuyển đổi dự phòng. Nếu phần cuối đắt tiền, bạn có thể xem xét mô hình triển khai ánh sáng thử nghiệm hoặc lạnh với định tuyến chuyển đổi dự phòng, nếu hiệu suất hoặc tính khả dụng quan trọng hơn, bạn có thể triển khai cho từng khu vực và sử dụng định tuyến dựa trên địa lý/độ trễ.

lá cờ us
Của chúng tôi là một SLA chặt chẽ và nhiệm vụ triển khai ở 100% các khu vực do tính chất của sản phẩm. Tôi đặc biệt muốn hiểu chuyển đổi dự phòng R53 mang lại lợi thế gì mà định tuyến đa khu vực của Global Accelerator không có

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.