4

У меня есть несколько серверов форумов (что они не имеют значения), в которых хранятся сообщения от пользователей, и я хочу иметь возможность разделять запросы между этими серверами. В настоящее время я склоняюсь к их разбиению по географическому положению. Чтобы улучшить локальность данных, пользователи будут разделены на регионы, например. Северной Америке, Южной Америке и т. Д.Разделение запросов в коде между несколькими серверами

Есть ли какой-либо шаблон проектирования о том, как реализовать функцию, которая отображает свойство partioning на сервер, чтобы эта часть кода имела высокую доступность и не стала бы единственной точкой отказа?

f(Region) -> Server IP 

ответ

1

Если вы слушаете Мэтт Малленвег (основатель Wordpress), interviewed by Jason Calacanis in TWiST #26, единственный рецепт для высокой доступности, который работал был «горизонтальное расширение» (т.е. «много и много центров обработки данных на континент», с разница между теми, которые предназначены для небольших блогов (низкий трафик) с меньшим тиражированием на континентах, а также некоторыми посвященными блогам с высоким трафиком).

Итак, нет волшебного решения, кроме как сказать: аппаратное обеспечение дешевле, у вас столько центров обработки данных, сколько вы можете.

Смежные вопросы