Puncte:0

AWS: Multi-region APIGateway cu un singur punct final

drapel us

Încerc să creez un API foarte disponibil. Aș dori să implementez API-ul în mai multe regiuni pentru a crește fiabilitatea, dar să am o singură adresă URL, astfel încât clienții să nu fie nevoiți să folosească mai multe adrese URL. Nu mă preocupă rutarea geografică.

Aș dori să configurez APIGateway implementat în mai multe regiuni cu un singur punct final. Cerințele mele sunt failover rapid și disponibilitate.

Două moduri în care mă gândesc să fac acest lucru sunt fie să folosesc Route53 pentru a mapa un singur punct final la nume regionale APIGateway DNS cu failover.

Cealaltă opțiune este utilizarea AWS Global Accelerator serviciu anycast cu ALB-uri care indică către API Gateway. Având în vedere că întregurile DNS pot fi stocate în cache de către browsere, clienți etc., este Global accelerator/anycast o opțiune mai bună?

Tim avatar
drapel gp
Tim
Vă rugăm să confirmați că ceea ce încercați să faceți este să implementați un API în mai multe regiuni, dar aveți o singură adresă URL pentru aceasta? Dacă da, vă sugerez să editați ușor limba întrebării dvs. pentru a fi cu adevărat clară.
drapel us
@tim A actualizat limba
Tim avatar
drapel gp
Tim
Cerință neobișnuită, sunt curios de ce vrei să faci asta. A oferi mai multe detalii înseamnă că oamenii pot ajuta la rezolvarea problemei, mai degrabă decât să răspundă doar la întrebarea pe care o ai. Nu m-am gândit niciodată cum să fac asta, ar fi nevoie de un pic de gândire.
drapel us
Motivul pentru a face acest lucru este astfel încât clienții punctului final să nu fie conștienți de mai multe puncte finale API. Este transparent pentru ei. Pot proiecta serviciul pentru a avea o disponibilitate mai bună prin construirea în mai multe regiuni și să am un mod de failover în stil activ-activ.
Tim avatar
drapel gp
Tim
Care este sarcina ta de lucru din spatele gateway-ului API? Lambda, instanțe EC2 etc? Are volum mic sau mare?
Puncte:0
drapel gp
Tim

Implementările API Gateway sunt în general plătite pe cerere, așa că implementarea în mai multe regiuni nu ar trebui să coste nimic în plus. Dacă back-end-ul dvs. este lambda, aceasta este și plata pe utilizare, dar dacă back-end-ul este EC2 sau similar, poate fi mai scump să aveți mai multe regiuni.

Designul meu inițial nu ar include mai multe regiuni decât dacă ați experimentat deja mai multe defecțiuni într-o singură regiune sau aveți nevoie de o fiabilitate extrem de ridicată - patru sau cinci nouă.Este mai probabil ca eroarea umană să vă spargă sistemele decât întreruperile AWS.

Gateway-urile API sunt redundante și fiabile și, în timp ce AWS eșuează, nu este atât de des, iar atunci când o face atât de multe site-uri web sunt dezafectate, ești într-o companie bună. Nu este ideal dacă aveți un SLA strict.

Dacă aș avea nevoie de disponibilitate ridicată/mai multe regiuni, aș implementa gateway-ul și volumul de lucru în mai multe regiuni, apoi aș căuta mai întâi să folosesc Route53 pentru a furniza o singură adresă URL pentru acele API-uri. Cu R53 puteți utiliza orice rutare care vă place geolocalizarea, latența sau failoverul. Dacă back-end-ul este costisitor, ai putea să te uiți la un model de implementare cu lumină rece sau pilot cu rutare de failover, dacă performanța sau disponibilitatea au fost mai importante, poți să le implementezi în fiecare regiune și să folosești rutarea bazată pe geo / latență.

drapel us
Al nostru este un SLA strict și un mandat de implementare în 100% din regiuni, datorită naturii produsului. Am vrut în mod special să înțeleg ce avantaj oferă failover-ul R53 care nu este acoperit de rutarea în mai multe regiuni a Global Accelerator

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.