Читай API записи, это отдельные сервисы? - PullRequest
2 голосов
/ 04 февраля 2020

Я недавно видел примеры проектирования системы на GitHub repo system-design-primer, и он показывает API чтения / записи. Я пытаюсь реализовать этот один для практики. Схема такая. enter image description here

Он разделяет API чтения и записи, я хочу знать, является ли это логическим разделением или это отдельные серверы.

Хорошо ли разделять их, если операций чтения намного больше, чем записей? и как мы будем направлять только запросы на чтение на этот сервер?

1 Ответ

0 голосов
/ 04 февраля 2020

Проверьте CQRS - https://martinfowler.com/bliki/CQRS.html - кажется, намек на это. Тем не менее, это может быть сложно реализовать на REST-сервисах, если вы собираетесь использовать пуристический REST-подход.

Конечно, если у вас значительно больше операций чтения и записи, существует возможность разделения API, чтобы вы могли масштабировать API чтения по горизонтали. С другой стороны, если вы не масштабируете и базу данных, у вас все равно будет одна точка, в которой могут проявиться проблемы с производительностью. Таким образом, хотя вы можете добавить несколько API-интерфейсов чтения для повышения производительности, вы, вероятно, сможете получить sh одинаковых преимуществ с несколькими примерами решения для кэширования между вашими пользователями сервиса и вашим API.

И чтобы ответить на ваш последний вопрос Что касается того, как вы можете направить все запросы на чтение на один и тот же сервер - вы можете сделать это маршрутизацией на балансировщике нагрузки или шлюзе API на основе метода HTTP (GET, POST и т. д. c.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...