GlusterFS используют Георепликацию или нормальный gluster?

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

  • Ресурс может управляться ядром, а приложения для доступа к нему обращаются к ядру.
  • Ресурс может управляться выделенным процессом (сервером), и приложения обращаются к серверу для получения доступа к нему.

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

Теперь все это могло бы уйти в ядро, которое является AFAIK тем, что делает Windows. Преимущество такого подхода в том, что он быстрее (обычно вызов ядра происходит гораздо быстрее, чем обращение к другому процессу), но у него есть и недостаток, заключающийся в том, что он, возможно, открывает дыры в безопасности (любой эксплойт системы - это эксплойт на уровне ядра), и в то же время ограничивает переносимость (система, реализованная в ядре, сильно связана с ядром; вы не сможете легко перенести ее на другую операционную систему, и полностью не сможете этого сделать, если у вас нет доступа к коду ядра).

Если вы не хотите реализовать его в ядре, единственный другой способ реализовать его - это как выделенный процесс, то есть как сервер. Обратите внимание, что сервер, к которому обращаются по именованным каналам, все равно является сервером. Также, при запуске на той же машине, большая часть взаимодействия между сервером X и клиентами происходит в наши дни через разделяемую память; это все еще не меняет того факта, что сервер отображения является сервером.

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

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

1
07.05.2014, 01:23
1 ответ
[1180880] Я предлагаю использовать обычную репликацию gluster, это потому, что гео-репликация полезна по wan2wan сети, в то время как glusterfs хорошо работает по lan2lan или локально[1180881].
0
28.01.2020, 01:56

Теги

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