pdf / 1-intro
.pdfРазработка распределенных систем
Толстокулаков Николай Юрьевич sibnick@gmail.com
Цели и задачи курса
Понятие распределённой системы
J2EE как пример современной среды для разработки распределённых систем
Servlets JSP JSF JDBC JTA EJB JNDI
J2EE Security
....
Определение распределенной системы
Распределенная система — это набор независимых компьютеров, представляющийся их пользователям единой объединенной системой.
Э. ТАНЕНБАУМ «Распределенные системы принципы и парадигмы»
Парадигмы распределенных систем
Распределённые
системы объектов: CORBA, DCOM, J2EE
файловые системы: SMB, NFS, GoogleFS
системы документов WWW, Lotus Notes
системы согласования
Составные части
●Связь — RPC, RMI, Message-Oriented Middleware, потоки данных
●Процессы
●Именование — DNS, LDAP, JNDI
●Синхронизация - синхронизация часов, распределённые транзакции
●Непротиворечивость и репликация
●Защита от сбоев
●Безопасность
Задачи распределённых систем
Соединение пользователей с ресурсами
Прозрачность
Доступ
Местоположение
Перенос
Репликация
Параллельный доступ
Отказ
Сохранность
Открытость
Масштабируемость
Масштабируемость
Аппаратные решения
Мультипроцессоры
Гомогенные мультикомпьютерные системы
Гетерогенные мультикомпьютерные системы
Программные решения
Distributed Operating System
Network Operating System
Middleware
Распределённая файловая система
Удалённый вызов процедур
Распределённые объекты
Распределённые документы
Google Architecture
Linux. Python, Java, C++
450 000 недорогих серверов в 2006 (dual core, 1Gb Ethernet, 4-8 Gb RAM)
8 миллиардов проиндексированных страниц в
2005 году
200 кластеров GFS (до 5000 машин в кластере, до 5000 терабайт в кластере)
Более 10000 MapReduce приложений
Данные о миллиардах URL, сотни терабайт спутниковых снимков, настройки сотен миллионов пользователей
Уровни архитектуры Google
Продукты: search, advertising, email, maps, video, chat, blogger
Distributed Systems Infrastructure: GFS, MapReduce, and BigTable
Платформа: группы серверов расположенные во множестве дата центров по всему миру
Google File System (GFS)
Распределённая файловая система
Высокая надёжность
Масштабируемость на тысячи узлов сети
Большая скорость операций чтения и записи в пределах кластера
Поддержка больших блоков данных
Эффективное распределение нагрузки
впределах кластера