/ / Zarządzanie wieloma bazami danych - mongodb, haxe, microservices

Zarządzanie wieloma bazami danych - mongodb, haxe, microservices

Obecnie pracuję nad grą wieloosobową, którabędą korzystać z dwóch baz danych (MONGODB). Jeden do uwierzytelniania (logowania) i drugi do przechowywania wszystkich danych specyficznych dla gry. To, co zrobiłem, to oddzielenie danych użytkownika i gry. W ten sposób będę mógł w przyszłości tworzyć mikrousługi wokół użytkownika.

Jestem trochę niepewny, jak obsługiwać / sprawdzać poprawnośćoperacje na bazie danych specyficzne dla gry. Kiedy loguję się do gry, wykonuję żądanie POST do mojego interfejsu API, który sprawdza poprawność użytkownika i zwraca niektóre dane.

Sama gra korzysta jednak z gniazda TCPpołączenie do obsługi gry w czasie rzeczywistym i będzie zapisywać dane dotyczące gry do bazy danych na autorytatywnym serwerze (cała logika gry odbywa się na serwerze). Jak mógłbyś połączyć dane w bazie danych gry z konkretnym użytkownikiem znalezionym w bazie danych uwierzytelniania?

Odpowiedzi:

0 dla odpowiedzi № 1

Teoretycznie najlepszą opcją jest nie udostępnianie danych, a jedynie unikalne identyfikatory (klucze podstawowe).

W praktyce nie należy dzielić danych w ten sposób. Część użytkownika należy do gry, inne części mogą być współużytkowane przez różne gry. Zakładam, że dlatego rozdzieliłeś te dwa.

Zobacz zasadę DDD gry BoundedKonteksty i sposób tworzenia / tworzenia oddzielnych usług w ten sposób. To powiedziawszy, właściwe zdefiniowanie kontekstów ograniczonych jest najtrudniejszą rzeczą w SOA i / lub mikrousługach.