6

w mojej firmie, planujemy przenieść nasze rozwiązanie back-end, który jest ogromny monolit, do bardziej seksownego microservices architektury.Szukam API Gateway Technology, które nazywamy wielu microservices

Jak dotąd, mamy oceniać w wielu technologii, a my prawdopodobnie korzystać z infrastruktury AWS z AWS EC2 Container Services (ECS). Nasze mikroserwisy będą pakowane w pojemniki Docker.

Mamy już wdrożone pojemników i skonfigurowano automatycznego skalowania i równoważenie obciążenia. Wszystko działa świetnie.

Jednak szukasz API technologii bramy, która może umożliwić nam zadzwonić wiele microservices tylko jeden wniosek o klienta.

Chodzi o to, aby opracować architekturę, która wygląda jak Netflix One: http://techblog.netflix.com/2013/01/optimizing-netflix-api.html

na przykład:

Jeśli klient (strona internetowa) chce sprowadzić wózek z klientem. Wyśle żądanie pobrania do interfejsu API.

Po pierwsze, chciałbym, że nasza brama nazwać „użytkownik” microservice że powróci informacje o użytkowniku oraz listę produktu id że jego koszyk zawiera:

{ 
    "name": "john", 
    ...., 
    "cart": [1,2,3] 
} 

Następnie, bez bezpośredniego reagowania na klient, brama wywoła mikroserwis "produktu", aby uwodnić Json z informacjami o każdym produkcie.

{ 
    "name": "john", 
    ...., 
    "cart": [ 
     {"id": 1, "name": "Iphone", ...}, 
     {"id": 2, "name": "Ipad", ...}, 
     {"id": 3, "name": "Ipod", ...} 
    ] 
} 

Moje pytanie brzmi: czy znasz fajną technologię, która może wykonać to zadanie?

+0

możesz sprawdzić artykuł, który napisałem, mówi o bramkach API, a także o innych rzeczach, które powinieneś wiedzieć o budowaniu mikroserwisów: https://cloudncode.blog/2016/07/22/msa-getting -started/(disclaimer: to jest link do mojego bloga) –

Odpowiedz

2

byłoby użyć AWS Lambda za to. Niech bramka API wywoła funkcję Lambda. Niech funkcja Lambda wykona opisane powyżej czynności, wywołując usługi ECS, a następnie zwróci ostateczny wynik.