Масштабирование с помощью Haproxy, Memcached и осколочного PostgreSQL - PullRequest
0 голосов
/ 10 ноября 2019

Я разработал систему для ресторана, получающего миллионы заказов в день, следующим образом.

System Design

Однако я несколько новичок ввесь дизайн системы.

Имеет ли смысл дизайн?

1 Ответ

0 голосов
/ 11 ноября 2019

Дизайн слишком расплывчат, чтобы о нем судить.

Некоторые вопросы, которые вы должны решить:

  • Есть ли какие-либо данные, которые объединяют все шарды?

  • Если да, как эти данные распределяются и поддерживаются согласованными по всем сегментам?

  • Как HAproxy определяет, к какому сегменту следует направлять запрос?

  • Как добавить или удалить осколок?

  • Что произойдет, если осколок упадет?

  • Есть ли у вас какое-то автоматическое переключение на резервные базы данных? Если да, то как вы это делаете?

Предложение memcached: я думаю, что это ошибка кеширования результатов запроса к базе данных. Это обычно вызывает больше проблем, чем решает. Вместо этого хорошо спроектируйте запросы к базе данных.

...