Выравнивание нагрузки: циклический алгоритм DNS перед аппаратными подсистемами балансировки нагрузки. Как совместно использовать неподвижность?

Я - поклонник языка программирования D. Вот статья Википедии и и введение от официального сайта .

Некоторые отрывки от статьи Википедии:

язык программирования D, также известный просто как D, является объектно-ориентированным, обязательным, системным языком программирования мультипарадигмы Walter Bright из Цифрового Марса. Это произошло как реинжиниринг C++, но даже при том, что это преимущественно под влиянием того языка, это не вариант C++. D перепроектировал некоторые функции C++ и был под влиянием понятий, используемых на других языках программирования, таких как Java, C# и Eiffel. Стабильная версия, 1.0, была выпущена 2 января 2007. Экспериментальная версия, 2.0, была выпущена 17 июня 2007.

на функциях:

D разрабатывается с уроками, извлеченными из практического использования C++, а не с теоретической точки зрения. Даже при том, что это использует много понятий C/C++, которые это также отбрасывает, некоторые, и как таковой не строго обратно совместимы с исходным кодом C/C++. Это добавляет к функциональности C++, также реализовывая дизайн контракта, поблочное тестирование, истинные модули, сборку "мусора", массивы первого класса, ассоциативные массивы, динамические массивы, разрезание массива, вложенные функции, внутренние классы, закрытия [2], анонимные функции, выполнение функции времени компиляции, отложенные вычисления и имеет повторно спроектированный шаблонный синтаксис. D сохраняет способность C++ сделать кодирование низкого уровня и добавляет к нему с поддержкой интегрированного встроенного ассемблера. Множественное наследование C++ заменяется единичным наследованием стиля Java с интерфейсами и mixins. Объявление D, оператор и синтаксис выражения тесно соответствуют объявлению C++.

6
задан Valentino Miazzo 29 September 2009 в 14:02
поделиться

2 ответа

Современные балансировщики нагрузки имеют очень высокую пропускную способность ( гигабит). Поэтому, если вы не используете huuuuuuuuuuge сайт (например, Google), добавление полосы пропускания не является причиной, по которой вам понадобится новая пара балансировщиков нагрузки, тем более что большинство крупных сайтов выгружают большую часть своей полосы пропускания на CDN (сети доставки контента), такие как Akamai. Если вы прокачиваете через свой сайт гигабит данных, не поддерживающих CDN, и у вас еще нет глобальной стратегии балансировки нагрузки, у вас проблемы посерьезнее, чем привязка кеша. : -)

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

Для этого последнего сценария компании, занимающиеся балансировкой нагрузки, предлагают решения для определения местоположения, которые (по крайней мере, несколько лет назад, когда я следил за этим) основывались на пользовательских реализациях DNS, которые смотрели на IP-адреса клиентов и разрешали балансировщик нагрузки объединяет виртуальные IP-адреса, которые являются «ближайшими» (по топологии сети или производительности) к клиенту. В наши дни сети CDN, такие как Akamai, также предлагают услуги глобальной балансировки нагрузки (например, http://www.akamai.com/html/technology/products/gtm.html ). Хостинг Amazon EC2 также поддерживает эту функцию для размещенных там сайтов (см. http://aws.amazon.com/elasticloadbalancing/ ).

Поскольку пользователи, как правило, не перемещаются между континентами в течение одного сеанса, вы автоматически получаете привязку (также известную как «липкость») к географической балансировке нагрузки, предполагая, что ваши пары расположены в разных центрах обработки данных.

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

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

Net-net, на вашем месте я бы не беспокоился о нескольких парах балансировщиков нагрузки. Купите одну пару и, если у вас нет много денег и времени на разработку, станьте партнером хостера, который хороши в поддержании работоспособности сети центра обработки данных.

Тем не менее, если привязка кеша настолько важна для вашего приложения, что вы думаете о том, чтобы выложить большие деньги на несколько пар балансировщиков нагрузки, это может стоит рассмотреть некоторые изменения в архитектуре приложения (например, использование внешнего кластера кэширования). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, я давно не был вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

Тем не менее, если привязка кеша настолько важна для вашего приложения, что вы думаете о том, чтобы потратить большие $ $ $ на несколько пар балансировщиков нагрузки, возможно, стоит рассмотреть некоторые изменения архитектуры приложения (например, использование внешнего кэширующий кластер). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, я давно не был вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

Тем не менее, если привязка кеша настолько важна для вашего приложения, что вы думаете о том, чтобы потратить большие деньги на несколько пар балансировщиков нагрузки, возможно, стоит рассмотреть некоторые изменения архитектуры приложения (например, использование внешнего кэширующий кластер). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, прошло много времени с тех пор, как я был глубоко вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

Если вы думаете о выделении больших долларов на несколько пар балансировщиков нагрузки, возможно, стоит рассмотреть некоторые изменения архитектуры приложения (например, использование внешнего кластера кэширования). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, прошло много времени с тех пор, как я был глубоко вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

Если вы думаете о выделении больших долларов на несколько пар балансировщиков нагрузки, возможно, стоит рассмотреть некоторые изменения архитектуры приложения (например, использование внешнего кластера кэширования). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, прошло много времени с тех пор, как я был глубоко вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

возможно, стоит рассмотреть некоторые изменения в архитектуре приложения (например, использование внешнего кластера кэширования). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, прошло много времени с тех пор, как я был глубоко вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

возможно, стоит рассмотреть некоторые изменения в архитектуре приложения (например, использование внешнего кластера кэширования). Такие решения, как memcached (для Linux), разработаны для этого сценария. У Microsoft также есть один под названием « Velocity ».

В любом случае, надеюсь, что это полезная информация - по общему признанию, прошло много времени с тех пор, как я был глубоко вовлечен в эту область (я был частью команды который разработал продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете получить из Интернета от F5 и других поставщиков LB.

По общему признанию, прошло некоторое время с тех пор, как я был глубоко вовлечен в эту область (я был частью команды, которая разработала продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения, приведенные выше, с фактами, которые вы можете вытащить Интернет от F5 и других поставщиков LB.

По общему признанию, прошло какое-то время с тех пор, как я был глубоко вовлечен в эту область (я был частью команды, которая разработала продукт для балансировки нагрузки приложений для крупного поставщика программного обеспечения), поэтому вы можете дважды проверить мои предположения выше с фактами, которые вы можете вытащить Интернет от F5 и других поставщиков LB.

6
ответ дан 9 December 2019 в 22:36
поделиться

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

Я немного почитал и обнаружил:

Самый верхний LB, такой как этот , можно масштабировать:

  • 200 000 подтверждений SSL в секунду
  • 1 миллион TCP-соединений в секунду
  • 3,2 миллиона HTTP-запросов в секунду
  • 36 Гбит / с пропускной способности TCP или HTTP

Следовательно, вы правы, LB вряд ли может стать узким местом.

В любом случае я нашел эту (старую) статью http://www.tenereillo.com/ GSLBPageOfShame.htm где объясняется, что гео-ориентированный DNS может создать проблемы с доступностью.

Может ли кто-нибудь прокомментировать эту статью?

Спасибо,

Валентино

2
ответ дан 9 December 2019 в 22:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: