Как серверы для Fogbugz управляют балансировкой нагрузки? - PullRequest
0 голосов
/ 28 октября 2008

Я помню, как слышал, как Джоэл говорит, что у него есть 2 разных места, где расположены серверы, в каждом месте есть 2 сервера переднего плана и 1 сервер заднего плана.

  1. Если один из хостинг-сервисов выходит из строя, как он может переключиться на другой? (Или это просто изменение DNS, для распространения которого потребуется 24-72 часа?).

  2. Как один экземпляр SQL Server может содержать столько баз данных? FB имеет совершенно отдельную базу данных для каждой учетной записи. Я не вижу ни одного экземпляра SQL Server с более чем 200-250 базами данных! И я уверен, что у них больше клиентов, чем это.

Ответы [ 2 ]

1 голос
/ 28 октября 2008

Они говорили об этом в одном из подкастов Stack Overflow, но я не могу найти его в стенограммах.

1) Каждый из двух центров обслуживает примерно 1/2 пользователей. Довольно часто (кажется, Джоэл говорил ежечасно) они отправляют журналы транзакций на другой сайт. Если сайт A выходит из строя, они создают резервные копии базы данных на сайте B и выполняют переключение DNS. Это не будет мгновенным или автоматическим, и при этом они не хотят, чтобы это было, потому что они придумают немного устаревшие данные и хотят избежать этого, если вообще возможно восстановить поврежденный сайт.

Я не уверен, как они справляются с ситуацией с DNS, но вы можете установить TTL для записей DNS на несколько секунд, чтобы ограничить кэширование, и чтобы аварийное переключение происходило очень быстро.

2) Почему бы и нет? Я не уверен в жестком ограничении количества баз данных для каждого экземпляра, но ничто не мешает вам запускать несколько экземпляров SQL Server на вашем компьютере. Я предполагаю, что вы более ограничены аппаратными средствами, чем программными. (Вы также можете запустить Fogbugz с базой данных MySQL).

0 голосов
/ 13 июня 2009

У меня здесь есть несколько вопросов, поэтому я разберусь с ними:

Если один из хостинг-сервисов выходит из строя, как он может переключиться на другой?

Есть несколько способов сделать это, включая зеркальное отображение базы данных (новое в SQL Server 2005), доставку журналов и репликацию. Я записал подкаст для SQL Server с параметрами высокой доступности и аварийного восстановления в SQLServerPedia.

(Или это просто изменение DNS, для распространения которого потребуется 24-72 часа?)

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

Как один экземпляр SQL Server может содержать столько баз данных? FB имеет совершенно отдельную базу данных для каждой учетной записи. Я не вижу ни одного экземпляра SQL Server с более чем 200-250 базами данных! И я уверен, что у них больше клиентов, чем это.

Самый большой SQL Server, с которым я работал, имел более тысячи баз данных, и я поговорил с парой других администраторов баз данных, которые работали в системах с более чем 2000 баз данных на сервере. Это, безусловно, делает управление гораздо более сложным, это точно.

...