2. Что такое распределенная система?
Лесли Лэмпорт
A distributed system is one
in which the failure of a computer
You didn’t even know existed
can render your own computer unusable.
3. Что такое распределенная система?
Хранилища данных:
Google BigTable, Amazon SimpleDB,
Hadoop, Cassandra
множество их, в т.ч. и написаные на Erlang:
Riak, CouchDB
4. Что такое распределенная система?
Сервисы
Google Search, Поиск Яндекса, WhatsApp
множество их, в т.ч. и написаные частично на
Erlang:
Hadoop, Github
6. Что такое распределенная система?
Многопользовательские игры:
World of Warcraft
World of Tanks
Call of Duty Black Ops
7. Зачем их делают?
Хранить данных больше,
чем может поместиться на одной машине
Обрабатывать данных больше,
чем можно обработать на одной машине
Повысить надежность системы
Построить масштабируемую систему,
способную адаптироваться к росту нагрузки
Сервисы, распределенные по своей сути
(CDN -- content delivery network)
12. Что такого особенного в Erlang?
Единый подход и к локальному
и к распределенному программированию
13. Что такого особенного в Erlang?
Процесс:
имеет публичный АПИ
(реагирует на определенные сообщения)
хранит внутри себя состояние (некие данные)
общается с другими процессами,
пользуясь их публичным АПИ
имеет закрытую бизнес-логику
15. Что такого особенного в Erlang?
Приложение:
имеет публичный АПИ
хранит внутри себя данные
общается с другими приложениями,
пользуясь их публичным АПИ
имеет закрытую бизнес-логику
16. Что такого особенного в Erlang?
Узел:
имеет публичный АПИ
хранит внутри себя данные
общается с клиентами
и другими узлами
имеет закрытую бизнес-логику
17. Что такого особенного в Erlang?
Кластер:
имеет публичный АПИ
хранит внутри себя данные
общается с клиентами
имеет закрытую бизнес-логику