Распределение запросов в коде между несколькими серверами - PullRequest
4 голосов
/ 03 мая 2010

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

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

f( Region ) -> Server IP

1 Ответ

1 голос
/ 03 мая 2010

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

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

...