Mikroserwisy a wymiana danych mieszy nimi

0

Jak mozna rozwiazac problem ewentualnej zmiany wymienianego formatu danych pomiedzy dwoma serwisami. Np Mamy mikroserwis A i B, Oba komunikuja sie po SQS jakims jsonem ktory w javie ma pole enum, Teraz idzie nowa wersja apki A a B rzuca error z valueof na tego enuma bo nie ma takiej wartosci. Jak mozna zabezpieczyc sie przed czyms takim, lub tego uniknac ?

2

wersjonowanie API

0

Możesz jeszcze poczytać o graphql

0

SQS i JSON jakoś mało wydajne.

0
AltCtrlDelete napisał(a):

SQS i JSON jakoś mało wydajne.

co to znaczy mało wydajne ? jakiego latency potrzebujesz ? jaki stack ?

EDIT

filemonczyk napisał(a):

Jak mozna rozwiazac problem ewentualnej zmiany wymienianego formatu danych pomiedzy dwoma serwisami. Np Mamy mikroserwis A i B, Oba komunikuja sie po SQS jakims jsonem ktory w javie ma pole enum, Teraz idzie nowa wersja apki A a B rzuca error z valueof na tego enuma bo nie ma takiej wartosci. Jak mozna zabezpieczyc sie przed czyms takim, lub tego uniknac ?

Wiadomość powinna być wersjonowana.

0

Ciekawie można to rozwiązać przez format avro, zamiast json. Jeżeli 2 struktury w avro mają ten sam początek (np. pierwsze pole to "wersja"), to zawsze da się odczytać ten początek. Potem w zależności od tego, co wyczytaliśmy w headerze - rzucamy sobie byte[] na odpowiednią klasę (deserializujemy odpowiednim schematem).

1 użytkowników online, w tym zalogowanych: 0, gości: 1