Прохожу курс "Построение распределенных систем на Java" в третьей лекции где описывается TCPServer вылетает эта ошибка
"Connection cannot be resolved to a type" Java version 1.7.0_05 |
Введение
Мотивация
Зачастую предпочтительнее использовать распределенные системы, а не монолитные, или их использования бывает просто не избежать, в силу ряда причин, некоторые из которых обсуждаются ниже. Следует отметить, что приведенный ниже список далеко не исчерпывающий. Выбор распределенной системы может быть мотивирован более чем одним из аргументов, приведенных ниже. Некоторые из преимуществ могут быть получены как полезный побочный эффект при выборе других причин. Характеристики распределенных систем могут также варьироваться в зависимости от причины их существования.
Обмен информацией.Необходимость обмена данными между различными узлами возросла в шестидесятых годах, когда большинство основных университетов и компаний начали пользоваться своими собственными майнфреймами. Взаимодействие между людьми из различных организаций облегчилось благодаря обмену данными между компьютерами этих организаций, и это дало рост развитию так называемых глобальных сетей ( WAN ). Компьютерная система, соединенная в глобальную сеть, обычно снабжалась всем, что необходимо пользователю: резервными хранилищами данных, дисками, многими прикладными программами и принтерами.
Позже компьютеры стали меньше и дешевле, и сегодня одна организация в большинстве случаев имеет множество компьютеров - часто один компьютер на одного работника (рабочую станцию). В этом случае также требуется, чтобы эти компьютеры были соединены для электронного обмена информацией между персоналом компании.
Разделение ресурсов.Хотя с приходом более дешевых компонентов вычислительной техники стало возможно снабжать каждого сотрудника организации личным компьютером, это не всегда возможно (или целесообразно) делать для других ресурсов (принтеры, резервные хранилища, блоки дисков и т.д.). В этом, меньшем масштабе каждый компьютер может использовать специализированные узлы - серверы, которые снабжают его данными и предоставляют доступ к специализированным ресурсам. Сеть, соединяющая компьютеры в масштабе предприятия, называется локальной вычислительной сетью ( LAN ).
Причины, по которым организация устанавливает сеть небольших компьютеров, а не майнфреймы, - снижение стоимости и расширяемость. Во-первых, меньшие компьютеры имеют лучше соотношение цена/производительность, чем большие компьютеры. Во-вторых, если мощности системы недостаточно, то сеть может быть расширена добавлением других машин (файловых серверов, принтеров и рабочих станций). Если же мощность монолитной системы неудовлетворительна, остается только полная замена.
Большая надежность благодаря репликации.Распределенные системы имеют потенциал надежности больший, чем монолитные системы, благодаря свойству их частичного выхода из строя. Это значит, что некоторые узлы системы могут выйти из строя, в то время как другие по-прежнему функционируют и могут взять на себя задачи испорченных компонентов. Выход из строя монолитного компьютера действует на всю систему целиком, и нет возможности продолжать вычисления в этом случае. По этой причине распределенные архитектуры представляют интерес при разработке высоконадежных компьютерных систем.
Высоконадежная система обычно состоит из нескольких репликационных унипроцессоров, которые исполняют прикладную программу и поддерживаются механизмом голосования, чтобы отфильтровывать результаты вычислений. Правильное функционирование распределенной системы при наличии поврежденных компонент требует довольно сложной алгоритмической поддержки.
Большая производительность благодаря распараллеливанию.Наличие многих процессоров в распределенной системе открывает возможность снижения дополнительного времени для интенсивной работы с помощью разделения работы среди нескольких процессоров.
Разделение для обеспечения параллельного выполнения часто применяется при построении вычислительных систем, предназначенных для решения сложных вычислительных задач. Цель такой распределенной системы - уменьшение времени выполнения задачи.
Большая производительность благодаря балансировке нагрузки.Часто мотивом для создания распределенной системы служит задача увеличения общей пропускной способности системы путем балансировки нагрузки составляющих ее узлов. При этом подходе задача (целиком!!!) попадает на наименее загруженную часть (узел) системы. В качестве примера можно привести одну из систем поиска в Internet, когда запрос пользователя перенаправляется на веб-сервер, наименее загруженный в настоящий момент.
Упрощение разработки благодаря специализации.Разработка компьютерной системы может быть сложной, особенно если требуется значительная функциональность. Разработка может быть зачастую упрощена разбитием системы на модули, каждый из которых отвечает за часть функциональности и взаимодействует с другими модулями.
На уровне одной программы модульность достигается определением абстрактных типов данных и процедур для различных задач. Большая система может быть определена как набор кооперирующих процессов. В обоих случаях модули могут быть исполнены в рамках одного компьютера. Но также возможно иметь локальную сеть с различными типами компьютеров: один снабжен специальным оборудованием для вычислений, другой - графическим оборудованием, третий - дисками и т.д.