Как разработать и проверить распределенные системы?

Так как они вообще носят общий характер, из Википедии:

Термин «пользовательское время ЦП» может сначала немного ввести в заблуждение. Чтобы быть ясным, общее время (реальное время процессора) представляет собой комбинацию времени, затрачиваемого процессором на выполнение некоторых действий для программы, и количества времени, которое процессор тратит на выполнение системных вызовов для ядра от имени программы. Когда программа проходит через массив, она накапливает время CPU пользователя. И наоборот, когда программа выполняет системный вызов, такой как exec или fork, он накапливает системное время CPU.

blockquote>

http://en.wikipedia.org/wiki/Time_ ( Unix) #User_Time_vs_System_Time

16
задан Esko Luontola 7 February 2009 в 17:48
поделиться

5 ответов

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

Здесь некоторые примеры я нашел просвещение:

  • Архитектура eBay : Хорошая история их архитектуры и проблем они имели. Очевидно, они не могут использовать большое кэширование для аукционов и предложений, таким образом, их история отличается в той точке от многих других. По состоянию на 2006 они развертывали 100 000 новых строк кода каждые две недели - и могут откатывать продолжающееся развертывание, если проблемы возникают.

  • Статья о Google File System : Хороший анализ того, в чем они нуждались, как они реализовали его и как он работает в производственном использовании. После чтения этого я нашел это менее страшным для создания частей инфраструктуры сам для встречи точно моих потребностей, при необходимости, и что такое решение может и вероятно должно быть довольно простым и простым. Существует также много интересного материала в сети (включая видео YouTube) на BigTable и MapReduce, других важных частях архитектуры Google.

  • Внутренний MySpace: Один из нескольких действительно огромных сайтов основывается на стеке Microsoft. Можно изучить многое из какой , чтобы не сделать со слоем данных.

А большой запуск для нахождения намного большего количества ресурсов по этой теме раздел Real Life Architectures по "Высокой Масштабируемости" веб-сайт. Например, они хорошая сводка на Амазонки архитектура.

13
ответ дан 30 November 2019 в 17:40
поделиться

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

, две самых популярных книги по распределенным вычислениям, я верю:

1) Распределенные системы: Понятия и Дизайн - George Coulouris и др.

2) Распределенные системы: Принципы и Парадигмы - A.S. Tanenbaum и M. Van Steen

Обе этих книги дают очень хорошее введение в текущие подходы (включая протоколы связи), которые используются для создания успешных распределенных систем. Я лично использовал последнего главным образом, и я нашел, что это превосходный текст. Если Вы думаете, что обзоры на Amazon не очень хороши, потому что большинство читателей сравнивает эту книгу с другими книгами, записанными A.S. Tanenbaum (кто IMO является одним из лучших авторов в области Информатики), которые вполне откровенно лучше записаны.

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

9
ответ дан 30 November 2019 в 17:40
поделиться

Мне понравилась книга Распределенные системы: Принципы и Парадигмы Andrew S. Tanenbaum и Maarten van Steen.

3
ответ дан 30 November 2019 в 17:40
поделиться

На более абстрактном и формальном уровне, Передача и Мобильные системы: Исчисление Пи Robin Milner дает исчисление для проверки систем. Существуют варианты исчисления пи для проверки протоколов, таких как исчисление SPI (страница Википедии, для которой исчез, так как я в последний раз смотрел), и реализации , некоторые из которых являются также инструментами проверки.

2
ответ дан 30 November 2019 в 17:40
поделиться

Одной хорошей книгой является Birman Надежные Распределенные системы , хотя она имеет своих хулителей.

, Если Вы хотите официально проверить свой протокол, Вы могли бы посмотреть на некоторые методы в Lynch Распределенные Алгоритмы .

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

1
ответ дан 30 November 2019 в 17:40
поделиться
Другие вопросы по тегам:

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